HidemaruMacro.WscLib Version 1.03

はじめに

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

COMコンポーネントといっても、XML と、VBScript、JScriptで構成されています(要はテキストファイル)。

圧縮ファイル内には、以下のファイルが格納されています。

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

内部で .NET Framework の機能を使用しているので、.NET Framework のランタイムライブラリが必要です。 (開発環境は、 .NET Framework 4 になります。)

このCOMコンポーネントを使う方法は2つあります。

レジストリに登録する

この方法では、createobject関数を使うことで使用できます。

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

レジストリに登録するには、管理者権限が必要になります。登録を行った時のパスをレジストリに登録するので、あらかじめファイルを配置してから、登録を行ってください。

配布ファイルに含まれる、「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

レジストリに登録しない

この方法では、getobject関数を使うことで使用できます。createobject関数からは使用できません。

#lib = getobject(@"script:C:\Users\<username>\AppData\Roaming\Hidemaruo\Hidemaru\Macro\HidemaruMacroWscLib.wsc");
注意) "C:\Users\~" 部分は "HidemaruMacroWscLib.wsc"のフルパスを指定してください。

レジストへの登録は不要ですが、“script:”以降にフルパスで指定する必要があります。

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

レジストリに登録した場合は、旧バージョンの登録解除が必用です。

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

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

機能

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

HidemaruMacro.WscLib

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

取得のみ

レジストリ登録あり

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

レジストリ登録なし

#lib = getobject(@"script:C:\Users\~\HidemaruMacroWscLib.wsc");

プロパティ

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");

レジストリ登録なし

#lib = getobject(@"script:C:\Users\~\HidemaruMacroWscLib.wsc");

メインオブジェクトから、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  test2\ttest3\ttest4";
$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プロパティで設定します。

書式
$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");

レジストリ登録なし

#lib = getobject(@"script:C:\Users\~\HidemaruMacroWscLib.wsc");

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

#Date = callmethod_returnobj(#lib, "CreateDate");

プロパティ

Locale
機能

Dateオブジェクトで使用するロケールを指定します。指定する文字列/数値は、ロケール ID (LCID) の一覧を参照してください。

ここで設定した値は、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 + "\n" + $ret2 ;
戻り値
(文字)フォーマットに従った文字列

HidemaruMacro.WscLib.WMI

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

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

レジストリ登録あり

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

レジストリ登録なし

#lib = getobject(@"script:C:\Users\~\HidemaruMacroWscLib.wsc");

メインオブジェクトから、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プロパティで取得できます。
MonitorCount
機能
接続されているモニターの数を返します。(注:環境によっては正常に取得できない場合があります。)
書式

Readonly

取得
#count = getpropnum(#WMI, "MonitorCount");
戻り値
(数値)接続されているモニターの数
その他
基本的には monitorcount キーワードと、同じ値になる。ただし、環境によっては正常な値に取得できない場合があります。

メソッド

GetMonitorWidth
機能
指定されたモニターの幅を返す。
書式
#ret = callmethod_returnnum(#WMI, "GetMonitorWidth", #index);
引数
(数値)モニター番号
戻り値

(数値)指定されたモニターの幅

失敗した場合や、モニター番号が不正な場合は、-1を返す。

GetMonitorHeight
機能
指定されたモニターの高さを返す。
書式
#ret = callmethod_returnnum(#WMI, "GetMonitorHeight", #index);
引数
(数値)モニター番号
戻り値

(数値)指定されたモニターの高さ

失敗した場合や、モニター番号が不正な場合は、-1を返す。

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

(数値)取得したプロセス数

ResultListプロパティで、結果を取得してください。

その他

ResultListプロパティで、取得できる内容

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

2476    iexplore.exe    C:\Program Files\Internet Explorer\iexplore.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:\Program Files\Internet Explorer\iexplore.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:\Windows\System32\cmd.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;
}

HidemaruMacro.WscLib.InputBox

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

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

レジストリ登録あり

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

レジストリ登録なし

#lib = getobject(@"script:C:\Users\~\HidemaruMacroWscLib.wsc");

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

#InputBox = callmethod_returnobj(#lib, "CreateInputBox");

プロパティ

Result
機能
Showメソッドで入力された内容を返します。
書式
取得
$msg = getpropstr(#InputBox, "Result");

メソッド

Show
機能
インプットボックスを表示します。座標が指定された場合は、指定された座標に表示します。
書式
#ret = callmethod_returnnum(#InputBox, "Show", $msg, $title, $default, #x, #y);
引数

(文字)$msg 表示するメッセージ

(文字)$title タイトル文字列

(文字)$default デフォルトで入力しておく内容

(数値)#x ダイアログを表示するx座標

(数値)#y ダイアログを表示するy座標

戻り値
(数値)メソッドの実行に成功した場合は True、失敗した場合は false。
その他
入力された文字列を取得する場合は、Result プロパティを使用すること。

HidemaruMacro.WscLib.MsgBox

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

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

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

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

#MsgBox = callmethod_returnobj(#lib, "CreateMsgBox");

メソッド

Show
機能
メッセージボックスを表示します。
書式
#ret = callmethod_returnnum(#MsgBox, "Show", $msg, $title, #button, #icon, #default);
引数

(文字)$msg 表示するメッセージ

(文字)$title タイトル文字列

(数値)#button 表示するボタン

(数値)#icon 表示するアイコン

(数値)#default デフォルトでアクティブするボタン

戻り値
(数値)選択されたボタンを示す数値を返す。
その他
ボタンやアイコンに関しては、MsgBox Functionを参照してください。

ArrayListオブジェクトについて

HidemaruMacro.WscLib.Stringの、split、Sprintf で使用している、ArrayList の詳細は、 ArrayList クラス (System.Collections) を参照してください。

簡単な説明

内容の取り出し方(内容が全部文字列である事が前提)

  1. Countと Item を使う

    #max = getpropnum(#array, "Count");
    #cnt = 0;
    while(#cnt < #max){
        message getpropstr(#array, "Item", #cnt);
        #cnt = #cnt + 1;
    }
  2. getcollection を使う

    while(true){
        $item = getcollection(#array, 0);
        if(getresultex(11) != 0) break;
        message $item;
    }

注意事項や制限事項など

その他

連絡先

変更履歴

2013/12/21 Version 1.00
2013/12/26 Version 1.01
2013/12/29
2016/04/23 Version 1.02
2017/01/28 Version 1.03
2021/05/05 Version 1.03a