Экспорт листа Excel в PDF - PullRequest
       7

Экспорт листа Excel в PDF

0 голосов
/ 17 октября 2018

В настоящее время я работаю над Excel Makro для работы, и одна из командных кнопок должна скопировать входные данные из пользовательской формы на лист моей рабочей книги и экспортировать этот лист в pdf.Макрос работает нормально (так как я нашел большую его часть в Интернете), но он должен остановиться, как только пользователь нажмет кнопку «Отмена» в окне «Сохранить как».

Моя проблема в том,что макрос все еще сохраняет лист и вызывает PDF "False.pdf".Может ли кто-нибудь помочь мне понять, что я должен изменить, чтобы он работал правильно?

Код, который я использую:

Private Sub CommandButton3_Click()
    Dim wsA As Worksheet
    Dim wbA As Workbook
    Dim strTime As String
    Dim strName As String
    Dim strPath As String
    Dim strFile As String
    Dim strPathFile As String
    Dim myFile As Variant
    On Error GoTo errHandler

    ThisWorkbook.Worksheets("Export").Range("B2").Value = Label14.Caption
    ThisWorkbook.Worksheets("Export").Range("B4").Value = Label12.Caption
    ThisWorkbook.Worksheets("Export").Range("K4").Value = Paketdruck.Value
    ThisWorkbook.Worksheets("Export").Range("H2").Value = Label16.Caption
    ThisWorkbook.Worksheets("Export").Range("J2").Value = Label18.Caption
    ThisWorkbook.Worksheets("Export").Range("G4").Value = Label22.Caption
    ThisWorkbook.Worksheets("Export").Range("B17").Value = Label37.Caption
    ThisWorkbook.Worksheets("Export").Range("B19").Value = Label38.Caption
    ThisWorkbook.Worksheets("Export").Range("B21").Value = Label39.Caption
    ThisWorkbook.Worksheets("Export").Range("C17").Value = Label42.Caption
    ThisWorkbook.Worksheets("Export").Range("C19").Value = Label43.Caption
    ThisWorkbook.Worksheets("Export").Range("C21").Value = Label44.Caption
    ThisWorkbook.Worksheets("Export").Range("E17").Value = Label46.Caption
    ThisWorkbook.Worksheets("Export").Range("E19").Value = Label47.Caption
    ThisWorkbook.Worksheets("Export").Range("E21").Value = Label48.Caption
    ThisWorkbook.Worksheets("Export").Range("G17").Value = Label50.Caption
    ThisWorkbook.Worksheets("Export").Range("G19").Value = Label51.Caption
    ThisWorkbook.Worksheets("Export").Range("G21").Value = Label52.Caption
    ThisWorkbook.Worksheets("Export").CheckBox1.Value = Me.CheckBox1.Value
    ThisWorkbook.Worksheets("Export").CheckBox2.Value = Me.CheckBox2.Value
    ThisWorkbook.Worksheets("Export").CheckBox3.Value = Me.CheckBox3.Value
    ThisWorkbook.Worksheets("Export").CheckBox4.Value = Me.CheckBox4.Value
    ThisWorkbook.Worksheets("Export").CheckBox5.Value = Me.CheckBox5.Value

    Set wbA = ActiveWorkbook
    Set wsA = ThisWorkbook.Worksheets("Export")
    strTime = Format(Now(), "yyyymmdd")

    'get active workbook folder, if saved
    strPath = wbA.Path
    If strPath = "" Then
        strPath = Application.DefaultFilePath
    End If
    strPath = strPath & "\"

    'create default name for savng file
    strName = wsA.Name
    strFile = strName & "_" & strTime & ".pdf"
    strPathFile = strPath & strFile

    'user can enter name and
    ' select folder for file
    myFile = Application.GetSaveAsFilename _
        (InitialFileName:=strPathFile, _
            FileFilter:="PDF Files (*.pdf), *.pdf", _
            Title:="Select Folder and FileName to save")

    'export to PDF if a folder was selected
    If myFile <> "False" Then
        wsA.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=myFile, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    'confirmation message with file info
    MsgBox "PDF file has been created: " _
      & vbCrLf _
      & myFile
    End If

    exitHandler:
        Exit Sub
    errHandler:
        MsgBox "Could not create PDF file"
        Resume exitHandler
End Sub

Спасибо за помощь:)

Редактировать Я разобрался в проблеме.Мне пришлось изменить результат для переменной «myFile», так как я использую немецкую лицензию Excel, мне пришлось проверить

 If myFile <> "Falsch" Then
 Code
 End If

Спасибо за помощь @ SolarMike

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...