Excel을 자동화할 때 특정 셀 위에 텍스트 상자 개체를 어떻게 배치합니까?

StackOverflow https://stackoverflow.com/questions/66934

  •  09-06-2019
  •  | 
  •  

문제

우리는 VB.Net을 사용하여 Excel을 자동화하고 있으며 인쇄하지 않도록 설정할 수 있는 Excel 워크시트에 여러 줄의 텍스트를 배치하려고 합니다.이들 사이에는 인쇄 가능한 보고서가 있습니다.텍스트 상자 개체를 추가하고 인쇄 개체 설정을 false로 설정하면 이 작업을 수행할 수 있습니다.(다른 방법이 있으면 알려주세요)

텍스트 상자를 추가하는 코드는 다음과 같습니다.

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 227.25, 304.5, 21#)

하지만 포지셔닝은 포인트 단위입니다.특정 셀 위에 배치하고 셀에 맞게 크기를 조정하는 방법이 필요합니다.어느 셀 위에 놓을지 알면 어떻게 놓을지 알 수 있을까요?

도움이 되었습니까?

해결책

셀 이름이나 위치가 있으면 다음을 수행할 수 있습니다.

With ActiveSheet
  .Shapes.AddTextbox msoTextOrientationHorizontal, .Cells(3,2).Left, .Cells(3,2).Top, .Cells(3,2).Width, .Cells(3,2).Height
End With

그러면 B3 셀 위에 텍스트 상자가 추가됩니다.B3의 크기를 조정하면 텍스트 상자도 크기가 조정됩니다.

다른 팁

텍스트 상자를 복사하여 붙여넣으면 Excel은 현재 선택된 셀 위에 새 텍스트 상자를 배치합니다.따라서 VBA 복사 및 붙여넣기 명령을 사용하면 매우 쉽게 이 작업을 수행할 수 있습니다.이는 텍스트 상자 템플릿을 효과적으로 생성하므로 매우 유사한 텍스트 상자를 많이 사용하려는 경우 특히 유용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top