HidemaruMacro.WscLib Version 1.01

はじめに

Windows スクリプト コンポーネント で作成した、秀丸エディタマクロ用COMコンポーネントです。

COMコンポーネントといっても、XML と、VBScript、JScriptで構成されています。

使用するために必要なこと

このCOMコンポーネントを使う場合には、レジストリに登録が必要です。 登録時、Windows Vista以降では、管理者権限が必要になります。 登録を行った時のパスをレジストリに登録するので、あらかじめファイルを配置してから、登録を行ってください。 また、内部で .NET Framework の機能を使用しているので、.NET Framework のライブラリが必要です。 (開発環境は、 .NET Framework 4 になります。)

配布ファイルに含まれる、「HidemaruMacro.WscLib_setup.vbs」を使うと、管理者権限で起動し、 レジストリへの登録/登録解除が、簡単にできます。 HidemaruMacro.WscLib_setup.vbs と HidemaruMacro.WscLib.wsc が同じ場所にあることを確認し、 HidemaruMacro.WscLib_setup.vbs を実行してください。 登録 or 登録解除 のどちらを行うか問い合わせが表示するので、選択してください。

登録を行った後に、HidemaruMacro.WscLib.wscを移動させないでください。 ファイルを置く場所を変えたい場合は、いったん登録を解除し、ファイルを移動後、 再度登録してください。

手動で行う場合には、管理者権限でコマンドプロンプトを起動し、 以下のコマンドを入力してください。

登録
  regsrv32 HidemaruMacroWscLib.wsc
登録解除
  regsrv32 /u HidemaruMacroWscLib.wsc

バージョンアップについて

旧バージョンの登録解除が必用です。

  1. 旧バージョンを「登録解除」する。
  2. 新しいバージョンを「登録」する。

旧バージョンの「登録解除」を行わない場合、レジストリに古い情報が残されます。 (古い情報が残っていても、特に問題はありません。)

機能

文字列操作用と、日付関連のオブジェクトがあり、各種メソッド、プロパティが実装されています。

HidemaruMacro.WscLib

機能
HidemaruMacro.WscLib メインオブジェクト
書式

取得のみ

#lib = createobject(“HidemaruMacro.WscLib”);

プロパティ

VersionStr
機能
バージョン情報を文字列でかえします。
書式

取得のみ

$ver = getpropstr(#lib, “VersionStr”);

出力例

HidemaruMacro.WscLib Version1.01 Copyright (C) 2013  h-tom
Version
機能
バージョン情報を数値でかえします。
書式

取得のみ

#ver = getpropnum(#lib, "Version");

出力例

101

メソッド

CreateString
機能
HidemaruMacro.WscLib.String オブジェクトの取得
書式
#string = callmethod_returnobj(#lib, “CreateString”);
引数
なし
戻り値
HidemaruMacro.WscLib.String オブジェクト
CreateDate
機能
HidemaruMacro.WscLib.Date オブジェクトの取得
書式
#date = callmethod_returnobj(#lib, “CreateDate”);
引数
なし
戻り値
HidemaruMacro.WscLib.Date オブジェクト
CreateWMI
機能
HidemaruMacro.WscLib.WMI オブジェクトの取得
書式
#WMI = callmethod_returnobj(#lib, “CreateWMI”);
引数
なし
戻り値
HidemaruMacro.WscLib.WMI オブジェクト
CreateInputBox
機能
HidemaruMacro.WscLib.InputBox オブジェクトの取得
書式
#Inputbox = callmethod_returnobj(#lib, “CreateInputBox”);
引数
なし
戻り値
HidemaruMacro.WscLib.InputBox オブジェクト
CreateMsgBox
機能
HidemaruMacro.WscLib.MsgBox オブジェクトの取得
書式
#msgbox = callmethod_returnobj(#lib, “CreateMsgBox”);
引数
なし
戻り値
HidemaruMacro.WscLib.MsgBox オブジェクト
GetArrayListDataType
機能
ArrayListに格納されている内容の種類を、文字列で返す。
書式
$type = callmethod_returnstr(#lib, “GetArrayListDataType”, #arraylist, #n);
引数

#arraylist(オブジェクト)

対象のArrayList オブジェクト

#n(数値)

チェックしたいデータが入っているインデックス

戻り値

(文字)変数の種類を示す文字列。 エラーの場合は、“”を返します。 秀丸マクロから、文字列と数値を入れた場合は、以下の値を返します。

文字列     String
数値       Long
その他

引数に、ArrayListオブジェクト を指定するので、allowobjparam文で、オブジェクトと認識するように設定してください。

allowobjparam 0,1,0;
$type = callmethod_returnstr(#lib, "GetArrayListDataType", #array, #n);

HidemaruMacro.WscLib.String

HidemaruMacro.WscLib.Stringオブジェクトの作成方法

メインオブジェクトを作成

#lib = = createobject("HidemaruMacro.WscLib");

メインオブジェクトから、HidemaruMacro.WscLib.String を取得する

#String = callmethod_returnobj(#lib, "CreateString");

プロパティ

TrimDelimiter
機能
TrimString、LTrimString、RTrimString メソッドで、削除する文字列を指定します。 初期値は" “(スペース)になります。 正規表現の文字クラスも指定可能です。
書式
設定
setpropstr #String, “TrimDelimiter”, “[ \t]”;
取得
$trim = getpropstr(#String, “TrimDelimiter”);

メソッド

ResetDelimiter

:機能 TrimDelimiter プロパティ を初期化する。 :書式 callmethod #String, “ResetDelimiter”; :引 数 なし :戻り値 なし

Split

:機能 文字列を指定された文字列で分解し、ArrayListに格納して返します。 :書式 #ret = callmethod_returnobj(#String, “Split”, $Target, $delimiter); :引数 $target 対象文字列 $dedelimiter 分割する文字列。正規表現も指定可能です。正規表現を使う場合には“/”で囲むこと。 例) $Target = “Test1 test234”; $delimiter = “/\s+/”; #ret = callmethod_returnobj(#String, “Split”, $Target, $delimiter);

:戻り値 (オブジェクト)ArrayListオブジェクト を返します。 :戻り値の取得方法その1 ArrayListオブジェクトの、“Count”、“Item”を使用する方法 #max = getpropnum(#ret, “Count”); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#ret, “Item”, #n); #n = #n + 1; } releaseobject #ret;

:戻り値の取得方法その2 getcollectionを使用し、HRESULT(getresultex(11))で終了を判断する方法 while(true){ $item = getcollection(#ret, 0); if(getresultex(11) != 0) break; $ret[#n] = $item; #n = #n + 1; } releaseobject #ret;

URIDecode

:機能 コード化された URI (Uniform Resource Identifier) のコード化される前のものを返します。 (jscriptのdecodeURI) 引数が有効でない場合、“”を返します。 :書式 $ret = callmethod_returnstr(#String, “URIDecode”, $Target); :引 数 $Target 対象文字列 例) $Target = “%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%3F%2F”; $ret = callmethod_returnstr(#String, “URIDecode”, $Target); message $ret; :戻り値 (文字)変換結果

URIDecode2

:機能 コード化された URI (Uniform Resource Identifier) のコード化される前のものを返します。 (jscriptのdecodeURIComponent) 引数が有効でない場合、“”を返します。 :書式 $ret = callmethod_returnstr(#String, “URIDecode2”, $Target); :引数 $Target 対象文字列 例) $Target = “%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%3F%2F”; $ret = callmethod_returnstr(#String, “URIDecode2”, $Target); message $ret; :戻り値 (文字)変換結果

URIEncode

:機能 文字列を有効な URI (Uniform Resource Identifier) としてコード化します。 「:」、「/」、「;」、「?」の各文字はコード化されません。 (jscriptのencodeURI) 引数が有効でない場合、“”を返します。 :書式 $ret = callmethod_returnstr(#String, “URIEncode”, $Target); :引数 $Target 対象文字列 例) $Target = “秀丸エディタ?”; $ret = callmethod_returnstr(#String, “URIEncode”, $Target); message $ret; :戻り値 (文字)変換結果

URIEncode2

:機能 文字列を有効な URI (Uniform Resource Identifier) としてコード化します。 (jscriptのencodeURIComponent) 引数が有効でない場合、“”を返します。 :書式 $ret = callmethod_returnstr(#String, “URIEncode2”, $Target); :引数 $Target 対象文字列 例) $Target = “秀丸エディタ?”; $ret = callmethod_returnstr(#String, “URIEncode2”, $Target); message $ret; :戻り値 (文字)変換結果

TrimString、LTrimString、RTrimString

:機能 文字列から、指定された文字を、先頭、末尾、先頭と末尾、から削除します。 削除する文字は、TrimDelimiterプロパティで設定します。 * TrimString 先頭と末尾 * LTrimString 先頭のみ * RTrimString 末尾のみ :書式 $ret = callmethod_returnstr(#String, “TrimString”, $Target);

$ret = callmethod_returnstr(#String, “LTrimString”, $Target);

$ret = callmethod_returnstr(#String, “RTrimString”, $Target); :引数 $Target 対象文字列 :戻り値 (文字)変換結果

Sprintf

:機能 引数を、書式文字列に従って変換した文字列を返す。 :書式 $str = callmethod_returnstr(#String, “Sprintf”, $formatstring, #arraylist);

$str = callmethod_returnstr(#String, “Sprintf”, $formatstring, #num);

$str = callmethod_returnstr(#String, “Sprintf”, $formatstring, $str); :引数 $formatstring フォーマット文字列 %[flags] [width] [.precision]type

type
  d,x,X,s しか指定できません。
flags(-,+,0, ,#)
  -  :指定されたフィールド幅に結果を左詰めで出力します。 
  +  :出力値が符号付きの場合は、出力値の前に符号 (+ または -) を付けます。
  0  :width の前に 0 を付けると、最小幅になるまで 0 が追加されます。
      0 と - が出力される場合、0 は無視されます。
      整数書式 (x、X、d) と一緒に 0 を指定し、精度も指定する場合 (%04.d など)、0 は無視されます。 
  ' '空白文字:出力値が符号付き正数の場合は、出力値の前に空白を付けます。
      空白フラグと + フラグの両方を指定すると、空白フラグは無視されます。
  #  :x、または X 書式と一緒に使用すると、0 以外のすべての出力値の前にそれぞれ 0、0x、または 0X が付きます。
  
width
  出力する最小文字数を指定します。"*"には対応していません。

precision
  s    :表示する最大文字数、
  d,x,X:整数値として表示する最小桁数を指定します。

$str 、#num または #arraylist 変換対象 変数が一つの場合は、文字、数字のどちらかを指定すること。 複数の引数を指定する場合は、Arraylistオブジェクトに入れて指定すること。

例)

変換する引数が、文字列の場合 $str = callmethod_returnstr(#String, “–>%10s<–”, “秀丸エディタ”); 変換する引数が、数字の場合 $str = callmethod_returnstr(#String, “–>%10d<–”, 12345); 変換する引数が、複数の場合 #array = createobject(“System.Collections.ArrayList”); callmethod #array, “Add”, “a”; callmethod #array, “Add”, “c”; callmethod #array, “Add”, “b”; callmethod #array, “Add”, 100; allowobjparam 0,0,1; //2番目の引数(#array)をオブジェクトとして渡す指示 $str = callmethod_returnstr(#String, “Sprintf”, “–>%5s:%10s:%s:%-10d<–”, #array); :戻り値 (文字)変換結果

HidemaruMacro.WscLib.Date

:HidemaruMacro.WscLib.Dateオブジェクトの作成方法 メインオブジェクトを作成 #lib = = createobject(“HidemaruMacro.WscLib”); メインオブジェクトから、HidemaruMacro.WscLib.Date を取得する #Date = callmethod_returnobj(#lib, “CreateDate”); ####プロパティ #####Locale :機能 Dateオブジェクトで使用するロケールを指定します。 指定する文字列/数値は、ロケール ID (LCID) の一覧|URL:https://msdn.microsoft.com/ja-jp/library/cc392381.aspx{target=“_blank“} を参照してください。 * 設定する場合は、数値、文字列、どちらでも可能です。 * 取得する場合は、数値で行ってください。 ここで設定した値は、HidemaruMacro.WscLib.Date 全体に影響します。

:書式 :設定 setpropstr #Date, “Locale”, “en-us”; setpropnum #Date, “Locale”, 1033; :取得 #locale = getpropnum(#Date, “Locale”);

メソッド

ResetLocale

:機能 Locale設定をデフォルトに戻し、デフォルトのロケール値を返します。 :書式 #ret = callmethod_returnnum(#Date, “ResetLocale”); :引数 なし :戻り値 (数値)現在のロケール値

Date_Add

:機能 指定された時間間隔を加算した日付を返します。 :書式 $ret = callmethod_returnstr(Date, “Date_Add”, $intervalstr, #number, $datestr); :引数 $intervalstr 加算する文字間隔を示す文字列。 yyyy 年 q 四半期 m 月 y 年間通算日 d 日 w 週日 ww 週 h 時 n 分 s 秒 #number 間隔 $datestr 日付を示す文字列 例) $intervalstr = “m”; #number = 1; $datestr = “2013/01/31”; $ret = callmethod_returnstr(Date, “Date_Add”, $intervalstr, #number, $datestr); message $ret; // –> 13/02/28(木) 00:00:00 :戻り値 (文字)日時

WeekdayLongName

:機能 指定された曜日を表す長い文字列を返します。 :書式 $ret = callmethod_returnstr(Date, “WeekdayLongName”, #number); :引数 #number 曜日を示す数値(秀丸マクロの dayofweeknum キーワード) 例) #number = dayofweeknum; $ret = callmethod_returnstr(Date, “WeekdayLongName”, #number); message $ret; // –> 日曜日

setpropstr #Date, “Locale”, “en-us”; $ret = callmethod_returnstr(Date, “WeekdayLongName”, #number); message $ret; // –> Sunday :戻り値 (文字)曜日を表す文字列

WeekdayShortName

:機能 指定された曜日を表す短い文字列を返します。 :書式 $ret = callmethod_returnstr(Date, “WeekdayShortName”, #number); :引数 #number 曜日を示す数値(秀丸マクロの dayofweeknum キーワード) 例) #number = dayofweeknum; $ret = callmethod_returnstr(Date, “WeekdayShortName”, #number); message $ret; // –> 日

setpropstr #Date, “Locale”, “en-us”; $ret = callmethod_returnstr(Date, “WeekdayShortName”, #number); message $ret; // –> Sun :戻り値 (文字)曜日を表す文字列

MonthLongName

:機能 指定された月を表す長い文字列を返します。 :書式 $ret = callmethod_returnstr(Date, “MonthLongName”, #number); :引数 #number 月を示す数値(秀丸マクロの month キーワード) 例) #number = val(month); $ret = callmethod_returnstr(Date, “MonthLongName”, #number); message $ret; // –> 1月

setpropstr #Date, "Locale", "en-us";
$ret = callmethod_returnstr(Date, "MonthLongName", #number);
message $ret; // --> January

:戻り値 (文字)月を表す文字列

MonthShortName

:機能 指定された月を表す長い文字列を返します。 ロケールが “ja”/1041 の場合には、和風月名を返します。 :書式 $ret = callmethod_returnstr(Date, “MonthShortName”, #number); :引数 #number 月を示す数値(秀丸マクロの month キーワード) 例) #number = val(month); $ret = callmethod_returnstr(Date, “MonthShortName”, #number); message $ret; // –> 睦月

setpropstr #Date, "Locale", "en-us";
$ret = callmethod_returnstr(Date, "MonthShortName", #number);
message $ret; // --> Jan

:戻り値 (文字)月を表す文字列

StrfTime

:機能 指定された日時を、現在のロケールに従い指定されたフォーマットの文字列にして返します。 ロケール設定は Locale プロパティに従います。 :書式 $ret = callmethod_returnstr(#Date, “StrfTime”, $Format, $Datestr);

:引 数 $Format フォーマット文字列、以下のフォーマット文字列が指定可能です。 %a 短い曜日(Sun) %A 長い曜日(Sunday) %b 短い月 (Jan) %B 長い月 (January) %d 十進数2桁の日付 %H 24時間制の2桁の時間 %h 12時間制の2桁の時間(1~12時) %i 12時間制の2桁の時間(0~11時) %m 2桁の月 %M 2桁の時間 %p 指定した時刻に応じた’AM’ あるいは ‘PM’ %S 2桁の秒 %y 西暦の末尾2桁 %Y 西暦 %% “%”という文字 %ka jaロケールでの短い曜日 %kA jaロケールでの長い曜日 %kB 和風月名 %kp 指定した時刻に応じた’午前’ あるいは ‘午後’ %ea en-usロケールの短い曜日 %eA en-usロケールの長い曜日 %eb en-usロケールの短い月 %eB en-usロケールの長い月 $Datestr 日時を示す文字列。“now” を指定すると、現在日時を指定します。

例) setpropstr #Date, “Locale”, “ja”; $ret1 = callmethod_returnstr(#Date, “StrfTime”, “%Y/%m/%d(%a) %H:%M:%S”, “2013/12/10 12:00:00”); setpropstr #Date, “Locale”, “en-us”; $ret2 = callmethod_returnstr(#Date, “StrfTime”, “%Y/%m/%d(%a) %H:%M:%S”, “2013/12/10 12:00:00”); message $ret1 + “” + $ret2 ; :戻り値 (文字)フォーマットに従った文字列

HidemaruMacro.WscLib.WMI

:HidemaruMacro.WscLib.WMIオブジェクトの作成方法 メインオブジェクトを作成 #lib = = createobject(“HidemaruMacro.WscLib”); メインオブジェクトから、HidemaruMacro.WscLib.WMI を取得する #DWMI = callmethod_returnobj(#lib, “CreateWMI”); ####プロパティ #####ResultList :機能 HidemaruMacro.WscLib.WMI オブジェクトの各種メソッドの戻り値を取得する。 :書式 Readonly :取得 $ret = getpropstr(#WMI, “ResultList”, #n); :引数 (数値)配列のIndex値 :戻り値 (文字)各メソッドを参照のこと

ResultListMax

:機能 HidemaruMacro.WscLib.WMI オブジェクトの各種メソッドの戻り値の数を取得する。 (現在保有している戻り値の数) :書式 Readonly :取得 #max = getpropnum(#WMI, “ResultListMax”); :戻り値 (数値)戻り値の数 :その他 基本的には各メソッドの戻り値と、同じ値になる。 ProcessTerminate メソッドの戻り値は、正常に終了したプロセス数になります。 実際に終了しようとしたプロセス数は、ResultListMaxプロパティで取得できます。

メソッド

GetProcessList

:機能 実行中のプロセス一覧を取得する :書式 #ret = callmethod_returnnum(#WMI, “GetProcessList”); :引数 なし :戻り値 (数値)取得したプロセス数

ResultListプロパティで、結果を取得してください。 :その他 ResultListプロパティで、取得できる内容

タブ区切りで、プロセスID、キャプション名、フルパスが格納されています。 2476 iexplore.exe C:FilesExplorer.exe

戻り値の取得方法 #max = callmethod_returnnum(#WMI, “GetProcessList”); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#WMI, “ResultList”, #n); #n = #n + 1; }

GetProcessListWithCaption

:機能 指定されたキャプションを持つ、プロセス一覧を取得する :書式 #ret = callmethod_returnnum(#WMI, “GetProcessListWithCaption”, “hidemaru.exe”); :引数 (文字) キャプション :戻り値 (数値)取得したプロセス数、エラーの場合は、-1 を返す。

ResultListプロパティで、結果を取得してください。 :その他 ResultListプロパティで、取得できる内容

タブ区切りで、プロセスID、キャプション名、フルパスが格納されています。 2476 iexplore.exe C:FilesExplorer.exe

戻り値の取得方法 #max = callmethod_returnnum(#WMI, “GetProcessListWithCaption”, “hidemaru.exe”); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#WMI, “ResultList”, #n); #n = #n + 1; }

ProcessTerminate

:機能 指定されたプロセスID または、キャプション、フルパスを持つ、プロセスを終了する。 :書式 #ret = callmethod_returnnum(#WMI, “ProcessTerminate”, $Target); :引数 (文字) プロセスID 、キャプション、フルパス のどれか一つ。 数値のみの場合(IsNumeric がtrue )は、プロセスID、 パスの区切りである、“"が含まれる場合は、フルパス、 その他は、キャプションとして処理します。

:戻り値 (数値)正常に終了したプロセス数

ProcessTerminate メソッドの戻り値は、正常に終了したプロセス数になります。 実際に終了しようとしたプロセス数は、ResultListMaxプロパティで取得できます。 :その他 ResultListプロパティで、取得できる内容

タブ区切りで、プロセスID、キャプション名、フルパス、終了コードが格納されています。 5140 cmd.exe C:32.exe 0x0

戻り値の取得方法 #ret = callmethod_returnnum(#WMI, “ProcessTerminate”, “cmd.exe”); #max = getpropnum(#WMI, “ResultListMax”); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#WMI, “ResultList”, #n); #n = #n + 1; }

RegEnumKey

:機能 指定されたレジストリの、サブキーの一覧を取得する :書式 #ret = callmethod_returnnum(#WMI, “RegEnumKey”, $RegRoot, $key); :引数 (文字) $RegRoot 以下のどれかを指定すること。 “CLASSESROOT” :HKEY_CLASSES_ROOT “CURRENTUSER” :HKEY_CURRENT_USER “LOCALMACHINE”:HKEY_LOCAL_MACHINE “USERS” :HKEY_USERS

(文字) $Key レジストリキーの位置

:戻り値 (数値)サブキーの数、エラーの場合は、-1 を返す。

ResultListプロパティで、結果を取得してください。 :その他 戻り値の取得方法 #max = callmethod_returnnum(#WMI, “RegEnumKey”, $RegRoot, $key); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#WMI, “ResultList”, #n); #n = #n + 1; }

RegEnumKeyValue

:機能 指定されたレジストリの値名とデータの種類一覧を出力する :書式 #ret = callmethod_returnnum(#WMI, “RegEnumKeyValue”, $RegRoot, $key); :引数 (文字) $RegRoot 以下のどれかを指定すること。 “CLASSESROOT” :HKEY_CLASSES_ROOT “CURRENTUSER” :HKEY_CURRENT_USER “LOCALMACHINE”:HKEY_LOCAL_MACHINE “USERS” :HKEY_USERS

(文字) $Key レジストリキーの位置

:戻り値 (数値)値の数、エラーの場合は、-1 を返す。

ResultListプロパティで、結果を取得してください。 :その他 内容は文字列で、指定されたレジストリキーの値名とデータの種類をタブ区切りで返します。 header 1

データの種類は、以下のとなります。 1 REG_SZ 文字列 2 REG_EXPAND_SZ 呼び出されたときに置き換えられる環境変数を含む文字列 3 REG_BINARY バイナリデータ 4 REG_DWORD 数値 5 REG_MULTI_SZ 複数行の文字列

戻り値の取得方法 #max = callmethod_returnnum(#WMI, “RegEnumKey”, $RegRoot, $key); #n = 0; while(#n < #max){ $ret[#n] = getpropstr(#WMI, “ResultList”, #n); #n = #n + 1; }

ArrayListオブジェクトについて

HidemaruMacro.WscLib.Stringの、split、Sprintf で使用している、ArrayList の詳細は、 “ArrayList クラス (System.Collections)”|URL:https://msdn.microsoft.com/ja-jp/library/system.collections.arraylist(v=vs.100).aspx{target=“_blank“} を参照してください。

簡単な説明 * オブジェクトの生成 :書式 #array = createobject(“System.Collections.ArrayList”); :プロパティ :Item 指定したインデックスの内容を取得。

 文字列
   $ret = getpropstr(#array, "Item", #n);
 数値
   #ret = getpropnum(#array, "Item", #n);
 引数 #n は インデックス。
   
 戻り値は、格納されている内容によって異なるが、秀丸マクロ側から、
 何が格納されているか判定はできない。
:Count
  格納されている要素の数を取得。
    #ret = getpropnum(#array, "Count");

:メソッド :add 要素の追加。数値、文字列、オブジェクトを追加可能。

 文字列の追加
   callmethod #array, "Add", $str;
 数値の追加
   callmethod #array, "Add", #num;
:Clear
 全ての要素を削除
    callmethod #array, "Clear";

内容の取り出し方(内容が全部文字列である事が前提) (1) Countと Item を使う #max = getpropnum(#array, “Count”); #cnt = 0; while(#cnt < #max){ message getpropstr(#array, “Item”, #cnt); #cnt = #cnt + 1; }

  1. getcollection を使う while(true){ $item = getcollection(#array, 0); if(getresultex(11) != 0) break; message $item; } ##注意事項や制限事項など

その他

連絡先