Ошибка 1004 - Ошибка метода PrintOut класса листа (после создания файла PDF) - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь напечатать счет-фактуру после создания PDF, но получаю ошибку:

Ошибка метода PrintOut класса рабочего листа

Процедура печати работает отлично, пока я не вызывал процедуру генерации pdf.

Я пытался спрятать листы, активировать, снова выбрать ... но ничего не работает.Я новичок в VBA, так что если кто-то может объяснить мне, почему я получаю эту ошибку, было бы здорово.

Sub Print()
    Dim ImprCour As String
    Dim Impr2 As String
    ImprCour = Application.ActivePrinter
    Impr2 = "WorkCenter 6515"
    Application.ActivePrinter = Impr2
    Worksheets("Facture").Visible = True
    Worksheets("Retour").Visible = True
    Sheets(Array("Facture", "Retour")).Select
    MsgBox ActiveSheet.Name
    Worksheets(Array("Facture", "Retour")).PrintOut
    Worksheets("Facture").Visible = xlVeryHidden
    Worksheets("Retour").Visible = xlVeryHidden
    Worksheets("Facture").Visible = True
    Worksheets("Retour").Visible = True
    Application.ActivePrinter = ImprCour
End Sub

Sub Pdf_And_Print()
Sheets(Array("Facture", "Retour")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:="/Users/stefland/Desktop/Projets/Pro/...-v.03/.../.../.../.../..." & "_" & Range("H21").Value & ".pdf", _
    OpenAfterPublish:=True, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    Quality:=xlQualityStandard, _
    From:=1, To:=2
    Print
End Sub

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте это

Sub wsPrint(sh As Worksheet)
    Dim ImprCour As String
    Dim Impr2 As String
    ImprCour = Application.ActivePrinter
    Impr2 = "WorkCenter 6515"
    Application.ActivePrinter = Impr2
    sh.Visible = True
    MsgBox sh.Name
    sh.PrintOut
    'sh.Visible = xlVeryHidden
    Application.ActivePrinter = ImprCour
End Sub

Sub Pdf_And_Print()
    Dim sh As Worksheet
    For Each sh In Sheets(Array("Facture", "Retour"))
        sh.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="/Users/stefland/Desktop/Projets/Pro/...-v.03/.../.../.../.../..." & "_" & sh.Range("H21").Value & ".pdf", _
            OpenAfterPublish:=True, _
            IncludeDocProperties:=False, _
            IgnorePrintAreas:=False, _
            Quality:=xlQualityStandard, _
            From:=1, To:=2
            wsPrint sh
    Next sh
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...