在Excel中创建一个宏,将打印Word文档而不打开它.

nic*_*ohn 2 excel vba ms-word

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

我不希望用户看到word文档.他们只需单击Excel中的按钮,即可开始打印Word文件.

这实际上是非常紧急的,我对此完全是新手,所以如果你能以非常棒的步骤解释这一点.

我可以在Excel中创建一个按钮,让它打开一个空的vb.这就像我所知道的那样.

非常感谢你花时间陪伴.

bob*_*mcr 5

您可以使用Word自动化对象模型获得对Word的编程访问.

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

  1. 创建Word应用程序对象.
  2. 打开一份文件.
  3. 对文档做一些事情.
  4. 关闭文档.
  5. 退出Word应用程序.

以下是基本的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
Run Code Online (Sandbox Code Playgroud)