2011年6月14日火曜日

テスト関数

今回は Calc Basic の各種テスト関数について。
  
1. IsArray 関数
   書式は
  
      IsArray(Varname)
  
   変数 Varname が配列であるか否かを判定する。配列の場合は True、
   そうでない場合は False を、それぞれ戻り値として返す。
  
2. IsDate 関数
   書式は
  
      IsDate(Expression)
  
   引数 Expression に指定された数式、または、文字列が日付や時刻として
   妥当であるかの判定を行う。日付や時刻として妥当であれば 戻り値として
   True を、そうでない場合は False をそれぞれ返す。
  
3. IsEmpty 関数
   書式は
  
      IsEmpty(Varname)
  
   Variant 型の変数 Varname が空 (Empty) である場合、すなわち、初期化前
   である場合、戻り値として True を、そうでない場合は False を返す。
   ここで、Variant 型変数の Empty であるが、これは null でも、"" (空文字列)
   でもない、Variant 型特有の値で、「初期化されていない」ことを表すキーワード
   らしい。実際、下記のサンプルコード、
  
Sub ExampleTestFunctions1()
       Dim var As Variant
       '
       var = Empty
       If IsEmpty(var) Then
              Msgbox("変数は「空」です-その1-")
       Else
              Msgbox("変数は「空」ではありません-その1-")
       End If
       '
       var = null
       If IsEmpty(var) Then
              Msgbox("変数は「空」です-その2-")
       Else
              Msgbox("変数は「空」ではありません-その2-")
       End If
       '
       var = ""
       If IsEmpty(var) Then
              Msgbox("変数は「空」です-その3-")
       Else
              Msgbox("変数は「空」ではありません-その3-")
       End If
End Sub
  
を実行すると、
  
      ・変数は「空」です-その1-
      ・変数は「空」ではありません-その2-
      ・変数は「空」ではありません-その3-
  
の順にメッセージが表示される。つまり、Empty は null でも "" でもない、
ということになる。摩訶不思議...
  
4. IsMissing 関数
   書式は
  
      IsMissing(Argumentname)
  
   Funtion や Sub で指定した Optional パラメータが指定されているか否か
   の判定に用いる。たとえば、
  
      Sub xxxx(ByVal arg1, Optional arg2)
  
   や
  
      Function xxxx(ByVal arg1, Optional arg2)
  
   というプロシージャや関数で
  
      IsMissing(arg2)
  
   の戻り値が True の場合、arg2 は省略されてないことを示し、逆に戻り値
   が False の場合、引数 arg2 が省略されたことを示す。
  
5. IsNull 関数
   書式は
  
      IsNull(Varname)
  
   変数 Varname が null の場合、戻り値として True を返し、null でない場合は
   False が戻り値として返される。
  
6. IsNumeric 関数
   書式は
  
      IsNumeric(Expression)
  
   引数 Expression に指定された数式、または、文字列が数字として妥当であるか
   の判定を行う。数字として妥当であれば 戻り値として True を、そうでない場合は
   False をそれぞれ返す。
  
7. IsObject 関数
   書式は
  
      IsObject(Varname)
  
   変数 Varname がオブジェクト型の変数の場合、戻り値として True を返し、そう
   でない場合は False が戻り値として返される。
  
もうひとつ、ヘルプに IsUnoStruct 関数というのがあったが、使い途が全くわから
ないので割愛する。

0 件のコメント:

コメントを投稿