2017年11月
      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ファイルを印刷する。(追記) »