Antoine.st Multiple Conditions

Complex condition fomura

x が a で、y が b で、z が c のとき、処理1 を実行する。

これをひとつの if 文で書くのはかなり嫌な感じです。


  If HogeValue.Prop = "aaa" And _
     HogeFunc() = "bbb" And _
     HogeValue2.Prop = HogeFunc2() Then

     ' some process

  End If

なので、


  Dim result As Boolean

  result = HogeValue.Prop = "aaa"
  result = result And HogeFunc() = "bbb"
  result = result And HogeValue2.Prop = HogeFunc2()

  If result Then
    ' some process
  End If

などとしたほうがわかりやすいかな、と思ったり思わなかったり。変数名を工夫するのもありかな...。


  Dim HogeIsAAA As Boolean
  Dim HogeFuncIsBBB As Boolean
  Dim Hoge2EqHogeFunc2 As Boolean
  
  HogeIsAAA = HogeValue.Prop = "aaa"
  HogeFuncIsBBB = HogeFunc() = "bbb"
  Hoge2EqHogeFunc2 = HogeValue2.Prop = HogeFunc2()

  If HogeIsAAA And HogeFuncIsBBB And Hoge2EqHogeFunc2 Then
    ' some process
  End If