2017-02-19 4 views
0

Я написал, что предложение if-else, но не работает корректно, и я не знаю почему. Как вы можете видеть, я хочу проверить, была ли уже отправлена ​​почта.IF-THEN-ELSE с вызовом функции

If informiert2 = True Then 

    If MsgBox("Weitere Benachrichtigung versenden?", vbOKCancel, "Kunde bereits informiert") = vbOK Then 

     MsgBox "Test" 
     Call sendemailKunde 

    End If 

Else 

    Call sendemailKunde 

End If 

В случае почта была уже отправлена, я хочу, чтобы всплывающее окно, которое спрашивает, если вы хотите отправить почту снова. Если вы нажмете на yes, то ничего не произойдет вместо MsgBox "Test", но функция sendemailKunde не будет вызвана.

В случае, если почта не была отправлена ​​уже, функция называется правильно и работает нормально.

+1

он должен работать, что у вас есть в коде 'sendemailKunde'? –

ответ

1

Ответ на @Gustav, выглядит хорошо. Если вы не хотите обновлять переменную informiert2, то есть ее также использовать впоследствии, вы можете использовать код ниже.

Dim NeedToSendEmail As Boolean 
If informiert2 Then 
    If MsgBox("Weitere Benachrichtigung versenden?", vbOKCancel, "Kunde bereits informiert") = vbOK Then 
     NeedToSendEmail = True 
    End If 
Else 
    NeedToSendEmail = True 
End If 

If NeedToSendEmail Then 
    Call sendemailKunde 
End If 
+0

Спасибо! это выглядит хорошо для меня. – rel0aded0ne

1

Вы можете перетасовать код немного:

If informiert2 = True Then 
    If MsgBox("Weitere Benachrichtigung versenden?", vbOKCancel, "Kunde bereits informiert") = vbOK Then 
     informiert2 = False 
    End If 
End If 
If informiert2 = False Then 
    Call sendemailKunde 
End If 
Смежные вопросы