Выбор .OFT на основе ответа на ComboBox - PullRequest
0 голосов
/ 15 мая 2018

Я создал комбинированный список с 3 вариантами. У меня есть 3 типа .OFT, которые соотносятся с этим списком. Комбо-ящик называется Study_String.

Dim Study_Stage As String

If Study_Stage <> "Start-Up" Or Study_Stage <> "Closed at IRB" Then

    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Maintenance.oft")

End If

If Study_Stage = "Maintenance" Or Study_Stage <> "Closed at IRB" Then

    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Start Up.oft")

End If

If Study_Stage <> "Maintenance" Or Study_Stage <> "Start-Up" Then

    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Closure.oft")

End If

В его нынешнем виде он просто использует OFT TEMPLATE CLOSURE.OFT и не будет использовать другие два.

1 Ответ

0 голосов
/ 15 мая 2018

Я думаю, вы хотите ElseIf.
Посмотрите на это

If Study_Stage <> "Start-Up" Or Study_Stage <> "Closed at IRB" Then
    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Maintenance.oft")
ElseIf Study_Stage = "Maintenance" Or Study_Stage <> "Closed at IRB" Then
    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Start Up.oft")
ElseIf Study_Stage <> "Maintenance" Or Study_Stage <> "Start-Up" Then
    Set objMsg = OutApp.CreateItemFromTemplate("X:\Users\Test Realm\OFT Template Closure.oft")
End If

В вашем коде будет выполняться каждый блок if.Затем побеждает тот, кто бежит последним.Также - Ваши условия не имеют большого смысла.Я не знаю логики, стоящей за этим, но когда вы видите ... <> ... Or ... <> ..., часто возникает логическая ошибка.

...