DOSコマンド  4.90版以降

ファイルのツリー表示
DOSプロンプトからMS-DOSコマンドを実行できます。
DOSプロンプトは「AP_Open」から「DOSプロンプト」を起動します。

下記の例では、マイドキュメント以下のファイルをツリー表示しています。

Set     root MyDocument
AP_Open  <SYSTEM>\cmd.exe /k tree %root%

なお、DOSコマンドをバッチファイルで実行したい場合は、同梱のサンプル「sample16(バッチファイル).dat」をお試し下さい。

コードの使用方法


バッチファイルの自動生成と実行  5.20版以降
DOSのバッチファイルを生成して実行します。
本体プログラム(マウスレコーダー)は、DOSが終了するまで待機
実行終了後は、バッチファイルを削除
DATファイル内容
005 Set    //変数 バッチファイル名 BatFile tmp_001.bat
006 Set    
//変数 URL        URL mt-soft.sakura.ne.jp
007 FileWrite 
//バッチファイル生成   -- DOSスクリプト(バッチファイル内容)--
008 AP_Open  
//実行          1 %BatFile%
009 FileDelete //バッチファイル削除   %BatFile%
説明
005,006 変数 BatchFile ,URL を定義して、それぞれにバッチファイル名、URLを入れる
007 バッチファイルを生成する
008 バッチファイルを実行。終了が完了するまで待機(Modalをオン)
009 バッチファイルを削除
バッチファイルの内容
ipconfig コマンドでネットワーク情報を表示して待機
キーが押されたら、tracertコマンドで mt-soft.sakura.ne.jp までのネットワーク経路を表示
exit コマンドでDOSを終了する。

変数の形式がマウスレコーダーと同じなので、そのまま、マウスレコーダーの変数を使用できる
(と言うより、DOSスクリプトの形式にマウスレコーダーが合わせた。)
VBスクリプトも同じように生成・実行可。(ただし、変数は共有できない)

注:スクリプトからマウスレコーダーの変数は使用できるが値のセットはできない。
  (実際には、実行時に変数名が実値に変更されるだけ)

以下がスクリプト本文

echo off

::Windowsネットワークの情報
ipconfig
pause

::インターネット通信経路
echo.
echo %URL%までのインターネット経路
tracert %URL%
pause

::終了
exit

コードの使用方法


スクリプト実行
DOSコマンドを利用したファイルリスト表示 5.20版以降
処理概要: リストボックスで指定したドライブのファイルリストをDOSコマンドを使用して作成、表示
DATファイル
001  INIT
002  LIST_BOX  //ドライブ指定      xxxx
003  
RunScript //バッチ実行
004  MSG_BOX  //返却値表示       %FuncRet%

スクリプト内容
dir %ListBox% > %FuncRetText%
exit

説明

002 ファイルリスト対象のドライブ名をリストボックスから選択 結果は %ListBox% に格納される。
003 スクリプトを実行。スクリプトの中で、%ListBox%%FuncRetText% を参照している。
004 返却値を表示(%FuncRet%)

コードの使用方法






VBScriptを利用したエクセルへのデータ書き込み(返却値なし)   5.20版以降
処理概要: VBScriptによりエクセルを起動してデータを書き込む
        書き込み5秒後に保存無しでエクセルを閉じる。書き込むデータは変数渡し。
DATファイル
001  INIT
002  Set //Data1 Data1 エクセルへのデータ書き込み
003  Set //Data2 Data2 データは変数渡し
004  Set //Data3 Data3 保存せずに閉じます。
005  
RunScript //VBScript実行

説明
001〜003 変数定義(エクセルに書き込むデータ)
005 スクリプトを実行。



スクリプト内容
set myXl = createObject("excel.Application")
with myXl
        .visible = true
        .Workbooks.add
        with .ActiveWorkbook
                .Sheets.Add
                with .Activesheet
                        .range("a2:b6").font.size=30
                        .range("b2")="%Data1%"
                        .range("b3")="%Data2%"
                        .range("b4")="%Data3%"
                        .range("b6")="秒後にエクセル終了!"
                        cnt = 5
                        for i=1 to cnt
                                WScript.Sleep(1000)
                                .range("a6")=cnt - i 
                        next
                end with
                .saved=true
        end with
        .quit
end with
set myXl = nothing
スクリプトの説明は省略

コードの使用方法



VBScriptを利用したファイルリスト表示   5.20版以降
処理概要: リストボックスで指定したドライブのファイルリストをVBScriptを使用して作成、表示
        上記に対して、少しだけ、エラー処理(キャンセルなど)が追加されている。
DATファイル
001   INIT
002   LIST_BOX  //ドライブ選択
003   Jump    //キャンセル    %ListBox% ="" END
004   
RunScript //VBScript実行
005   MSG_BOX  //返却値表示    %FuncRet%
006   END QUIT  //終了
007 !
008 ERR MSG_BOX  //エラー スクリプト実行エラー


説明
002 ファイルリスト対象のドライブ名をリストボックスから選択 結果は %ListBox% に格納される。
003 キャンセル→ENDにジャンプ
004 スクリプトを実行。スクリプトの中で、%ListBox%%FuncRetText% を参照している。
005 返却値(%FuncRet%)を表示
006 終了
008 エラー処理(メッセージ表示)




スクリプト内容
Dim dt ,fs , ff , f

Set fs = CreateObject("Scripting.FileSystemObject")

Set ff = fs.GetFolder("%ListBox%")
For Each f in ff.Files
        dt = dt & f & vbCr
Next

set f = fs.CreateTextFile( "%FuncRetText%" )
f.WriteLine( dt )
f.close

set fs = nothing

コードの使用方法


VBScriptを関数として使用(うるう年判定)   5.20版以降
処理概要: VBScriptを「うるう年」判定の関数として使用する。
      入力は、インプットボックスのデータ( %InputBox%
        (入力値が整数であるかのチェックもスクリプトで実施)
      返却値は、変数 %FuncRet% にセットされる。
        0:平年 4:うるう年 −1:データエラー
        1:スクリプトエラー(コンパイルエラーなど)
DATファイル
001    INIT
002    INPUT_BOX //年を入力
003    Jump   //キャンセル        %InputBox% = "" END
004   
RunScript //スクリプト実行
005    Jump   // 4 うるう年       %FuncRet% = 4 LEAP
006    Jump   // 0 平年         %FuncRet% = 0 NO
007 ERR MSG_BOX  //エラー          Code = %FuncRet%
008    Jump END
009 NO  MSG_BOX  //平年           %InputBox%年は、平年です。
010    Jump END
011 LEAP MSG_BOX  //うるう年         %InputBox%年は、うるう年です。
012 !
013 END QUIT   //終了

説明省略


スクリプト内容
Option Explicit
'
'
'うるう年判定 0:平年 4:うるう年 以外:エラー
'
' 判定基準:4で割り切れる年 ただし、
'      100で割り切れて400で割り切れない年は平年
'
        dim y
        dim rc

        y = %InputBox%  '調べる年
        if not IsNumeric( y ) then
                                        rc = -1 'エラー
        else
                rc = 0
                if ( y mod 4) = 0 then
                        if ( y mod 100 ) = 0 then
                                if ( y mod 400 ) = 0 then
                                        rc = 4  'うるう年
                                else
                                        rc = 0  '平年
                                end if
                        else
                                        rc = 4  'うるう年
                        end if
                end if
        end if

        WScript.Quit rc '返却値
説明は省略

コードの使用方法