テキストボックスの値なら、TextRangeを使えばいいのではないでしょうか?
以下はワードのヘルプより。
TextRange プロパティ
関連項目対象使用例アプリケーション情報指定したテキスト枠の中のテキストを表す Range オブジェクトを取得します。
expression.TextRange
expression 必ず指定します。TextFrame オブジェクトを表すオブジェクト式を指定します。
使用例
次の使用例は、作業中の文書にテキスト ボックスを追加し、そのテキスト ボックスに文字列を追加します。
Set myTBox = ActiveDocument.Shapes _
.AddTextBox(Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=100, Width:=300, Height:=200)
myTBox.TextFrame.TextRange = ”Test Box”
次の使用例は、作業中の文書の ”テキスト 2” に文字列を追加します。
ActiveDocument.Shapes(”TextBox 1”).TextFrame.TextRange _
.InsertAfter(”New Text”)
次の使用例は、作業中の文書の ”テキスト 2” から文字列を取得し、メッセージ ボックスに表示します。
MsgBox ActiveDocument.Shapes(”TextBox 1”).TextFrame.TextRange.Text
http://www.hatena.ne.jp/1101723012#
人力検索はてな - WordのVBAについて。解決できた場合は500ポイント差し上げます。テキストボックスに配列変数に入っている値を入れて、変数の値をファイル名として保存するという動作を..
次のようなかんじでNameを使って名前を付けてやれば簡単に取り出せます。
Set myTBox = ActiveDocument.Shapes _
.AddTextbox(Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=100, Width:=300, Height:=200)
myTBox.Name = ”Textbox 25”
myTBox.TextFrame.TextRange = ”あいうえお”
MsgBox ActiveDocument.Shapes(”TextBox 25”).TextFrame.TextRange.Text
オートシェイプのテキストボックスではなくてコントロールのテキストボックスを操作しなければならないということを今知りました。これからやってみたいと思います。オートシェイプのテキストボックスはVBAでは操作できないんですかねえ。
テキストボックスがあるところ(コントロールツールボックス)に 紙を手でもっているようなアイコンがあります。
それをクリックすると プロパティが開きます。
プロパティの中にオブジェクト名というのがあります。 そこに あるものを利用してください。
TextBox1とあるならば TextBox1と書きます。
MsgBox ActiveDocument.TextBox1.Text
で 表示されないですか?
根本的なところで勘違いしており解決しました。ありがとうございました。
いいところまで来ていますが
自分で作ったテキストボックスのオブジェクト名(上の例で言うと”TextBox 1”の名称)が取得できず、指定したアイテムがありませんというエラーになってしまいます。どうやってテキストボックスの名称を取得すればよいのでしょうか。