无需使用Excel VBA打开Word文档即可打印

时间:2009-09-14 05:34:53

标签: excel vba ms-word

我想从Excel工作表中的按钮打印Word文档mydocument.docx。两者都在同一个文件夹中。

我不希望用户看到Word文档。他们只需单击Excel中的按钮。

我可以在Excel中创建一个按钮并使其打开一个空的vb。这就像我所知道的那样。如果你能以非常棒的步骤解释这一点。

1 个答案:

答案 0 :(得分:5)

您可以使用Word automation object model获得对Word的编程访问权限。

几乎在所有情况下,您都将遵循以下步骤:

  1. 创建Word应用程序对象。
  2. 打开文档。
  3. 对文档做点什么。
  4. 关闭文档。
  5. 退出Word应用程序。
  6. 以下是基本的VBA代码:

    ' Step 1
    Dim objWord
    Set objWord = CreateObject("Word.Application")
    ' Hidden window!
    objWord.Visible = False
    ' Save the original printer, otherwise you will reset the system default!
    Dim previousPrinter
    Set previousPrinter = objWord.ActivePrinter
    objWord.ActivePrinter = "My Printer Name"
    
    ' Step 2
    Dim objDoc
    Set objDoc = objWord.Documents.Open("C:\Test\SomeDocument.docx")
    
    ' 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