我使用以下宏从Excel电子表格中创建PDF文件:
Sub PDF_01()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "test.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
此宏到目前为止工作正常。但是,一旦我创建了文件“test.pdf”并再次运行宏,它将覆盖第一个文件,而不会给出任何警告消息,例如“文件名已经存在。你要覆盖它吗?”。
您知道我如何在我的代码中包含此消息吗?
答案 0 :(得分:2)
您可以使用Dir
查看该文件是否已存在,然后为用户提供另一种选择,即
Dim StrIn As String
StrIn = ThisWorkbook.Path & "\" & "test.pdf"
If Len(Dir(StrIn)) = 0 Then
ActiveSheet.ExportAsFixedFormat xlTypePDF, Filename:=StrIn, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Else
MsgBox "file already exists"
' do something else
End If