人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WordのVBAについて。解決できた場合は500ポイント差し上げます。テキストボックスに配列変数に入っている値を入れて、変数の値をファイル名として保存するという動作を繰り返したいのですが、マクロ記録時はテキストボックスが選択できないようで、使い方がよく分かりません。EXCELのVBAは使えるので、繰り返しの意味等は理解できるのですが、どなたかWordのVBAで上記を行う方法をご教示いただけませんでしょうか。

●質問者: nsp2
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:VBA Word テキスト ファイル ボックス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sandaler
●500ポイント

http://www.hatena.ne.jp/

はてな

テキストボックスの値なら、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

◎質問者からの返答

いいところまで来ていますが

自分で作ったテキストボックスのオブジェクト名(上の例で言うと”TextBox 1”の名称)が取得できず、指定したアイテムがありませんというエラーになってしまいます。どうやってテキストボックスの名称を取得すればよいのでしょうか。


2 ● sandaler
●0ポイント

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では操作できないんですかねえ。


3 ● きゃづみぃ
●100ポイント

http://www.hatena.ne.jp/awindow?qid=1101723012

テキストボックスがあるところ(コントロールツールボックス)に 紙を手でもっているようなアイコンがあります。

それをクリックすると プロパティが開きます。

プロパティの中にオブジェクト名というのがあります。 そこに あるものを利用してください。

TextBox1とあるならば TextBox1と書きます。

MsgBox ActiveDocument.TextBox1.Text

で 表示されないですか?

◎質問者からの返答

根本的なところで勘違いしており解決しました。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ