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