Dim intDay As Integer
intDay = 1
Dim intDay As Integer = 1
Sub TEST()
Dim intYear As Integer
Dim intMonth As Integer
Dim intDay As Integer
intYear = Year(Date)
intMonth = Month(Date)
intDay = 1
' 今月の1日から末日までの日をループ
Do While intDay <= Day(DateSerial(intYear, intMonth + 1, 0))
Debug.Print intDay
' 翌日へ
intDay = intDay + 1
Loop
End Sub
Sub Main()
Dim intYear As Integer = Today.Year
Dim intMonth As Integer = Today.Month
Dim intDay As Integer = 1
' 今月の1日から末日までの日をループ
Do While intDay <= Date.DaysInMonth(intYear, intMonth)
Console.WriteLine(intDay.ToString)
' 翌日へ
intDay += 1
Loop
End Sub
Dim strSQL As String ' SQL文
' 祝日パラメータマスタを参照
strSQL = "SELECT [GETSU]" ' (00)月
strSQL = strSQL & ",[SYORI_KBN]" ' (01)処理区分
strSQL = strSQL & ",[HIDUKE]" ' (02)[固定日]日
strSQL = strSQL & ",[FURIKAE_KBN]" ' (03)[固定日]振替
strSQL = strSQL & ",[SYUSU]" ' (04)[HM]週数
strSQL = strSQL & ",[YOBI]" ' (05)[HM]曜日
strSQL = strSQL & ",[SYUKU_NM]" ' (06)祝日名
strSQL = strSQL & ",[STR_YEAR]" ' (07)開始年
strSQL = strSQL & ",[END_YEAR]" ' (08)終了年
strSQL = strSQL & g_cnsFROM & g_cnsZZZ_HOLIDAY
strSQL = strSQL & " WHERE [TOUROKU_KBN]<>9"
strSQL = strSQL & " ORDER BY [GETSU],CASE [SYORI_KBN] WHEN 2 THEN 0 ELSE [SYORI_KBN] END,[HIDUKE];"
' 祝日パラメータマスタを参照
Dim strSQL As String = "SELECT [GETSU]" ' (00)月
strSQL &= ",[SYORI_KBN]" ' (01)処理区分
strSQL &= ",[HIDUKE]" ' (02)[固定日]日
strSQL &= ",[FURIKAE_KBN]" ' (03)[固定日]振替
strSQL &= ",[SYUSU]" ' (04)[HM]週数
strSQL &= ",[YOBI]" ' (05)[HM]曜日
strSQL &= ",[SYUKU_NM]" ' (06)祝日名
strSQL &= ",[STR_YEAR]" ' (07)開始年
strSQL &= ",[END_YEAR]" ' (08)終了年
strSQL &= g_cnsFROM & g_cnsZZZ_HOLIDAY
strSQL &= " WHERE [TOUROKU_KBN]<>9"
strSQL &= " ORDER BY [GETSU],CASE [SYORI_KBN] WHEN 2 THEN 0 ELSE [SYORI_KBN] END,[HIDUKE];"
'***************************************************************************************************
' ボタンを5個配置したサンプル Form1(Form)
'
' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!]
'***************************************************************************************************
Public Class Form1
'===============================================================================================
Private g_cnsButtonMax As Integer = 4 ' ボタン配列要素上限
Private g_tblButton() As Button ' ボタンの配列
'***********************************************************************************************
'* 処理名 :Form_Load
'* 機能 :フォーム初期化
'-----------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数 :(既定)
'***********************************************************************************************
Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'-------------------------------------------------------------------------------------------
ReDim g_tblButton(g_cnsButtonMax)
' ボタンを配列化する
g_tblButton(0) = Button1
g_tblButton(1) = Button2
g_tblButton(2) = Button3
g_tblButton(3) = Button4
g_tblButton(4) = Button5
'-------------------------------------------------------------------------------------------
Dim intIx As Integer = 0 ' テーブルINDEX
Dim intNo As Integer = 0 ' 表示№
' Tagとイベントをセット
Do While intIx <= g_cnsButtonMax
intNo += 1
' Tagに№をセット
g_tblButton(intIx).Tag = intNo
' クリックイベントを実装
AddHandler g_tblButton(intIx).Click, AddressOf Me.Button_Click
' 次へ
intIx += 1
Loop
End Sub
'***********************************************************************************************
'* 処理名 :Button_Click
'* 機能 :ボタンのクリックイベント
'-----------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数 :(既定)
'***********************************************************************************************
Private Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'-------------------------------------------------------------------------------------------
Dim intNo As Integer = CType(sender, Button).Tag ' 表示№
MessageBox.Show(Me, "Button" & intNo.ToString & "がクリックされました。")
End Sub
'----------------------------------------<< End of Source >>------------------------------------
End Class
Sub TEST2()
Const cnsUB As Integer = 2
Dim intIx1 As Integer ' 上位INDEX
Dim intCnt As Integer ' 連番
Dim tblValue(cnsUB, cnsUB) As Integer ' 2次元テーブル
' 上位ループ
Do While intIx1 <= cnsUB
Dim intIx2 As Integer ' 下位INDEX
' 下位ループ
Do While intIx2 <= cnsUB
' 連番を加算
intCnt = intCnt + 1
' 連番を2次元テーブルにセット
tblValue(intIx1, intIx2) = intCnt
' 次へ
intIx2 = intIx2 + 1
Loop
' 次へ
intIx1 = intIx1 + 1
Loop
End Sub
Dim intIx2 As Integer ' 下位INDEX
Dim intIx2 As Integer = 0 ' 下位INDEX
Sub Main()
Const cnsUB As Integer = 2
Dim intIx1 As Integer = 0 ' 上位INDEX
Dim intCnt As Integer = 0 ' 連番
Dim tblValue(cnsUB, cnsUB) As Integer ' 2次元テーブル
' 上位ループ
Do While intIx1 <= cnsUB
Dim intIx2 As Integer = 0 ' 下位INDEX
' 下位ループ
Do While intIx2 <= cnsUB
' 連番を加算
intCnt += 1
' 連番を2次元テーブルにセット
tblValue(intIx1, intIx2) = intCnt
' 次へ
intIx2 += 1
Loop
' 次へ
intIx1 += 1
Loop
End Sub
Dim tblValue As Variant
tblValue = Array("AAA", "BBB", "CCC")
Dim tblValue() As String = New String() {"AAA", "BBB", "CCC"}
' TODO: 第3引数は不要:使われていない(MdbConvert)
'**************************************************************************************************
' エラー発生時にエラーが起きたプロシージャ名をコンソールに表示させる例①
'**************************************************************************************************
Module Module1
'**********************************************************************************************
' メイン処理
'**********************************************************************************************
Sub Main()
'------------------------------------------------------------------------------------------
Const cnsProcname As String = "Main"
Try
' サブ処理①
Call GP_Sub1()
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & cnsProcname)
End Try
End Sub
'**********************************************************************************************
' サブ処理①
'**********************************************************************************************
Private Sub GP_Sub1()
'------------------------------------------------------------------------------------------
Const cnsProcname As String = "GP_Sub1"
Try
' サブ処理②
Call GP_Sub2()
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & cnsProcname)
End Try
End Sub
'**********************************************************************************************
' サブ処理②
'**********************************************************************************************
Private Sub GP_Sub2()
'------------------------------------------------------------------------------------------
Const cnsProcname As String = "GP_Sub2"
Try
Err.Raise(1)
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & cnsProcname)
End Try
End Sub
End Module
'**************************************************************************************************
' エラー発生時にエラーが起きたプロシージャ名をコンソールに表示させる例②
'**************************************************************************************************
Module Module2
'**********************************************************************************************
' メイン処理
'**********************************************************************************************
Sub Main()
'------------------------------------------------------------------------------------------
Try
' サブ処理①
Call GP_Sub1()
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & _
Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
'**********************************************************************************************
' サブ処理①
'**********************************************************************************************
Private Sub GP_Sub1()
'------------------------------------------------------------------------------------------
Try
' サブ処理②
Call GP_Sub2()
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & _
Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
'**********************************************************************************************
' サブ処理②
'**********************************************************************************************
Private Sub GP_Sub2()
'------------------------------------------------------------------------------------------
Try
Err.Raise(1)
Catch ex As Exception
Console.WriteLine(ex.Message & Strings.Space(1) & _
Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
End Module