VBでエクセルにテキストボックスを追加し、
それに文字を入力させたいのですが、
以下のようにやってみましたが、”このオブジェクトはこのプロパティ、
またはメソッドをサポートしてません"と出ました。
これはどのような構文を入力したらよろしいのでしょうか?
よろしくお願いします。
Dim xlSheet As Excel.Worksheet
Dim myText as Excel.Shape
Set myText = xlSheet.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:=46.5, Top:=5, Width:=100#, Height:=30)
myText.Select
myText.Text = "TEST" ←ここでエラーが発生。
Selection.Text = "TEST"とすると
一回目は出来ますが
2回目以降、Selectionが有効になっているため
出来ませんでした。
> これはどのような構文を入力したらよろしいのでしょうか?
シェイプ内のテキストは、TextFrameオブジェクト内に配置されます。
http://www.microsoft.com/japan/msdn/library/ja/vbaxl10/html/xlobjtextframe.asp
myText.TextFrame.Characters().Text = "TEST"
> Selection.Text = "TEST"とすると
> 一回目は出来ますが
Selectionなどのプロパティは、処理が曖昧になりますので、
あまり使わない方が良いかと思いますよ。
# もし使うにしても、単に「Selection」と書くのではなく、
# Applicationオブジェクトのプロパティとして呼び出さないと、
# Excelが終了せず、残ってしまう原因となります。
魔界の仮面弁士さん
ご回答頂きありがとうございました。
VB初心者のためまだ構文の意味を理解せずに
やってますが、今後はより深く勉強していきます。