TeraTermマクロで、リストボックス[listbox]の使用方法を解説します。
合わせて、実際に機器に接続するサンプルなどもご紹介したいと思います。
リストボックスの使い方
リストボックスの書式と使い方です。
書式
リストボックスの書式です。
listbox <message> <title> <string array> [<selected>]
引数
引数の説明です。
引数 | 型 | 説明 | 省略 |
---|---|---|---|
message | 文字列 | リストボックスに表示されるメッセージ | 不可 |
title | 文字列 | リストボックスのタイトル | 不可 |
string array | 文字列型配列 | リストボックスの選択肢 | 不可 |
selected | 整数値 | 選択肢の初期値(初めから選択されている値) | 可能 |
戻り値
戻り値です。
選択された選択肢に紐づく配列のインデックス番号。 キャンセルされた場合は「-1」。
サンプル
下記のサンプルでは、選択された配列のインデックス番号が戻り値として、システム変数[result]に格納され、メッセージボックスで値が表示されます。
「キャンセル」が選択された場合は、[-1]が[result]に格納され、処理が終了します。
; 配列サイズを定義 strdim hosts 3 ; 接続先を定義 hosts[0] = '接続先1' hosts[1] = '接続先2' hosts[2] = '接続先3' listbox '接続先を選択して下さい。' '接続先の選択' hosts if result != -1 then ; 選択した値の表示 messagebox hosts[result] '選択した値' endif
リンク
使用例:選択したホストに接続する
選択肢から選択したホストに接続するサンプルです。
ユーザー名、パスワード、接続先を適宜修正して使ってもらえればと思います。
; 接続情報 USER = 'ユーザー名' PASS = 'パスワード' ; 配列サイズを定義 strdim hosts 3 ; 接続先を定義 hosts[0] = '接続先1' hosts[1] = '接続先2' hosts[2] = '接続先3' ; リストボックスの表示 listbox '接続先を選択して下さい。' '接続先の選択' hosts ; キャンセルした場合は処理終了 if result == -1 then end endif CMD = hosts[result] strconcat CMD ':22 /ssh /2 /auth=password /user=' strconcat CMD USER strconcat CMD ' /passwd=' strconcat CMD PASS connect CMD end
活用例:接続情報を外部ファイルで管理する
接続先情報を外部ファイルで管理するサンプルです。
以下が、管理ファイルのサンプルです。
管理ファイルのファイル名は「ホスト名.conf」、TeraTermマクロと同じフォルダに格納します。
HOST='接続先のIPアドレスまたはホスト名' USER='接続先のユーザー名' PASS='接続先のパスワード'
以下が、TeraTermマクロのサンプルです。
; 配列サイズを定義 strdim hosts 3 ; 接続先を定義 hosts[0] = '接続先1' hosts[1] = '接続先2' hosts[2] = '接続先3' ; リストボックスの表示 listbox '接続先を選択して下さい。' '接続先の選択' hosts ; キャンセルした場合は処理終了 if result == -1 then end endif ; 設定ファイル名の作成 sprintf2 conf '%s.conf'hosts[result] ; 設定ファイルの読み込み include conf CMD = HOST strconcat CMD ':22 /ssh /2 /auth=password /user=' strconcat CMD USER strconcat CMD ' /passwd=' strconcat CMD PASS connect CMD end
コメント