创建pdf文件时,如果文件名已存在,则显示警告消息

时间:2016-08-09 06:40:26

标签: excel excel-vba vba

我使用以下宏从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”并再次运行宏,它将覆盖第一个文件,而不会给出任何警告消息,例如“文件名已经存在。你要覆盖它吗?”。

您知道我如何在我的代码中包含此消息吗?

1 个答案:

答案 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