【发布时间】:2015-06-29 11:40:32
【问题描述】:
以下代码保存了我的 Excel 工作表的选定区域。但是,如果我尝试保存与已经存在的文件具有相同文件名的文件,它只会保存文件而不显示“您要覆盖文件”对话框。
有没有办法更改此代码,以便它会询问我是否要覆盖预先存在的文件?
Option Explicit
Sub CreatePDF()
Dim wSheet As Worksheet
Dim vFile As Variant
Dim sFile As String
Set wSheet = ActiveSheet
sFile = Replace(Replace(wSheet.Name, " ", ""), ".", "_") _
& "_" _
& Format(Now(), "yyyymmdd\_hhmm") _
& ".pdf"
sFile = ThisWorkbook.Path & "\" & sFile
vFile = Application.GetSaveAsFilename _
(InitialFileName:=sFile, _
FileFilter:="PDF Files (*.pdf), *.pdf", _
Title:="Select Folder and FileName to save")
If vFile <> "False" Then
wSheet.Range("B2:J44").ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:=vFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox "PDF file has been created."
End If
End Sub
【问题讨论】:
-
您可以使用
Dir()来检查文件是否存在,然后使用MsgBox弹出您自己的消息。