Vba 在特定位置将excel另存为PDF
我有下面一行代码,它应该是一个excel电子表格,并保存为PDF文件 它工作正常,并将PDF文件保存在打开文件所在的同一目录中,但突然之间,它似乎没有将PDF文件保存在正确的位置 有时它保存它,有时它不保存它。是否有一种方法可以更新代码以包含特定位置或打开文件的位置Vba 在特定位置将excel另存为PDF,vba,excel,Vba,Excel,我有下面一行代码,它应该是一个excel电子表格,并保存为PDF文件 它工作正常,并将PDF文件保存在打开文件所在的同一目录中,但突然之间,它似乎没有将PDF文件保存在正确的位置 有时它保存它,有时它不保存它。是否有一种方法可以更新代码以包含特定位置或打开文件的位置 Sheets("Mortgage Charts").Activate Range("L2").Select With Sheets("Mortgage Charts") .ExportAsFixedFormat _
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
我首先将
OpenAfterPublish:=
从false
更改为true
。然后在文档打开时查看文档属性,以确定其保存位置
我可以想象,如果没有错误,它会保存到一个未知的文件夹中。如果您发现文件确实正在保存,我会将目录名添加到Filename:=
参数中。您还可以使用以下命令将文件路径设置为变量:
x = Application.ActiveWorkbook.Path
它将以字符串形式返回工作簿的路径。使用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,请在结束时添加以下内容:
openDoc = docName & ".pdf"
ActiveWorkbook.FollowHyperlink openDoc
如果有人决定复制和粘贴,我可以建议编辑applicationon.Activeworkbook.Path
)我还建议尽可能避免激活
和选择
(只是为了养成良好的编码习惯)。我总是发现在不同的情况下如何表达自己。