Excel 2019 VBA SaveAs генерирует среду выполнения 1004 - PullRequest
0 голосов
/ 15 января 2020

Я хочу сохранить файл Excel в XLMS.

В Office 2010 - 2016 этот код работает, но в 2019 году я получаю ошибку времени выполнения 1004.

Я искал в inte rnet решение.

Я получаю сообщение об ошибке в строке SaveAs.

Dim Wb As Workbook
Dim NewFileName As String
Dim NewFileFilter As String
Dim myTitle As String
Dim FileSaveName As Variant
Dim NewFileFormat As Long

Set Wb = ThisWorkbook

NewFileName = "Test.xlsm"
NewFileFilter = "Excel Macro-Enabled workbook (*.xlsm), *.xlsm"
NewFileFormat = 52

myTitle = "Navigate to the required folder"

FileSaveName = Application.GetSaveAsFilename _
         (InitialFileName:=NewFileName, _
          filefilter:=NewFileFilter, _
          Title:=myTitle)

If Not FileSaveName = False Then
    Wb.SaveAs FileName:=FileSaveName, _
                 FileFormat:=NewFileFormat
    'Call PDF_PRINT

Else

    'MsgBox "File NOT Saved. User cancelled the Save."
    X = MsgBox("ExcelFile NOT Saved.User cancelled the Save." & vbCrLf & _
      "Click CANCEL to abort pdf-save function as well." & vbCrLf & _
      "Or click OK to proceed with the pdf-saving function.", vbOKCancel, _
      "EXCEL SAVE FUNCTION")

    If X = vbOK Then PDF_PRINT Else Exit Sub

End If

1 Ответ

0 голосов
/ 16 января 2020

Пожалуйста, попробуйте это, это работает, чтобы сохранить PDF для меня.

Sub MacroTest()

Dim Wb As Workbook
Dim NewFileName As String
Dim NewFileFilter As String
Dim myTitle As String
Dim FileSaveName As Variant
Dim NewFileFormat As Long

Set Wb = ThisWorkbook

NewFileName = "Test.xlsm"
NewFileFilter = "Excel Macro-Enabled workbook (*.xlsm), *.xlsm"
NewFileFormat = 52

myTitle = "Navigate to the required folder"

FileSaveName = Application.GetSaveAsFilename _
         (InitialFileName:=NewFileName, _
          filefilter:=NewFileFilter, _
          Title:=myTitle)

If Not FileSaveName = False Then
   Wb.SaveAs Filename:=FileSaveName, _
                 FileFormat:=NewFileFormat
   Call PDF_Print

Else

   'MsgBox "File NOT Saved. User cancelled the Save."
   X = MsgBox("ExcelFile NOT Saved.User cancelled the Save." & vbCrLf & "Click CANCEL to abort pdf-save function as well." & vbCrLf & "Or click OK to proceed with the pdf-saving function.", vbOKCancel, "EXCEL SAVE FUNCTION")

End If

End Sub

Sub PDF_Print()

    Dim strPth As String, strFile As String

    strPth = "C:\"
    strFile = "Test.pdf"

    'If X = vbOK Then PrintPDF Else Exit Sub

  If X = vbOK Then PrintPDF(0, strPth & strFile) Then
  MsgBox "Printing failed"

End If

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