POPUPMENU関数

本ページには広告が含まれています。

ポップアップメニューを表示し、引数に指定した配列の中から選択された項目の要素番号を取得します。選択された項目を取得したい場合は、POPUPMENUの戻り値を引数に指定した配列の要素番号として指定します。選択をキャンセルした場合-1が返ります。

構文
  1. Integer = POPUPMENU( メニュ項目, X, Y )
引数
メニュ項目 (String)必須
表示メニュ項目を配列変数にて渡す
(サブメニュは { } にて指定: a,b,{c, d},e の場合は c,dがbのサブメニュになる)
X、Y (Integer = マウス位置)省略可
表示位置 X、Y(デフォルトはマウス位置)
戻り値
選択された項目の配列変数位置

使い方

メニュー

ポップアップメニューに表示したい項目を格納した配列を宣言し、POPUPMENU関数の第一引数に指定します。

UWSC
結果
プレーンテキスト

POPUPMENU関数の戻り値は選択した配列にある項目の要素番号なので、戻り値を配列の引数にすると選択した項目を取得することができます。

UWSC
結果
プレーンテキスト

サブメニュー

サブメニューを作成するにはサブメニュー項目の開始位置の先頭に{、終了位置の末尾に}をつけます。

中括弧内がサブメニュー、中括弧開始位置の直前の項目がサブメニューの親となります。また親メニューは選択することができません。

以下の場合、項目1のサブメニューとして項目1-1項目1-2を持つメニューとなります。

以下の場合、POPUPMENU関数の戻り値は1,2,3,4のいずれかになります。項目1は親メニューなので0(配列の1番目)は返りません。

UWSC
結果
プレーンテキスト
サブメニューの{ }を外す

POPUPMENU関数でサブメニューを表す際中括弧({ })で囲む必要がありますが、文字列として扱う際は邪魔になるので正規表現置換で外します。

文字列の先頭に{、末尾に}があれば外すという処理を行っています。

UWSC
UWSC
結果
プレーンテキスト

サブメニューの階層化

サブメニュー内に中括弧を入れ子にすることでサブメニューの項目にさらにサブメニューを作ることができます。

以下は第一階層に地方、第二階層に都道府県、第三階層に都県内の地域をメニュー項目としています。

地方区分は関東・甲信地方の天気 - 日本気象協会 tenki.jpを参考にしています。

POPUPMENU_メニュー階層化
UWSC
結果
プレーンテキスト

プログラム実行例

ポップアップメニューで選択した項目を出力

UWSC
結果
プレーンテキスト
使用関数

ポップアップメニューで選択した項目を出力(サブメニューあり)

UWSC
使用関数

UWSC Debuggerの右クリックメニューをカスタマイズ

UWSC Debuggerの右クリックメニューに不具合があるのでPOPUPMENU関数でカスタマイズしました。

[createLink url="/howto/#schedule-setting" title="スケジュール設定"]で「指定Windowが現れた時」のクラス名に「TFOya」を指定すると、UWSC Debuggerを起動したときにのみ実行することができます。

UWSC
結果
使用関数

関連記事

CALCARRAY関数 (スクリプト関数)
配列データを計算します。
GETALLWIN関数 (スクリプト関数)
全ウィンドウのIDを取得します。
GETOLEITEM関数 (スクリプト関数)
コレクションを取得します。
JOIN関数 (スクリプト関数)
配列の中身を区切り文字で結合し、文字列として返します。
QSORT関数 (スクリプト関数)
配列の中身をソートします。
SETCLEAR関数 (スクリプト関数)
配列を指定された値で埋めます。
SHIFTARRAY関数 (スクリプト関数)
配列データをシフトします。
連想配列
連想配列とは、自動的に割り当てられる数字をキーとして持つかわりに、自由に任意の文字列を割り振ることができる配列のことです。添え字に番号の変わりに名前をつけることでわかりやすく管理することができます。
LENGTH関数 (スクリプト関数)
文字数もしくは配列サイズを返します。
RECOSTATE関数 (スクリプト関数)
音声認識を開始・終了します。