











001 INIT 002 ! BMI(肥満度指数)の計算 003 ! 004 ! マクロコードをEXCELに追加して 005 ! マクロ(BMI)を実行します。 006 ! 007 手動停止オフ 008 ! 009 XLOpen // 空のブックを開く 010 XLAddMacro // マクロコードを追加 011 XLRunMacro // マクロ(BMI)を実行 012 ! 013 MSG_BOX 014 If %MsgBox% = 6 015 XLClose 016 End-If 017 QUITコードの使用方法
001 !
002 ! 指定秒数待機
003 !
004 Set // 現在の日時
005 Set // 待機秒数 既定値
006 !
007 INPUT_BOX // 待機秒数入力 待機秒数 %s%
008 Jump //キャンセル %s% == "" END
009 !
010 Set // 予定日時 +n秒後 予定日時 dateserial(year(%d%),month(%d%),day(%d%),hour(%d%),minute(%d%),second(%d%)+%s%)
011 !
012 WaitIf // 現在日時<予定日時 の間待機 now()<%予定日時%
013 MSG_BOX ちょうど時間となりました。
014 END
!
! 十秒後まで待つ
!
Set // 予定時刻 t Now()+Timeserial(0,0,10)
WaitUntil // 指定時刻まで待つ %t%
MSG_BOX // 結果表示 予定時刻:Format(%t%,"hh:nn:ss") [%NL%]現在時刻:Format(Now(),"hh:nn:ss") となりました。
10秒間待ちます。
function random_str(length)
'
' 数字入りのランダムな文字列を生成
'
' IN: length 生成する文字列長
'
random_str = ""
if length<1 then exit function
dim s,c
dim i
dim cnt_num,cnt_en '数字、非数字出現個数
randomize
do
cnt_num = 0
cnt_en = 0
s = ""
for i=1 to length
c = 33+(126-33)*rnd(1)
if ( c >= asc("0") ) and ( c <= asc("9") ) then
cnt_num = cnt_num + 1
else
cnt_en = cnt_en + 1
end if
s = s & chr(c)
next
loop while (cnt_num = 0) or (cnt_en = 0) '共に出現までループ
random_str = s
end function
補足:
function SystemInfo_JS(){
var rc;
//ネットワークオブジェクトの作成
var objNetWork = new ActiveXObject("WScript.Network")
//ユーザ名
rc = "UserName = " + objNetWork.UserName + "\r\n";
//ドメイン名
rc += "UserDomain = " + objNetWork.UserDomain + "\r\n";
//コンピュータ名
rc += "ComputerName = " + objNetWork.ComputerName + "\r\n";
objNetWork = null;
return rc;
}
function SystemInfo_VBS()
Dim objNetWork
Dim strUserName,strDomain,strComputer
Dim Dt
'ネットワークオブジェクトの作成
Set objNetWork = CreateObject("WScript.Network")
strUser = objNetWork.UserName 'ユーザ名
strDomain = objNetWork.UserDomain 'ドメイン名
strComputer = objNetWork.ComputerName 'コンピュータ名
Dt = "UserName = " & strUser & vbCrLf & _
"UserDomain = " & strDomain & vbCrLf & _
"ComputerName = " & strComputer & vbCrLf & vbCrLf
'サービス情報
Dim DiplayName,State,StartMode
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")
Dt = Dt & "状態 " & "モード " & "表示名" & vbCrLf
For Each wbemObject In wbemObjectSet
DisplayName = wbemObject.DisplayName
State = wbemObject.State
StartMode = wbemObject.StartMode
Dt = Dt & State & String( 8 - Len(State)," ") _
& StartMode & String( 10 - Len(StartMode)," ") _
& DisplayName & vbCrLf
Next
SystemInfo_VBS = Dt
Set wbemServices = Nothing
Set objNetWork = Nothing
end function
function Heron_java(a,b,c){
// 入力 a,b,c 3辺の長さ
// 戻り値 三角形の面積 -1:エラー
//
var s;
var rc;
if( a>0 && b>0 && c>0 ){ //全て正?
s = (a+b+c)/2;
rc = Math.sqrt(s*(s-a)*(s-b)*(s-c));
return rc ;
}else{
return -2; //エラー
}
}
function fib(n){
// フィボナッチ数列:n番目の項 = 前2項の和
// 最初の数項の値
// 0,1,1,2,3,5,8,13,21,34,55,89,144・・・・
// ここでは繰り返し処理を使用してn番目の値を求める
var f; // n番目の値
var f1,f2; // それぞれ1つ前、2つ前の値
for(var i = 0; i <= n; i++){
if(i <= 1){
f = i;
}else{
f = f1 + f2;
}
f2 = f1;
f1 = f;
}
return f;
}
function fib(n){
// フィボナッチ数列:n番目の項 = 前2項の和
// f(0)=0,f(1)=1 f(n+2)=f(n)+f(n+1)
// 0,1,1,2,3,5,8,13,21,34,55,89,144・・・・
// ここでは再帰処理を使用してn番目の値を求める
// なお、スクリプト再帰処理の限界か?、32以上ではエラーとなる
if( n < 2 ){
return n ;
}else{
return fib(n-2) + fib(n-1);
}
}
function fib_all(n){
// フィボナッチ数列:n番目の項 = 前2項の和
// 最初の数項の値
// 0,1,1,2,3,5,8,13,21,34,55,89,144・・・・
// ここでは繰り返し処理を使用してn番目の値を求める
var f; // n番目の値
var f1,f2; // それぞれ1つ前、2つ前の値
var rc = "" ;
for(var i = 0; i <= n; i++){
if(i <= 1){
f = i;
}else{
f = f1 + f2;
}
f2 = f1;
f1 = f;
rc += "n = " + figure_change(i,3," ") + " " + f +"\r\n";
}
return rc;
}
function figure_change(string,figure,letter){
//-------------------------------------------------------------------------
//桁揃え
// 引き数 string = 結合前の値(文字列)
// figure = 結合後の桁数(数値)
// letter = 結合する値(文字列)
// 戻り値 return_string = 結合後の文字列
//-------------------------------------------------------------------------
var string = String(string); //結合前の値を文字列とする
var letter = String(letter); //結合する値も文字列とする
var figure = Number(figure) - string.length; //不足桁数計算
var return_string = "";
//結合文字を、不足桁数分追加
for(var figure_i=0; figure_i<figure; figure_i++){
return_string += letter;
if(return_string.length > figure){
return_string = return_string.slice(0,figure);
break;
}
}
return_string += string; //結合前の値(文字列)を追加
return return_string;
}
001 INIT
002 ! ---------------------------
003 ! 平文ファイル⇔暗号ファイル
004 ! パスワード設定可
005 ! ---------------------------
006 Dim //平文ファイル Path_Plain サンプル\パスワード.csv
007 Dim //暗号化ファイル Path_Cipher <desktop>\パス・・・
008 Dim //復号化ファイル Path_Decipher <desktop>\パスワード_復号.csv
009 MSG_BOX //説明 暗号化/復号化のサンプル
010 !
011 FileRead //平文ファイル読込
012 MSG_BOX //平文表示
013 INPUT_BOX //パスワード入力
014 EnCode //暗号化&保存
015 MSG_BOX //暗号化文表示
016 DeCode //復号&保存
017 MSG_BOX //復号文表示
011 平文ファイル(サンプル\パスワード.csv)を読込001 INIT
002 ! ---------------------------
003 ! 暗号化⇔復号化
004 ! ファイルを使用せずに実行
005 ! パスワード設定可
006 ! ---------------------------
007 Dim //原文 StrSrc
008 Dim //暗号文 StrEnCode
009 Dim //復号文 StrDeCode
010 Dim //パスワード PassWd
011 !
012 MSG_BOX //説明
013 !
014 INPUT_BOX //平文入力
015 SetVariable //変数退避
016 INPUT_BOX //パスワード入力
017 SetVariable //退避
018 EnCode //暗号化
019 SetVariable //変数退避
020 MSG_BOX //暗号化文表示
021 DeCode //復号化
022 SetVariable //変数退避
023 MSG_BOX //復号文表示
001 INIT 002 ! --------------------------- 003 ! 暗号化されたパスワードファイルから 004 ! ID,パスワードを読込んで 005 ! Webサイトにログインします 006 ! --------------------------- 007 ! 変数定義 008 Dim //CSVファイルのパス CsvPath サンプル\暗号化パスワード 009 Dim //CSVのパスワード CsvPasswd 12345abcde 010 Dim //ID ID 011 Dim //パスワード PassWd 012 ! ID,パスワード読込 013 GetCodedCsvData //ID %CsvPath% 014 SetVariable //値退避 ID %FuncRet% 015 GetCodedCsvData //パスワード %CsvPath% 016 SetVariable //値退避 PassWd %FuncRet% 017 ! ログイン 018 OPEN_AP //Webサイトオープン 019 IE入力 //ID 020 IE入力 //パスワード 021 IE入力 //ログインクリック 022 IEWait //完了待ち 20000 023 End MSG_BOX
001 INIT 666 461 994 697 0,0,1,,0
002 ! ------------------------------------------------------
003 ! ポイント位置の文字列取得ツール
004 !
005 ! 指定キーで停止⇔再開 キー変更可
006 ! ------------------------------------------------------
007 Set // 停止キー SHIFT StopKey 16
008 Set // 名称 KeyName GetKeyName(%StopKey%)
009 !
010 Set // 停止フラグ Stop 0
011 Set // キー状態 key 0
012 Set // 表示文言 Msg
013 Set // 背景色 bcolor
014 !
015 Set // イベント Event
016 Set // イベント詳細 Detail
017 !
018 手動停止オフ
019 MSG_BOX // 説明表示 %KeyName% キーで、
停止 ⇔ 再開
を切り替えます。
文字列の選択は、CTRLキーを押しながらドラッグします。
020 SHOW_MSG // 表示初期位置 0 0 0 7000 5000 0,-2147483643,1,0,0,12,MS ゴシック,False,False,False,False, 00000
021 !
022 Do-While // 無限ループ 1
023 !
024 WaitEventsAll %Event% %Detail%
025 !
026 If %Event% = "KEY_DOWN"
027 If // 指定のキーが押され? %Detail% = %StopKey%
028 Set // フラグ反転 key 1 - %key%
029 End-If
030 End-If
031 !
032 If // 停止オフ? %Stop% = 0
033 If // キーが押された! %key% = 1
034 Set // 表示文言 再開 Msg 停止中 − %KeyName% キーで再開
CTRLキーを押しながら文字列選択
035 Set // 背景色 白 bcolor rgb(255,255,255)
036 Else
037 Set // 表示文言 停止 Msg %KeyName% キーで停止
038 Set // 背景色 薄緑 bcolor 15728346
039 End-If
040 !
041 SHOW_MSG // 文言表示 0 0,%bcolor%,1,0,0,12,MS ゴシック,False,False,False,False, %Msg%
マウス位置 GetCursorPosX(),GetCursorPosY()
Name : GetAccName()
Value : GetAccValue()
Role : GetAccRole()
State : Hex(GetAccState())
Focus : GetAccFocus()
ParentName : GetAccParentName()
ParentRole : GetAccParentRole()
ChildCount : GetAccChildCount()
DefautAction: GetAccDefaultAction()
Description : GetAccDescription()00000
042 !
043 End-If
044 Set // 停止フラグセット Stop %key%
045 WLoop






