2014-01-28 2 views
2

У меня есть условие в переменной. Я пытаюсь проверить, является ли условие истинным или нет.Условие IF в переменной

В приведенном ниже примере я присваиваю переменной «1 = 1» (которая является истиной) переменной MyCond. Я пытаюсь проверить, является ли условие в MyCond истинным. Поможете ли вы?


Sub Test() 

    MyCond = "1=1" 
    If MyCond = True Then 
     MsgBox "That is true" 
    Else 
     MsgBox "That is false" 
    End If 
End Sub 

+2

нет, ' "1 = 1" 'является строкой и неправда. '1 = 1' является выражением, и оно ** является истинным. – Plutonix

+1

Наличие« условия в переменной »пахнет плохой практикой программирования. Как показывает Plutonix, вы оцениваете строку; но то, что вы действительно хотите сделать, - это оценить две отдельные переменные. Поэтому меня интересует, как вы попадаете в строку «1 = 1». – Trace

+0

точно, как вы пришли к созданию строки '" 1 = 1 "' и в чем ее суть? –

ответ

5

Вы можете использовать Evaluate(MyCond):

Sub Test() 
    Dim MyCond As String 

    MyCond = "1=1" 
    If Evaluate(MyCond) Then 
     MsgBox "That is true" 
    Else 
     MsgBox "That is false" 
    End If 
End Sub 
0

Просто построить Boolean

Sub test() 
    Dim myCond As Boolean 
    myCond = (1 = 1) 
    MsgBox myCond 
End Sub 
Смежные вопросы