我有Excel VBA代碼,打開使用它們的不同文件。可能會出現錯誤,因爲沒有文件在Excel中放鬆。我想創建一個MsgBox
這樣的錯誤與一個特定的文件不存在的消息。Excel vba在錯誤轉到不同的處理程序,具體取決於一個錯誤
現在我只能
On Error GoTo ErrorHandler
ErrorHandler:
MsgBox("File is absent")
但我不能確定究竟哪些文件不存在。有沒有辦法通過錯誤處理程序來實現它?也許通過一些額外的變量?
編輯:我通過
Workbooks.Open Filename:=...
打開的文件,但我很好奇一個應該做的事情,如果情況是
Dim fileTitle As String
filetitle=Dir()
爲好。
是您使用的代碼來打開文件(S)?它是Dir()聲明嗎?如果是這樣,s = Dir()返回找到的文件的名稱,如果沒有則返回空字符串。這完全取決於你如何在文件中循環。請提供您的代碼 –
您應該*做的是在您的程序嘗試打開它之前確保文件存在,然後適當地進行路由(例如,通過消息框向「Exit Sub」進行路由,通知用戶某些所需的輸入對於該方案不可用)。不要使用錯誤處理程序爲代碼提供意想不到的代碼,而是爲了避免導致錯誤的未處理的異常並乾淨地退出,而在代碼中構建適當的邏輯。 –
我只是使用FileSystemObject來檢查文件是否存在,然後再嘗試打開它 – Zac