Сохранить в формате PDF с помощью Mac Excel VBA - PullRequest
0 голосов
/ 24 сентября 2018

My Excel VBA в Mac OS для сохранения в формате PDF иногда не работает.

Это выдаст

«Ошибка при печати»

then

«Ошибка времени выполнения« 1004 »: ошибка приложения или объекта».

Мой код, который работал вчера:

'a) For Windows

Dim wksSheet As Worksheet, PS As String

PS = Application.PathSeparator

If InStr(1, Application.OperatingSystem, "Windows") > 0 Then
    Set wksSheet = ActiveSheet
    wksSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
      ThisWorkbook.Path & PS & pdfName, Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
      False
    'Exit Sub

Else

'b) For MAC

    Dim pdfName As String, FullName As String

    pdfName = "Q - " & Range("F2").Value & " - " & Range("A2").Value & " - " & Range("B10").Text
    FullName = "/Users/" & QTGetUserNameMAC & "/Google Drive/ABC Pte Ltd/Q - Quotations/" _
      & pdfName & ".pdf"

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

End If

Я записал макрос и использовал код, сгенерированный в моем коде (как показано ниже).Оно работает.Однако, если я удаляю последние 9 в коде, я получаю вышеуказанную ошибку.

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
  "/Users/" & QTGetUserNameMAC & "/Google Drive/ABC Pte Ltd/Q - Quotations/Q - VAS-Quote-QT190039.pdf" _
  , Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False

Я пытался использовать PathSeparator, и снова, с последним 9, он работает, но выдает ошибку без«9».

1 Ответ

0 голосов
/ 15 января 2019

Вот руководство о том, как вы можете это сделать: https://www.rondebruin.nl/mac/mac034.htm

Важно то, что вы не можете сохранить свой файл в выбранном вами месте.

Этодолжен быть сохранен в папке Library/Group Containers/UBF8T346G9.Office под домашним каталогом текущего пользователя, поэтому /Users/[current user]/Library/Group Containers/UBF8T346G9.Office в большинстве случаев.Если папки там нет, вы должны создать ее.(См. Пример кода на странице, указанной выше)

Престижность Рону!

Пожалуйста, проголосуйте за то, что MS исправит это здесь: https://excel.uservoice.com/forums/304933-excel-for-mac/suggestions/36531559-fix-exportasfixedformat-method

...