2016-08-06 2 views
0

何年も前からvbscriptをコーディングしていましたが、なぜこのvbscriptがアプリケーションのオブジェクトを呼び出すvbscript行に "不明なランタイムエラー" RUNメソッドを使用しています。これは、構文的に正しく使用していると確信しています。アプリケーションオブジェクトの下に1つのワークブックしか表示されないため、ワークブック名​​の前にプレフィックスを付ける必要はありません。私はとにかく持っています。
起こっているように見える何を、視覚的に、私には、アプリケーションオブジェクトのWorkbooks.Open方法に WB変数を設定し、前の行が(、単純に開きません。また、それは誤るん、またそれがないということです"最終的に"開いているので、私はかなり地獄が起こっているかわからない?パスは正しいです、ファイル名は正しいですが、On Error Resumeはありません。vbscriptはExcel Workbooks.Openを呼び出せません。

そして、私が間違っていると思うのは間違いだと思うのですが、それは "待機/一時停止"問題です。Excelオブジェクトモデルに直接作用するので、Excelブックオブジェクトがブックを開くまで待っているここで間違っている?

dim excelapp, wb 
set excelapp = createobject("excel.application") 
excelapp.enableevents=true 
excelapp.visible=true 
set wb = excelapp.workbooks.open("C:\Users\John\Desktop\Scheduled Jobs from Isaac\Availability.xlsb") 
'MSGBOX "SHOULD BE OPEN" 
excelapp.windowstate = -4137 'value for constant xlMaximized acccording to msdn 
excelapp.caption = "Running AVAILABILITY - Please WAIT..." 
excelapp.run "Availability.xlsb!ChangeAndCopyFile" 

...最後に、これはばかな質問かもしれないが、誰かが手動でコードのすべての単一のラインを下って行くとスペースバーを4回押さずに、私はS.O.にコードを配置する方法を教えてくださいでしょうか?確かに良い方法がありますか?

+0

'もしwbがNothing Then Msgboxなら" hi "'をデバッグすることはできますか?また、ファイルが存在するかどうかを検出するために、Microsoft Scripting RuntimeライブラリのFileSystemObjectを使用しないでください。また、VBScriptのInputBox http://wsh2.uw.hu/ch08b.html –

+0

を使用して、一時停止/待機をエンジニアリングすることができます。最後の質問については、コードブロックを強調表示し、Ctrl + kを押します。 –

+0

試しましたか?空白のないExcelファイルのファイルパス? – hstay

答えて

0

私は良くも悪くも、使用される最終VBScriptコード:

dim excelapp, wb 
'set excelapp = createobject("excel.application") 
'excelapp.enableevents=true 
'excelapp.visible=true 
'set wb = excelapp.workbooks.open("C:\Users\John\Desktop\ScheduledJobsfromIsaac\Availability.xlsb") 
'although I don't know why the above line is silently failing, i'm going to use an alternate method I read on S.O.: 
set wb = GetObject("C:\Users\John\Desktop\ScheduledJobsfromIsaac\Availability.xlsb") 
set excelapp = getobject(,"excel.application") 
excelapp.enableevents=true 
excelapp.visible=true 
excelapp.windowstate = -4137 'value for constant xlMaximized acccording to msdn 
excelapp.caption = "Running AVAILABILITY - Please WAIT..." 
excelapp.run "Availability.xlsb!ChangeAndCopyFile" 
wb.close(true) 
excelapp.caption = "10 seconds to close - please WAIT..." 
wscript.sleep 10000 
excelapp.displayalerts=false 
excelapp.quit 
0

どこで、どのようにあなたが上にあなたのVBScriptを実行するあなたが記述することができた場合、おそらく、それが役立ちますか?これは.vbsファイルでコード化され、wscript.exeまたはcscript.exeで実行されるか、またはHTMLまたはHTAに組み込まれていますか?

これがHTMLで記述されている場合、そのブラウザを表示するためにどのブラウザを使用していますか?現代のブラウザのほとんどすべてがvbscriptを静かに無視することに注意してください。

関連する問題