VBA导出工作表为PDF(Mac 2016)错误

时间:2018-02-28 12:05:05

标签: vba excel-vba pdf export excel-vba-mac

我正在努力将我的工作表导出为PDF格式。

这是我的代码,仅供参考我使用Office 2016 for MAC

Sub saveactiveworkbook()

Dim FileName As String
Dim FolderName As String
Dim Folderstring As String
Dim FilePathName As String


ActiveSheet.PageSetup.Orientation = xlLandscape



FolderName = "TestVBA"
FileName = "DV" & ".pdf"

  Folderstring = "/Users/Vallier/Documents/Test/TestVBA"
  FilePathName = Folderstring & Application.PathSeparator & FileName

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

MsgBox FilePathName

End Sub

当我启动程序时,我有一个警告框,上面写着: "运行时错误' 1004':

应用程序定义或对象定义的错误"

我试图通过定义活动表格来解决这个问题。" ws"提前,但我又有一个错误说:

  

" object_ worksheet的ExportAsFormat失败"

有什么想法吗?

非常感谢,

2 个答案:

答案 0 :(得分:0)

似乎这是Mac上的Excel问题,

我一直在尝试录制宏(另存为PDF),我得到了这个:

Sub Macro7()
'
' Macro7 Macro
'
'
    Range("AU45:CE102").Select
    ChDir "/Users/vallieradam/Downloads/TestVBA/"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "/Users/vallieradam/Downloads/TestVBA/180226 HT.pdf", Quality:= _    
    xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False


End Sub

真正令人烦恼的是,如果我只是更改文件名manuelly(甚至没有公式)它不会再保存文件(另一个错误1004,香蕉文件未保存)

不能这么简单的任务(将工作簿的一部分保存为PDF)无法在Mac上使用excel。

有同样问题的人吗?

非常感谢

答案 1 :(得分:0)

问题来自Apple的沙盒规则。您无法再直接从VBA保存或打开任何所需的文件夹。您只能写入Excel有权访问的文件夹。这可能包括导出PDF,尽管我还没有测试过。

这是Ron de Bruin的精彩页面,详细介绍了如何处理Apple在VBA中的沙盒问题。

https://www.rondebruin.nl/mac/mac034.htm