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 '返却値
説明は省略
コードの使用方法
|
|