2009-09-14 116 views
2

我有一個文檔,mydocument.docx,我想從Excel工作表中的按鈕打印。兩者都在同一個文件夾中。在Excel中創建一個將打印Word文檔而不打開它的宏。

我不希望用戶看到word文檔。他們只需點擊Excel中的按鈕即可開始打印Word文件。

這實際上是非常緊急的,我對此完全陌生,所以如果你可以在步驟中解釋這將是如此真棒。

我可以在Excel中創建一個按鈕,並打開一個空的vb。這是我所知道的。

非常感謝您的時間。

回答

5

您可以使用Word automation object model獲得對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 
+0

感謝這項工作完美。這是可能的列表打印機,所以我可以決定使用什麼打印機。 謝謝 – nickjohn 2009-09-14 10:08:37

+0

我假設你想以編程方式設置打印機(而不是讓用戶交互式地選擇它)。使用ActivePrinter屬性查看編輯答案的示例。 – bobbymcr 2009-09-15 02:14:48

+0

非常甜很好謝謝 – nickjohn 2009-09-15 08:09:08