「word vba inputbox からデータを受け取る」
という検索キーワードでアクセスがありました。
Word VBAでInputBox関数の戻り値を利用するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。
InputBox関数の戻り値をローカルウィドウで確認する
以下のSubプロシージャを実行して、InputBox関数の戻り値が単なる文字列であることを確認しましょう。Dim txt As String
txt = InputBox("文字列を入力してください。")
Stop
End Sub
上記のSubプロシージャを実行すると、「文字列を入力してください。」というメッセージのインプットボックスが表示されます。
インプットボックスで何らかの文字列を入力して[OK]ボタンを押すと、Stopステートメントで中断しますから、拙著『いちばんやさしいExcel VBAの教本』でも繰り返し行っているように、ローカルウィドウを使って変数に文字列が格納されている様子を確認しましょう。
上図は表示されたインプットボックスで「サンプル」と入力した例です。
InputBoxは文字列を返すだけのVBA関数
InputBox関数はVBAの関数で、Excel VBAでもAccess VBAでも使い方は同じです。インプットボックスで入力された文字列を返すだけです。ですから、上記のSubプロシージャでは、InputBox関数の戻り値を代入する変数txtを
Dim txt As String
と、String型で宣言しています。
入力された文字列をどう使いたいのかによって、この後のコードは異なってきます。
例えば、
Dim txt As String
txt = InputBox("文字列を入力してください。")
ActiveDocument.Range(0, 0).Text = txt
というコードならば、アクティブ文書の先頭に、入力した文字列が挿入されます。
あるいは、
Dim txt As String
txt = InputBox("文字列を入力してください。")
Selection.Text = txt
とすれば、カーソルのあった場所に、入力した文字列が挿入されます。
これら
ActiveDocument.Range(0, 0).Text = txt
や、
Selection.Text = txt
の部分が、いわゆるWord VBAのコードです。
先のSubプロシージャでも使っていた、
Dim txt As String
txt = InputBox("文字列を入力してください。")
の部分は、純粋なVBAのコードで、Word VBAでも、Excel VBAでも、Access VBAでも同じです。
最終更新日時:2020-06-20 18:14
Home » ワードマクロ・Word VBAの使い方 » Word VBAでInputBox関数を利用する