Tips-関数編 |
ここでは、意外と知られてないけど、覚えておくとちょっと便利な関数を紹介しています。これらの関数は、別に知らなくとも仕事はできますが、知っているとちょっと得します。
IIf |
VBでは、こんなコーディングってよく書きますよね!
If i > 100 Then
これは、IIf を使用すると一行で書けます。
IIf( i > 100, 100, i + 1)i =
すなわち、条件によって、ある変数に値を設定したい場合に便利です。
ちなみに、IIf
は、C言語を知っている人には吉報で、次のコーディングをVBで実現できます。
i = (i < 0) ? 100 : i+1;
Choose |
この関数は、IIf の拡張版を思ってよいですが、指定された値によって変数に値を設定したい場合に便利です。
GetChoice = Choose(Ind, "One", "Two", "Three")
コーディングから想像できるように、ind の値が 1 の場合は
GetChoice に "One" 、2 の場合は "Two"、3 の場合には"Three"
が設定されます。
Select Case で書くと以下のように、長くなってしまいます。
Select Case Ind
Switch |
この関数も、C言語を知っている人にはちょっと吉報です。基本的には、Select Case と同じですが、C言語では Switch は馴染みがあるので、ほんのちょっとお得です。書き方は次の通り。
Matchup = Switch(CityName = "ロンドン", "英語", CityName _
Switch
は、引数に、条件と条件が成立した場合の値を交互に指定し、成立した条件の値を返します。
整理して書くと次の通りです。
CityName = "ロンドン", "英語", _Matchup = Switch( _
Array |
N88Basic 等で、Read、Data文を知っている人には、吉報です。配列に初期値を設定したい場合などに便利です。
Array 関数を使用すると、Variant 型の変数に Variant
型の配列が、返されます。この Variant
型の配列を使用して、各配列を初期化します。
Dim varWeek As Variant
Dim strWeeks(7) As String
Dim i As Integer
varWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
For i = 0 To 6
strWeeks(i) = varWeek(i)
Next
同様なコーディングを Choose でもできます。
Dim strWeeks(7) As String
Dim i As Integer
For i = 0 To 6
strWeeks(i) = Choose(i + 1, "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
Next
(注意) Array
関数を使用して作成した配列のインデックスの最小値は、常に 0
です。ほかの種類の配列とは異なり、Option Base
ステートメントに最小値を指定しても影響を受けません。
(注意)このページの内容は、Visual
Basic5.0(SP3)
を対象に記述されています。他のバージョンでは、対応できないこともあるので、ご注意願います。
(注意)
ここでの情報については、あくまでも各自の責任にて、充分にテストを行ってご使用ください。内容に関する質問については、回答できる保証がありませんので、予めご了承願います。