本ページには広告が含まれています。
- インプットボックス
- ダイアログ
インプットボックスにメッセージを表示し、ユーザーが入力したテキストを取得することができます。
- 構文
- return = INPUT( 表示メッセージ, デフォルト値, パスワードフラグ, X, Y )
- 引数
- 表示メッセージ
(String)必須
- インプットボックスに表示するメッセージ
- デフォルト値
(String = "")省略可
- デフォルトの値 として表示
- パスワードフラグ
(Boolean = False)省略可
- TRUEにすると文字は全てアスタリスク表示 (デフォルトFALSE)
- X, Y
(Integer)省略可
- 表示位置(デフォルトは中央、-1,-1にて前回位置)
- 戻り値
入力されたデータ(キャンセル時はEMPTY)
ファイルドロップによりファイル名の設定可(複数選択時はタブにて結合される)
- 型
-
- ANSI文字列(AnsiString)
- UNICODE文字列(UString)
使い方
文字列を入力
名前を入力するインプットボックスを表示します。入力された名前はstrに代入され文字列として使用することができ、MSGBOX関数で入力された名前を使ってメッセージを表示します。

何も入力せずにOKを押した場合は空文字列が返り、Cancelまたは☒を押したときはEmptyが戻り値として返ります。
以下はインプットボックスに田中と入力したときの例です。

インプットボックスに入力した文字列をstrで取得し、その名前をMSGBOX関数に表示しています。

ドロップしたファイルパスを取得
ファイルをドロップすることでそのファイルのパスを入力することができます。複数のファイルをドロップした場合は、タブで結合されます。
以下はドロップで入力されたファイル名をタブで分割しarrayで各要素に格納・出力するプログラムです。
入力形式の指定
入力された文字列を正規表現でチェックし、形式が合わない場合は再入力させます。reTest関数 (自作関数)で入力形式のチェックを行っています。
以下は入力値を数値で取得したいので、正規表現は\d+です。
キャンセル時は終了します。
郵便番号のチェックを行う場合000-0000(3桁-4桁)の形式になるので、正規表現に\d{3}-\d{4}を指定します。
デフォルト値
第二引数のデフォルト値を指定すると、インプットボックスを表示したときにデフォルト値を表示することができます。以下のプログラムでは今日の日付をデフォルト値として表示しています。
パスワードフラグ
第三引数のパスワードフラグにTrueを指定すると、入力した文字列が伏せ字になりセキュリティ向上に繋がります。
パスワードフラグがTrueになっているときは半角文字しか入力することができません。メモ帳などで入力した全角の文字列をペーストすることはできます。

伏せ字にはなっていますがGETITEM関数やGETSTR関数では取得することができます。
座標
インプットボックスは基本的に画面中央に表示させるものですが、引数X,Yにインプットボックスを表示する座標を指定することもできます。引数を省略した場合は画面中央に表示されます。両引数に-1を指定した場合のみ前回インプットボックスを表示した位置に表示されます。
以下のプログラムで2回目のインプットボックスは1回目と同じ(x,y)=(10,20)の位置に表示されます。
インプットボックスの座標をx座標,y座標の片方のみを
前回と同じ位置にすることはできません。
以下のように1回目を(x,y)=(10,20)の位置、2回目はx座標にだけ-1を指定し前回値を使うということはできません。以下はx座標の-1が画面外になるので0となり(x,y)=(0,100)の位置に表示されます。
片方のみ前回と同じ位置にしたい場合は、変数を使います。
入力データの型
INPUT関数の戻り値の型は入力されたデータによってANSI文字列、もしくはUNICODE文字列の型で返されます。
半角数字32文字以内であればANSI文字列、それ以外のデータはUNICODE文字列の型となります。
以下は入力されたデータがANSI文字列型かUNICODE文字列型かを調べるプログラムです。キャンセルボタンが押されるまで型を調べ続けます。
- 結果
プログラム実行例
入力された文字列の計算をする
使用関数
- 連想配列 (1行目)
- DIM (2, 3, 6, 10, 12行目)
- ローカル変数を宣言します。
- WHILE文 (5, 6, 7, 8, 9, 10, 11, 12, 13, 14行目 他9行)
- ループ処理を行います。ループの始めに条件判定を行いループ内で条件を変えないと無限ループになります。条件が合わなければ処理は1度も実行されません。最低1度は処理を実行したい場合はREPEAT-UNTIL文を使います。前判定。
- FOR-TO文 (7, 8, 9行目)
- 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文を使います。
- LENGTH関数 (7行目)
- 文字数もしくは配列サイズを返します。
- INPUT関数 (スクリプト関数) (10行目)
- インプットボックスを表示します。
- IFB文 (11行目)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- POS関数 (11行目)
- 文字列内で部分文字列が最初に現れる位置を返します。
- SPLIT関数 (12行目)
- 文字列を区切り、配列を作成します。
- 例外処理 (13行目)
- EVAL関数 (14, 21行目)
- 文字列を評価し値を返します。式や文を文字列として受け取り、実行するための関数です。
- FUKIDASI関数 (16, 20行目)
- メッセージを吹出しに表示します。
- CONTINUE文 (17行目)
- FOR文、WHILE文、REPEAT文でループの先頭に戻ります。
- REPLACE関数 (21行目)
- 指定文字列を置換します。
- IF文 (22行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- BREAK文 (22行目)
- BREAK文はFOR文、WHILE文、REPEAT文のループ内から抜け出したいときに使います。
- 特殊文字 (16行目)
パスワードを生成
パスワードを10個生成します。
結果は実行する度に変わります。
使用関数
- REPEAT文 (1, 2, 3, 4行目)
- ループ処理を行います。ループの終わりに条件判定を行うので、最低1度は処理が実行されます。後判定。
- CHKNUM関数 (4行目)
- 数値かどうかチェックします。
- INPUT関数 (スクリプト関数) (2行目)
- インプットボックスを表示します。
- IF文 (3行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- EXIT文 (3行目)
- 関数を抜けます。
- FOR-TO文 (6, 7, 8, 9, 10, 11, 12, 13, 14, 15行目 他4行)
- 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文を使います。
- DIM (7行目)
- ローカル変数を宣言します。
- SELECT文 (9, 10, 11, 12, 13, 14, 15, 16行目)
- 値を複数条件で比較し条件が一致したところの処理を実行する。
- RANDOM関数 (9, 11, 13, 15行目)
- ランダムな値を返します。
- CHR関数 (スクリプト関数) (11, 13, 15行目)
- 文字コードから文字を返します。
- PRINT文 (18行目)
- UWSC.LOGにログを出力します。
数値から月の異名を求める
使用関数
- DIM (1, 3行目)
- ローカル変数を宣言します。
- INPUT関数 (スクリプト関数) (3行目)
- インプットボックスを表示します。
- IFB文 (5行目)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- reTest関数 (自作関数) (5行目)
- マッチングを行い、マッチしたかどうかを真偽値で返します。
- PRINT文 (6, 8行目)
- UWSC.LOGにログを出力します。
入力した文字列をANSIでエンコードする
デスクトップにフォルダを作成
パス文字列を生成します
指定したフォルダが存在するか
使用関数
- DIM (1, 2行目)
- ローカル変数を宣言します。
- CREATEOLEOBJ関数 (1行目)
- COMオブジェクトを生成します。
- INPUT関数 (スクリプト関数) (2行目)
- インプットボックスを表示します。
- IFB文 (4行目)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- MSGBOX関数 (5, 7行目)
- メッセージボックスを表示します。
指定したファイルが存在するか
使用関数
- DIM (1, 2行目)
- ローカル変数を宣言します。
- CREATEOLEOBJ関数 (1行目)
- COMオブジェクトを生成します。
- INPUT関数 (スクリプト関数) (2行目)
- インプットボックスを表示します。
- IFB文 (4行目)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- MSGBOX関数 (5, 7行目)
- メッセージボックスを表示します。
Googleでの検索結果を取得
入力した文字列をUTF8でURLエンコードする
アラビア数字をローマ数字に変換
使用関数
- 連想配列 (1行目)
- DIM (22, 24, 29行目)
- ローカル変数を宣言します。
- INPUT関数 (スクリプト関数) (24行目)
- インプットボックスを表示します。
- IF文 (27行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- EXIT文 (27行目)
- 関数を抜けます。
- UBound関数 (自作関数) (31行目)
- 配列の上限値(最大インデックス)を求めます。arraynameに配列の名前、dimensionに上限値を求める配列の次元を指定します。
- REPEAT文 (32, 33, 34, 35, 36, 37, 38, 39, 40行目)
- ループ処理を行います。ループの終わりに条件判定を行うので、最低1度は処理が実行されます。後判定。
- SELECT文 (33, 34, 35, 36, 37, 38, 39行目)
- 値を複数条件で比較し条件が一致したところの処理を実行する。
- PRINT文 (42行目)
- UWSC.LOGにログを出力します。
- コメント (26行目)
- プログラムの動作に影響しない注釈を残すことができます。プログラムの内容を説明したり、デバッグや修正のために一時的にコードを無効化ときにも使えます。
指定したドライブの空き容量を取得
使用関数
- DIM (1, 2行目)
- ローカル変数を宣言します。
- CREATEOLEOBJ関数 (1行目)
- COMオブジェクトを生成します。
- INPUT関数 (スクリプト関数) (4行目)
- インプットボックスを表示します。
- IF文 (7行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- COPY関数 (7行目)
- 文字列の一部を切り出します。
- LENGTH関数 (7行目)
- 文字数もしくは配列サイズを返します。
- IFB文 (11行目)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- PRINT文 (12, 18行目)
- UWSC.LOGにログを出力します。
- EXIT文 (13行目)
- 関数を抜けます。
- GETOLEITEM関数 (16行目)
- コレクションを取得します。
- ROUND関数 (18行目)
- 指定した位置で偶数丸めした値を返します。
- POWER関数 (18行目)
- 数値のべき乗(\(\small{Base}^{Exponent}\))を求めます。
- コメント (6, 17行目)
- プログラムの動作に影響しない注釈を残すことができます。プログラムの内容を説明したり、デバッグや修正のために一時的にコードを無効化ときにも使えます。
- 特殊文字 (18行目)
MSGBOXの種別の数値から表示されるボタンを取得
使用関数
- 連想配列 (1行目)
- DIM (11行目)
- ローカル変数を宣言します。
- INPUT関数 (スクリプト関数) (11行目)
- インプットボックスを表示します。
- IF文 (13, 19行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- VAL関数 (13行目)
- 文字列を数値に変換します。
- EXIT文 (13行目)
- 関数を抜けます。
- PRINT文 (15, 16, 19行目)
- UWSC.LOGにログを出力します。
- FOR-TO文 (18, 19, 20行目)
- 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文を使います。
- POWER関数 (19行目)
- 数値のべき乗(\(\small{Base}^{Exponent}\))を求めます。
- MSGBOX関数 (22行目)
- メッセージボックスを表示します。
指定したURLにある外部リンクのURLを取得
指定したパスに新しいフォルダを作成
指定した原子番号から元素記号を出力
使用関数
- DIM (1, 15行目)
- ローカル変数を宣言します。
- REPEAT文 (14, 15, 16, 17行目)
- ループ処理を行います。ループの終わりに条件判定を行うので、最低1度は処理が実行されます。後判定。
- INPUT関数 (スクリプト関数) (15行目)
- インプットボックスを表示します。
- IF文 (16行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB文を使います。
- EXIT文 (16行目)
- 関数を抜けます。
- MSGBOX関数 (19行目)
- メッセージボックスを表示します。
- 行結合 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10行目 他1行)
公開日:
更新日:
関連記事
- ChooseColorA(Comdlg32.dll)
- MSGBOX関数 (スクリプト関数)
- メッセージボックスを表示します。