Home » ワードマクロ・Word VBAの使い方 » Word VBAでInputBox関数を利用する

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2004 ビルド12730.20270 Microsoft Store)

「word vba inputbox からデータを受け取る」
という検索キーワードでアクセスがありました。

Word VBAでInputBox関数の戻り値を利用するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

[スポンサードリンク]

InputBox関数の戻り値をローカルウィドウで確認する

以下のSubプロシージャを実行して、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関数を利用する

「ワードマクロ・Word VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.