|
はじめまして,wsfファイルという存在を知り,初めて利用してみました。
さっそく,質問があります。
abc.wsfの実行方法についてです。ダブルクリックするときちんと実行されます。このabc.wsfをエクセルのVBAから実行する方法を今模索中です。いろいろネットで調べて試したのですが実行されませんでした。その例を紹介します。おかしな点があれば遠慮なくご指南ください。
OSは,windowsXP,windowsME,windows98SEを使っています。
実行例その1:runwsf.xls内のモジュール1
////////////////////////////////////////////////
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd_ As Long) As Long
Sub Run_Wsf()
On Error GoTo errline
ShellExecute 0, "open", "abc.wsf", "", "%WINDIR%\system32\wscript.exe", 1
errline:
Err = 0
End Sub
実行例その2:runwsf.xls内のモジュール2
////////////////////////
Sub Run_Wshell()
Dim WSHShell
Dim wsfPath As String
wsfPath = ThisWorkbook.Path & "\abc.wsf"
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run wsfPath
MsgBox "abc.wsfを起動しました。"
End Sub
'一応”abc.wsfを起動しました。”というメッセージは表示されますが,何も実行されているようには見えません。
実行例その3:runwsf.xls内のモジュール3
///////////////////////
Sub Run_Shell()
Shell "wscript.exe g:\temp\abc.wsf"
End Sub
/////////////////////////////////////
以上3つほど試してみましたが,きちんと実行されませんでした。
ぜひ,アドバイスをお待ちしております。
|
|