Откройте книгу, выйдите из подпрограммы в случае сбоя - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь открыть woorkbook на заднем плане в макросе. Когда пользователь выходит из диалогового окна открытия файла, я, конечно, хочу, чтобы программа завершила работу.

Но каждая попытка этого не удалась ...

' Get the file to open
tempFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")

Что я пробовал до сих пор:

' Catch abort of the open file dialog
If IsEmpty(tempFile) Then
    End
End If
' Catch abort of the open file dialog
If IsEmpty(tempFile) Or Not tempFile Then
    End
End If
' Catch abort of the open file dialog
If IsEmpty(tempFile) Or Not CBool(tempFile) Then
    End
End If
' Catch abort of the open file dialog
If IsEmpty(tempFile) Or tempFile Like "false" Then
    End
End If

Несмотря ни на что, я всегда получаю сообщение об ошибке "Несоответствие типов".

Ответы [ 2 ]

4 голосов
/ 13 сентября 2011
dim tempFile
tempFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
if tempFile = False then
   'user cancelled the dialog. exit the code
else
   msgbox "User wants to open the file at : " & tempFile
end if
0 голосов
/ 13 сентября 2011

Кроме того, будьте осторожны, потому что если вы делаете

dim tempFile as String

... что, вероятно, правильно сделать, тогда вы должны выполнить проверку следующим образом:

If tempFile = "False" Then

, который идет против зерна, но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...