文字入力

プログラムの実行中に、「このタイミングで、操作している人(ユーザー)からの入力がほしい」などということが、よくあると思います。入力してもらう関数に、InputBox関数があります。

InputBox関数

ユーザーに入力を求めるときInputBox関数を使用します。フォームを使うまでもない簡単な入力の場合に利用すると良いでしょう。InputBox関数の構文を示します。

[構文]InputBox関数

InputBox(prompt,[title][,default][,xpos][,ypos][,helpfile,context])

構文のカッコにカンマ区切りで表しているのが引数です。[]で囲まれているものは省略可能であることを表します。

引数 概要
prompt ダイアログボックス内にめーセージとして表示する文字を設定
title (省略可)ダイアログボックスのタイトルバーに表示する文字、省略するとアプリケーション名が表示
default (省略可)ユーザーがなにも入れないときに設定する文字列
xpos (省略可)画面の左端から水平方向の距離をTwip単位で設定、省略すると中央へ
ypos (省略可)画面の上端かた垂直方法の距離をTwip単位で設定、省略すると中央へ
helpfile (省略可)使用するヘルプファイルの名前を指定
context (省略可)指定したヘルプファイルのコンテキスト番号を指定

[コラム]ヘルプファイルについて

関数の中に、引数でヘルプファイルを指定できるものがあります。今回のInputBoxのように、ユーザーに何か入力してもらいたい時、「何を入力してほしいか」等の詳細説明を表示したい時がありますが、もう分かっている人に毎回説明文を出すのも煩わしく感じられます。ヘルプファイルを作って設定しておき、必要な時確認してもらうようにすると、効率よく動かすことができます。InputBoxの場合はヘルプファイルを指定するとウインドウの右上に表示される「OK」「キャンセル」の下に「ヘルプ」ボタンが表示されます。ヘルプ ファイルを作成するには、Windows ヘルプ ファイルを作成するための製品またはツールを使用します。

以下例題です。

[リスト10]Rei_InputBox(文字列関数.xlsm)

Sub Rei_InputBox()
    s = "1か2を入力してください"    'Prompt
    t = "InputBoxの例題です"    'Title
    d = "1"                 'Default
    a = InputBox(s, t, d)

End Sub

ダイアログが表示されて、そのまま「OK」ボタンを押すとデフォルト値の"1"が返されますし、なにかしら値を書き換えた場合にはその値が返されます。「キャンセル」ボタンを押すと""を返します。図7は例題の実行画面です。

図7:InputBox関数例題実行画面

まとめ

文字列関数を説明しました。文字コードについても説明しました。人にわかる文字とパソコンにわかる数値とがドッキングすることで、楽しい世界が広がっていくのではないでしょうか。次回は数値、文字以外の組み込み関数について説明していきたいと思います。

WINGSプロジェクト 横塚利津子著/山田祥寛監修
<WINGSプロジェクトについて>テクニカル執筆プロジェクト(代表山田祥寛)。海外記事の翻訳から、主にWeb開発分野の書籍・雑誌/Web記事の執筆、講演等を幅広く手がける。2009年4月時点での登録メンバは30 名で、現在も一緒に執筆をできる有志を募集中。