2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« 一時ファイルにスクリプトを書いて子プロセスを起こす。(その2) | トップページ | VBAからAdobe ReaderでPDFファイルを印刷する。(追記) »

2007年11月 8日 (木)

一時ファイルにスクリプトを書いて子プロセスを起こす。(その3)

ProcessIDが必要なときは、Exec()を使います。

標準入出力を使うときも、Exec()を使います。

Set fso=CreateObject("Scripting.FileSystemObject")
Path=fso.BuildPath(fso.GetSpecialFolder(2).Path,fso.GetTempName())
Set File=fso.CreateTextFile(Path)
File.WriteLine "Set fso=CreateObject(""Scripting.FileSystemObject"")"
File.WriteLine "fso.DeleteFile WScript.ScriptFullName"
File.WriteLine "MsgBox fso.GetStandardStream(0).AtEndOfStream,,WScript.ScriptFullName"
File.Close
Set wShell=CreateObject("WScript.Shell")
Set oExec=wShell.Exec("wscript.exe //e:vbs """ & Path & """")
MsgBox oExec.ProcessID,,"ProcessID"

fso.GetStandardStream()を使えば、CScript.exeを使う必要はありません。

« 一時ファイルにスクリプトを書いて子プロセスを起こす。(その2) | トップページ | VBAからAdobe ReaderでPDFファイルを印刷する。(追記) »