2014-05-22 78 views
1

我想使用vb腳本打印html文件。使用.vbs文件打印html文件

文件loaction是D:\VbFiles\Test.html

Set WebBrowser1 = CreateObject("InternetExplorer.Application") 

WebBrowser1.Navigate "D:\VbFiles\Test.html" 
WebBrowser1.Visible = 1 

我創建test.vbs文件與上面的代碼,當我雙擊該文件,即時通訊能夠與指定的HTML文件打開IE瀏覽器,但不知道如何使用的打印方法這裏。

請建議提前 桑迪

+0

打印方式是什麼意思,你想打印什麼? –

+0

我在打印html頁面 –

回答

0

感謝我發現這裏的解決方案:Source

我把下面你從上面的鏈接所需要的。

Const OLECMDID_PRINT = 6 

Const OLECMDEXECOPT_DONTPROMPTUSER = 2 

Const PRINT_WAITFORCOMPLETION = 2 

Const OLECMDF_SUPPORTED = 1 

Const OLECMDF_ENABLED = 2 

blnPrintingComplete = False 

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") 

objIE.Visible = False 

objIE.Navigate "C:\Users\Me\Desktop\test.html" 


Do While objIE.ReadyState <> 4 

    WScript.Sleep 10 

Loop 

If objIE.QueryStatusWB(OLECMDID_PRINT) = OLECMDF_SUPPORTED + OLECMDF_ENABLED Then 

    objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,PRINT_WAITFORCOMPLETION, 0 

    Do While Not blnPrintingComplete 

     WScript.Sleep 50 

    Loop 

End If 


objIE.Quit 
+0

嗨,感謝您提供示例代碼。但是,當在第20行使用你的代碼時,它給出'被調用的對象已經與其客戶端斷開連接'錯誤 - '雖然objIE.ReadyState <> 4' –

+0

只需添加'WScript.Sleep 1000'而不是Do while循環第20行並檢查。 – RamY

+0

在while循環中添加了註釋,並添加了'WScript.Sleep 1000'。但現在'接口是未知'錯誤信息在第26行 - '如果objIE.QueryStatusWB(OLECMDID_PRINT)= OLECMDF_SUPPORTED + OLECMDF_ENABLED然後' –