2011-05-23 81 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