2011年5月28日土曜日

時刻の関数 (1)

Basicの時刻関連の関数を使用したサンプルコードを下記に記す :
  
Sub ExampleTimeFunction1()
       Dim objSheet As Object
       Dim objCell As Object
       objSheet = ThisComponent.CurrentController.ActiveSheet
       '
       'Now 関数
       objCell = objSheet.getCellRangeByName("A1")
       objCell.String = "現在の日時"
       objCell = objSheet.getCellRangeByName("B1")
       objCell.String = Now()
       objCell = objSheet.getCellRangeByName("C1")
       objCell.Value = Now()
       '
       'Time ステートメント
       objCell = objSheet.getCellRangeByName("A2")
       objCell.String = "現在の時刻"
       objCell = objSheet.getCellRangeByName("B2")
       objCell.String = Time
       objCell = objSheet.getCellRangeByName("C2")
       objCell.Value = Time
'
      'Hour 関数
       objCell = objSheet.getCellRangeByName("A3")
       objCell.String = "現在の時刻...「時」"
       objCell = objSheet.getCellRangeByName("B3")
       objCell.String = Hour(Now())
       '
       'Minute 関数
       objCell = objSheet.getCellRangeByName("A4")
       objCell.String = "現在の時刻...「分」"
       objCell = objSheet.getCellRangeByName("B4")
       objCell.String = Minute(Now())
       '
       'Second 関数
       objCell = objSheet.getCellRangeByName("A5")
       objCell.String = "現在の時刻...「秒」"
       objCell = objSheet.getCellRangeByName("B5")
       objCell.String = Second(Now())
End Sub
  
上記マクロの実行結果は下図の通りである :

  
各関数、及び、ステートメントについての説明は下記の通りである :
  
1. Now 関数
   現在のシステム日付、及び、時刻の値を取得する。
   書式は下記の通り :
  
      Now()
  
   戻り値として日時の値を返す。
   上記サンプルコードと結果からもわかるように、Now() の戻り値は、
   String 型の変数に代入するなど、文字列として日時の値を取得する
   場合は日付と時刻の文字列となり、Long 型の変数に代入するなど、
   数値として取得する場合は日時のシリアル値を取得することができる。
  
2. Time ステートメント
   現在の時刻を文字列として取得する。

   書式は下記の通り :
  
      変数 = Time
  
   変数 が String 型の場合、HH:MM:SS 形式の文字列として取得できる...
   とヘルプには記載されているが、上図からもわかるように、実際は
   HH:MM 形式の文字列となるようである。
   また、試しに、数値として取得しようとすると、時刻の数値しか取得
   できないようである。
   秒単位の値が必要な場合は、Time ステートメントよりも、Now 関数を
   使用した方が無難なように気がする。
  
3. Hour 関数
   書式は下記の通り :
  
      Hour(日時の値)
  
   ここで、引数で指定する 日時の値 は、日時のシリアル値、または、
   日時の文字列、或いは、時刻の文字列、いずれでも良いようである。
   戻り値は、引数で指定した日付の「時」を表す整数値を返す。
  
4. Minute 関数
   書式は下記の通り :
  
      Minute(日付の値)
  
   ここで、引数で指定する 日時の値 は、日時のシリアル値、または、
   日時の文字列、或いは、時刻の文字列、いずれでも良いようである。
   戻り値は、引数で指定した日付の「分」を表す整数値を返す。
  
5. Second 関数
   書式は下記の通り :
  
      Second(日付の値)
  
   ここで、引数で指定する 日時の値 は、日時のシリアル値、または、
   日時の文字列、或いは、時刻の文字列、いずれでも良いようである。
   戻り値は、引数で指定した日付の「秒」を表す整数値を返す。

0 件のコメント:

コメントを投稿