【TeraTermマクロ】リストボックス[listbox]の使い方と活用例


この記事はプロモーションを含みます。

Linux

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

コメント

タイトルとURLをコピーしました