【VBA】シート上のテキストボックスを取得する
相変わらずVBAのツールを開発しています。
ワークシート上のテキストボックスの値を取得したり更新したりするために取得する方法をメモです。
Dim sheet As Worksheet
Dim shape1, shape2 As Shape
' 対象のシートを取得する
Set sheet = Worksheets("Sheet1")
' 対象のテキストボックスを取得する
Set shape1 = sheet.Shapes("TEXTBOX1")
Set shape2 = sheet.Shapes("TEXTBOX2")
' 設定されているテキストを取得する
Debug.Print shape1.TextFrame.Characters(0).Text
シートとテキストボックスの名前を指定することで取得できるようです。
値を取得するのはちょっと面倒で、テキストボックスのオブジェクトからTextFrameプロパティを取得し、さらにCharactersメソッドを使用する必要があるようです。
引数の0は最初から最後の文字まで、ということですね。
こういう簡単そうなところも調べ調べで進めています。
No comments.