業務アプリで使用できそうなものを五月雨に記録しておく。
まとまるまで待っていると忘れてしまうために・・・。ww
なお、このブログ内に記載しているソースの転載・転用については何も縛りはありません。
ご使用の状況の如何に問わず、作者たる当方は結果についてその責任を一切負いません。ご使用は自己責任の範囲でお願いいたします。
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
【月末を求めるサブプロシージャ】
業務アプリでは意外と多い月末の算出。月初は決まった日で始まるので問題はありませんが、締日等で月末を必要とする場合が多い。
そんなことで自分で必要な関数を作成したものを流用できるように記載しておく。
基本的には「取得したい年」と「取得したい月」を与えて月末の日を返す。
戻り値はStringで戻すので好きに型変換してください。
Private Function GetLastDay(Optional intYear As Integer = 0, Optional intMonth As Integer = 0) As String
'戻り値の初期値
GetLastDay = Nothing
'処理内の変数宣言
Dim intSetYear As Integer = 0
Dim intSetMonth As Integer = 0
Try
'[年]が初期値の場合
If intYear = 0 Then
'当日の年をセット
intSetYear = Now.Year
Else
'それ以外はそのままの値をセット
intSetYear = intYear
End If
'[月]が初期値の場合
If intMonth = 0 Then
'当日の月をセット
intSetMonth = Now.Month
Else
'それ以外はそのままの値をセット
intSetMonth = intMonth
End If
'次月の初日を取得
Dim datNextDate As Date = DateAdd(DateInterval.Month, 1, DateSerial(intSetYear, intSetMonth, 1))
'次月の初日の1日前を取得し[日]をStringに変換して返す。
Return CType(DateAdd(DateInterval.Day, -1, datNextDate).Day, String)
Exit Function
Catch ex As Exception
MessageBox.Show("エラーが発生しました。" & Chr(13) & ex.ToString, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return Nothing
End Try
End Function