Не удается устранить ошибку 1004 с помощью VBA ExportAsFixedFormat - PullRequest
2 голосов
/ 21 октября 2019

Я собирал небольшой макрос в VBA, чтобы сохранить таблицу в формате PDF в Excel. Вот код, который я написал:

Sub ExportPDF()
    Dim File_name As String

    File_name = "C:\Test\" & _
      "Rapport du " & Date & "_Assurances.pdf"

    Sheets("Assurances.Rapport").Select

    Dim Last_row As String

    Last_row = "C1:Y" & Range("Z2").Value
    ActiveSheet.PageSetup.PrintArea = Last_row

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:=File_name, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

    Sheets("Assurances").Select
End Sub

Я запустил его на своем персональном Mac с Excel 2019, и он, кажется, работает, я также запустил его на Windows 7 с Excel 2019Тоже работает.

Но я попытался запустить его на Mac и Windows 10, работающих под управлением Excel 2016, и он не работал ни на одном из них: на Mac открывается окно печати, ожидающее выбора принтера.

В Windows выдается следующая ошибка:

"Ошибка времени выполнения" 1004 ": документ не сохранен. Документ может быть открыт или может иметь ошибкупри сохранении. "

Ошибка указывает на 4 строки" ExportAsFixedFormat ".

Что могло вызвать проблему?

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте изменить эту строку:

File_name = "C:\Test\" & _ "Rapport du " & Date & "_Assurances.pdf""

на

File_name = "C:\Test\" & _ "Rapport du " & Format(Date,"dd-mm-yyyy") & "_Assurances.pdf"

, а затем протестируйте. Формат даты, имеющий "\", возможно, вызывает проблему, которая по умолчанию запрещена окнами в имени файла.

Следующие символы следует избегать /\:?*"<>|

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