当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年5月14日水曜日

日付の操作

日付関連第2弾。
前回は、2つの日付の差を算出したが、今回は1つの日付を元に別の日付を算出するというものである。

サンプルは、今の時間を基準としてそこからx日後(マイナスだと、前の日付)を算出するものである。
日付の計算に利用してほしい。


スクリプトの場合
Sub Click(Source As Button)
 '時間型変数の定義
 Dim jikan As NotesDateTime
 
 'Inputboxの戻り値の変数の定義
 Dim res As String
 
 '現在の時間をセット
 Set jikan = New NotesDateTime( Now )
 
 '現在の時間の表示
 Messagebox jikan.LocalTime , 0, "今の時間"
 
InputDate:
 '数値が入力されるまで続く
 res = Inputbox( "日付を何日進めますか?(-32768~32767)", "日付の操作", "" )
 '入力された値のチェック(数値以外は弾く)
 If Isnumeric( res ) Then
  Call jikan.AdjustDay( Cint( res ) )
 Else
  Messagebox "数字を入力してください(負数も可)。", 0 + 48, "日付の操作"
  '強制的に処理を戻す
  Goto InputDate
 End If
 Messagebox jikan.LocalTime, 0, res & "日後の時間"
End Sub


@関数の場合
jikan := @Now;
@Prompt([OK];"今の時間";@Text(jikan));
res := @Prompt([OKCANCELEDIT];"日付の操作";"日付を何日進めますか?";"");

tmp := @TextToNumber(res);
@If(@IsError(tmp);@Prompt([OK];"日付の操作";"数値を入力してください。");@Prompt([OK];res+"日後の時間";@Text(@Adjust(jikan;0;0;tmp;0;0;0))))

どうだろうか? 違いが判ってくれればうれしい。

0 件のコメント: