2011-05-23 84 views
0

这必须是最基本的问题。我有下面的VB代码弹出一个对话框,当一个按钮被击中时保存一个PDF文件。Visual Basic Application.GetSaveAsFilename对话响应

它工作正常,只是我意识到它即使在取消按钮被击中时也执行SAVE FILE,这是非常奇怪的,除非我自己必须处理取消事件吗?

我该怎么办?我必须检查哪些返回码?

Sub SavePDF() 

Dim PDFName As String 

PDFName = ThisWorkbook.Name 

PDFName = Left(PDFName, Len(PDFName) - 5) 

PDFName = PDFName & ".pdf" 

FullFileName = Application.GetSaveAsFilename(PDFName, _ 
"PDF(*.pdf),*.pdf*", 1, "Save As PDF File") 

'check return code only executing the following when the Save Button is proessed 
'HOW DO I DO THIS? 
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
PDFName, Quality:=xlQualityStandard, _ 
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:= _ 
False 

End Sub 

编辑岗位后的日子: 仍然没有回答这个 - 当然,你可以测试在VB中的按钮????!

回答

0
If FullFileName = False 
    Exit Sub 
End If 

这应该工作...

+0

,只有当文件名** **未填写的作品。默认情况下,我得到了工作簿的名称,然后用该填充弹出对话名称,所以如果用户点击取消,FullFileName将始终为True。我更喜欢测试已经选择的按钮的逻辑。 – T9b 2011-05-23 11:49:59