VBA Excel Печать Word Doc - Не печатает - PullRequest
0 голосов
/ 13 мая 2019

У меня есть код, который отлично работает на моем личном ноутбуке, код открывает документ Word и распечатывает его на принтере по умолчанию.

Код:

Private Sub CommandButton1_Click()    
    ' Step 1
    Dim objWord As New Word.Application
    ' Hidden window!
    objWord.Visible = False
    ' Save the original printer, otherwise you will reset the system default!
    Dim previousPrinter As String


    ' Step 2
    Dim objDoc
    Set objDoc = objWord.Documents.Open("test.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
    MsgBox (objWord.ActivePrinter) 
End Sub

Однако, когда я пытаюсь сделать это в офисе, я не получаю ошибки из кода, однако на принтер ничего не отправляется.Есть ли что-нибудь, что может вызвать это?это принтер xerox (в сети), и он использует follow print

1 Ответ

1 голос
/ 14 мая 2019

Если вы заставляете его печатать на другом принтере, вам понадобится что-то вроде этого:

previousPrinter = objWord.ActivePrinter

For i = 0 To 15
   curNePrint = VBA.Format(i, "00")
   On Error Resume Next
      objWord.ActivePrinter = "\\ServerName\printername z111b on ne" & curNePrint & ":"
Next i

objWord.PrintOut Copies:=1
ObjWord.ActivePrinter = previousPrinter
On Error Goto 0
...