Указание пути к папке

vinni
Дата: 19.11.2009 10:17:06
Есть код:
H=1
While H <> 0 ' проверяем до тех пор пока путь к папке не будет существовать

If Dir(k, vbDirectory) = "" Then

retvalue = MsgBox("Папка не существует", vbOKOnly, "Ошибка")

DoCmd.OpenForm "path_form", acNormal, , , , acDialog ' вызываем диалоговое окно указания новой папки

..... возвращаем переменной k путь к директории
    
Else: H = 0
End If

Wend

И все работает правильно, но есть одна ситуация, в котором Dir(k, vbDirectory) возвращает ошибку:
Bad file name or number

это когда переменной k присвоено значение a:\ и в дисковод не вставлена дискета.
Как можно решить эту маленькую проблемку?
Чтобы при такой ситуации программа сообщила, что дискета не вставлена и запросила путь к новой папке.

Заранее благодарен за помощь
Guest33
Дата: 19.11.2009 11:47:45
Попробуйте (нет под рукой дискеты, чтобы проверить самому)
Public Function IsFloppyReady() As Boolean
Dim dc As Object
    Set dc = CreateObject("Scripting.FileSystemObject")
    IsFloppyReady = dc.Drives("a").IsReady
    Set dc = Nothing
End Function
CoolMind
Дата: 19.11.2009 11:48:03
vinni, поскольку вы детально описали проблему, то решение видно легко.
Нужно использовать конструкцию вида On Error GoTo Err_label
Т.е. использовать обработку ошибок. Внутри для ясности можно также проверять Err.Number для выбора варианта действий в зависимости от типа ошибки.