【发布时间】:2017-12-12 04:22:19
【问题描述】:
我有一个工作簿,其中包含许多宏,可以在保存工作簿的同一位置将各种工作表导出为 pdf。
我的问题是,如果工作簿保存在桌面上的文件夹中,那么 PDF 就可以生成。
当工作簿保存在网络位置时,不会生成 pdf。以下是宏的示例:
Sub PDF_CStmtP()
Application.ScreenUpdating = False
ThisWorkbook.Sheets(Array("C Stmt - P")).Select
pdfname = fileSaveName
ChDir ActiveWorkbook.Path & "\"
fileSaveName = "Closing Statement (Purchase)"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
fileSaveName _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Application.ScreenUpdating = True
ActiveWorkbook.Sheets("Main Menu").Activate
MsgBox "File Saved " & " " & fileSaveName
End Sub
【问题讨论】:
-
仅供参考,
pdfname(您从不使用)将为空/空白,因为您在fileSaveName被赋予值之前定义了它。另外,没有错误对吗?作为测试,尝试将fileSaveName更改为"K:\Closing Statement (Purchase)"(假设K:\是一个网络文件夹)。您可能必须在那里传递完整路径。 -
我试图避免这种情况,因为我打开了一个启用宏的模板,然后为我们处理的每个文件在不同位置保存为启用宏的工作簿。所以路径每次都会改变。 (很高兴见到你蝙蝠侠)
-
是的,我知道它每次都会改变 - 这只是快速检查问题是否与文件名或其他问题有关。如果您将路径直接放在文件名中,但它仍然没有保存在您期望的位置,那么它就是另外一回事。如果它正在保存,那么只需添加一两行即可包含完整路径。
-
我试试看!谢谢
-
成功了,它保存在正确的位置。