IsMissing в процедуре с необязательными параметрами - лажа?

Программирование на Visual Basic for Applications
Green Isle
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.11.2003 (Ср) 16:09
Откуда: Питер

IsMissing в процедуре с необязательными параметрами - лажа?

Сообщение Green Isle » 09.07.2004 (Пт) 11:16

Наткнулся на такую проблему: при проверки на ввод параметра с Optional в Excele невведенный параметр оказывается с нулевым значением & IsMissing всегда False

для примера:

Function UName(Optional LN As String, Optional FN As String) As String
If Not (IsMissing(LN)) And Not (IsMissing(FN)) Then
UName = "1"
ElseIf IsMissing(LN) And Not (IsMissing(FN)) Then
UName = "2"
ElseIf Not IsMissing(LN) And IsMissing(FN) Then
UName = "3"
ElseIf IsMissing(LN) And IsMissing(FN) Then
UName = "4"

End If
End Function

Sub demoUName()
MsgBox UName("Green", "Isle")
MsgBox UName("Green")
MsgBox UName(, "Isle")
MsgBox UName()

End Sub

показывать всегда будет "1" :twisted: :shock: :?: :!:
Заранее благодарен

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 09.07.2004 (Пт) 11:57

Ничто так не ограничивает полёт мысли программиста, как компилятор

Green Isle
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 26.11.2003 (Ср) 16:09
Откуда: Питер

Сообщение Green Isle » 12.07.2004 (Пн) 15:51

Благодарю! Не думал, что 2000 и 2002 так разнятся!!! :shock:
Мелочь, а неприятно... :roll:
Еще раз спасибо :D
Заранее благодарен


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 98

    TopList