2014-12-04 61 views
0

我使用下面的代碼以兩個字段作爲名稱來保存工作簿。這部分工作死了,但當保存爲窗口打開,我點擊取消,它會創建一個false.xml excel文件。不知道爲什麼。我試過沒有if語句但仍然創建它。創建false.xml文件的VBA代碼

有人可以告訴我爲什麼發生這種情況以及如何阻止它?

也有代碼來捕捉錯誤的VB?

問候

Sub FileSave() 

Dim IntialName As String 
Dim fileSaveName As Variant 

InitialName = Range("C2") & " " & Range("H2") & " Cash Sheet" 
fileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, _ 
fileFilter:="Excel Files (*.xls), *.xls") 

If fileSaveName <> False Then 
MsgBox "Save as " & fileSaveName 
End If 

ActiveWorkbook.SaveAs fileSaveName 

End Sub 

回答

0

在你的代碼檢查If fileSaveName <> False但如果是假的,你保存工作簿不顧。所以VBA從這個False值創建一個文件名。寫

If fileSaveName <> False Then 
    MsgBox "Save as " & fileSaveName 
    ActiveWorkbook.SaveAs fileSaveName 
End If 

改爲。

對於VBA中的錯誤處理外觀here

+0

傳說,我很難掌握這個VBA。 – 2014-12-04 11:48:31