Распечатать документ Word, не открывая его с помощью Excel VBA - PullRequest
2 голосов
/ 14 сентября 2009

Я хочу напечатать документ Word, mydocument.docx, с помощью кнопки на листе Excel. Оба находятся в одной папке.

Я не хочу, чтобы пользователи видели документ Word . Они просто нажимают кнопку в Excel.

Я могу создать кнопку в Excel и открыть пустой vb. Это столько, сколько я знаю. Если вы можете объяснить это поэтапно, это было бы здорово.

1 Ответ

5 голосов
/ 14 сентября 2009

Вы можете использовать объектную модель автоматизации 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...