ポップアップメニューを表示し、引数に指定した配列の中から選択された項目の要素番号を取得します。選択された項目を取得したい場合は、POPUPMENUの戻り値を引数に指定した配列の要素番号として指定します。選択をキャンセルした場合-1が返ります。
- 構文
- Integer = POPUPMENU( メニュ項目, X, Y )
- 引数
- メニュ項目 (String)必須
- 表示メニュ項目を配列変数にて渡す
(サブメニュは { } にて指定: a,b,{c, d},e の場合は c,dがbのサブメニュになる) - X、Y (Integer = マウス位置)省略可
- 表示位置 X、Y(デフォルトはマウス位置)
- 戻り値
- 選択された項目の配列変数位置
使い方
メニュー
ポップアップメニューに表示したい項目を格納した配列を宣言し、POPUPMENU関数の第一引数に指定します。
- 結果
POPUPMENU関数の戻り値は選択した配列にある項目の要素番号なので、戻り値を配列の引数にすると選択した項目を取得することができます。
- 結果
サブメニュー
サブメニューを作成するにはサブメニュー項目の開始位置の先頭に{、終了位置の末尾に}をつけます。
中括弧内がサブメニュー、中括弧開始位置の直前の項目がサブメニューの親となります。また親メニューは選択することができません。
以下の場合、項目1のサブメニューとして項目1-1、項目1-2を持つメニューとなります。
以下の場合、POPUPMENU関数の戻り値は1,2,3,4のいずれかになります。項目1は親メニューなので0(配列の1番目)は返りません。
- 結果
サブメニューの{ }を外す
POPUPMENU関数でサブメニューを表す際中括弧({ })で囲む必要がありますが、文字列として扱う際は邪魔になるので正規表現置換で外します。
文字列の先頭に{、末尾に}があれば外すという処理を行っています。
- 結果
サブメニューの階層化
サブメニュー内に中括弧を入れ子にすることでサブメニューの項目にさらにサブメニューを作ることができます。
以下は第一階層に地方、第二階層に都道府県、第三階層に都県内の地域をメニュー項目としています。
地方区分は関東・甲信地方の天気 - 日本気象協会 tenki.jpを参考にしています。
- 結果

