为什么Excel 365 vba无法保存我的pdf文件?

时间:2018-11-14 18:29:24

标签: excel vba excel-vba office365


我想现在我几乎尝试了所有操作以使用Excel vba保存pdf文件。

这是我的实际代码:

Dim pdfFile As String

If excel2016 Then
    pdfFile = Application.DefaultFilePath & "/Report_" & year & month & "_" & Replace(name, " ", "_") & ".pdf"
Else
    pdfFile = ActiveWorkbook.Path & Application.PathSeparator & "Report_" & year & month & "_" & Replace(name, " ", "_") & ".pdf"
End If

wsOutputOne.ExportAsFixedFormat Type:=xlTypePDF, fileName:=pdfFile

我知道Excel 2016正在创建一个“容器”并将文件保存在~/Library/Containers/com.microsoft.Excel/Data/Documents/下,但是为什么该代码不适用于Excel 365?

或者使用Excel 365的朋友可以做什么来保存此生成的pdf文件?
因为Application.DefaultFilePath的调用在他的计算机上不返回任何内容...

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

请尝试以下代码:

Dim pdfFile As String

If excel2016 Then
  pdfFile = Application.DefaultFilePath & "/Report_" & year & month & "_" & Replace(name, " ", "_") & ".pdf"
Else
  pdfFile = Application.ActiveWorkbook.Path & Application.PathSeparator & "Report_" & year & month & "_" & Replace(name, " ", "_") & ".pdf"
End If

wsOutputOne.ExportAsFixedFormat Type:=xlTypePDF, fileName:=pdfFile