エクセルシートのテキストボックスに文字を入力するには?

解決


SUGI  2004-07-20 19:21:56  No: 114921  IP: [192.*.*.*]

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が有効になっているため
                              出来ませんでした。

編集 削除
魔界の仮面弁士  2004-07-20 21:29:01  No: 114922  IP: [192.*.*.*]

> これはどのような構文を入力したらよろしいのでしょうか?
シェイプ内のテキストは、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が終了せず、残ってしまう原因となります。

編集 削除
SUGI  2004-07-21 09:46:15  No: 114923  IP: [192.*.*.*]

魔界の仮面弁士さん
ご回答頂きありがとうございました。
VB初心者のためまだ構文の意味を理解せずに
やってますが、今後はより深く勉強していきます。

編集 削除