Skip to content

Visual Basic.NET いろいろなテクニック②

Posted in Visual Basic .NET, プログラム関係, and 技術メモ


業務アプリで使用できそうなものを五月雨に記録しておく。
まとまるまで待っていると忘れてしまうために・・・。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

Be First to Comment

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA