0
我需要打印文檔並隱藏應用程序。我正在使用Microsoft Word 2010.VB - 打印Word文檔hidden/Visible = False
我試圖用黃色評論中顯示的代碼隱藏應用程序。
objWord.Visible =假
&
objDoc.ActiveWindow.Visible =假
但窗口仍然出現在這一行:
objDoc = objWord.Documents.Open("T:\Helsingborg\A\Transport\2. Transportdrift\11. M-trp\Fraktsedlar\Växjö\Växjö Mall.doc")
而且一旦到達就會隱藏起來:
objDoc.ActiveWindow.Visible = False
我真的找不到任何辦法來解決這個問題,因爲在打開文檔之前,我不能使用ActiveWindow.Visible = False
。
這是我當前的代碼。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' Step 1
Dim objWord
objWord = CreateObject("Word.Application")
' Hidden window!
objWord.Visible = False
' Save the original printer, otherwise you will reset the system default!
Dim previousPrinter
previousPrinter = objWord.ActivePrinter
objWord.ActivePrinter = ""
' Step 2
Dim objDoc
objDoc = objWord.Documents.Open("T:\Helsingborg\A\....\Växjö Mall.doc")
objDoc.ActiveWindow.Visible = False
' Step 3 -- in this case, print out the document without any prompts
objDoc.PrintOut
' Restore the original printer
objWord.ActivePrinter = previousPrinter
' Step 4
objDoc.Close
' Step 5
objWord.Quit
MsgBox("Everything is now printed") ' Change to custom MSGBOX
End Sub
編輯:另一種方法是,如果我可以不打開Word打印Word文檔。
你有沒有嘗試設置Documents.Open()的可選參數 「可見:=假」? – soohoonigan
添加到什麼@soohoonigan說... https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documents.open.aspx?cs-save-lang = 1&cs-lang = vb#code-snippet-1 –
嘿,不起作用。它在屏幕上消失之前簡要地在屏幕上顯示該文檔。 我重寫了它,像這樣'objDoc = objWord.Documents.Open(LinDocPath,Visible = False)'我也嘗試過「Visible:= False」@soohoonigan – EliasWick