我有以下代码行,它应该采用excel电子表格,并将其另存为PDF文件。
它正常工作并将PDF文件保存在打开文件的同一目录中,但突然之间似乎没有将PDF文件保存在正确的位置。
有时会保存它,有时则不会。有没有办法可以更新我的代码以包含特定位置或文件打开的位置?
Sheets("Mortgage Charts").Activate
Range("L2").Select
With Sheets("Mortgage Charts")
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="Mortgage Scorecard " & Format(.Range("L2"), "mm-dd-yyyy"), _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
答案 0 :(得分:1)
我首先将OpenAfterPublish:=
从false
更改为true
。然后查看文档属性,打开它以找出它保存的位置。
我想如果没有错误,它会保存到一个未知文件夹。如果您发现该文件确实存在,我会将目录名添加到Filename:=
参数中。您还可以使用
x = Application.ActiveWorkbook.Path
它将以字符串形式返回工作簿的路径。
答案 1 :(得分:0)
使用John在您的代码中建议的内容。
Dim thisPath As String, docName As String
thisPath = Application.ActiveWorkbook.Path
docName = thisPath & "\Mortgage Scorecard " & Format(Range("L2"), "mm-dd-yyyy")
Sheets("Mortgage Charts").Activate
Range("L2").Select
With Sheets("Mortgage Charts")
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=docName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
修改
如果要在保存后打开PDF,请在End With
:
openDoc = docName & ".pdf"
ActiveWorkbook.FollowHyperlink openDoc