2017-06-29 16 views
0

文書を印刷してアプリケーションを非表示にする必要があります。私はMicrosoft Word 2010を使用しています。VB - Word文書を非表示/表示= False

以下のコードを黄色いコメントに入れてアプリケーションを隠そうとしました。

objWord.Visible = Falseの

&

objDoc.ActiveWindow.Visible = Falseの

が、ウィンドウはまだこのラインで表示されます。

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 

EDIT:別の方法として、Wordを開かずにドキュメントwordを印刷することができます。 Documents.Open文の代わりに

+0

あなたは ":= Falseの可視" Documents.Open()のオプションのパラメータを設定しようとしたことがありますか? – soohoonigan

+0

@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 –

+0

ねえ、動作しません。画面上の文書が消える前にその文書を簡単に表示します。 このように書き直しました。 'objDoc = objWord.Documents.Open(LinDocPath、Visible = False)'私は "Visible:= False"を試しました@soohoonigan – EliasWick

答えて

0
set objDoc = GetObject(Filename) 
set objWord = objDoc.Parent 

objDoc.Close False