Option Explicit '社員情報登録フォームモジュール Private mlngRow As Long 'レコード番号 Private mobjWS As Worksheet 'ワークシート Private flg As Integer '新規[0]訂正[1]フラグ---2005/04/01 Private id As Long '社員主キー---2005/04/01 '入社年月日の選択 Private Sub cboDate1_Change() If Me.cboDate1.ListIndex > 0 Then With Me.txtDate2 .Enabled = True .BackColor = RGB(255, 255, 255) End With If Me.lblMsg1.Visible = False Then Me.lblMsg1.Visible = True Else With Me.txtDate2 .Enabled = False .BackColor = &H8000000F End With If Me.lblMsg1.Visible = True Then Me.lblMsg1.Visible = False End If End Sub '退職年月日の選択 Private Sub cboDate2_Change() If Me.cboDate2.ListIndex > 0 Then With Me.txtDate3 .Enabled = True .BackColor = RGB(255, 255, 255) End With If Me.lblMsg2.Visible = False Then Me.lblMsg2.Visible = True Else With Me.txtDate3 .Enabled = False .BackColor = &H8000000F End With If Me.lblMsg2.Visible = True Then Me.lblMsg2.Visible = False End If End Sub '同居特別障害者のチェック Private Sub chkSyogai_Click() If Me.chkSyogai.Value = 0 Then With Me.txtSyain8 .Enabled = False .BackColor = &H8000000F End With Else With Me.txtSyain8 .Enabled = True .BackColor = RGB(255, 255, 255) End With End If End Sub '本人が一般の障害者 Private Sub chkSyogai1_Click() If Me.chkSyogai1.Value = 0 Then Me.chkSyogai2.Visible = False If Me.chkSyogai1.Value = -1 Then Me.chkSyogai2.Visible = True End Sub 'クリアーボタン Private Sub cmdCancel_Click() 'フォームのリフレッシュ Call NewData '社員リストの取得 Call GetSyainList End Sub '削除ボタン Private Sub cmdDelete_Click() Dim intMsg As Integer 'メッセージ intMsg = MsgBox("削除しますか。", 32 + 4, "給与計算システム") If intMsg = 6 Then mobjWS.Cells(mlngRow, 1).EntireRow.Delete 'フォームのリフレッシュ Call NewData '社員リストの取得 Call GetSyainList End Sub '閉じるボタン Private Sub cmdEND_Click() Unload Me End Sub '登録ボタン Private Sub cmdOK_Click() Dim intMsg As Integer 'メッセージの戻り値 Dim i As Integer '整数型カウンタ intMsg = MsgBox("登録しますか。", 32 + 4, "給与計算システム") '登録 If intMsg = 6 Then '日付データの検査 If Me.txtDate1.Text = "" Then GoTo DateErrorProc ElseIf Me.txtDate1.Text <> "" Then If IsDate(Me.txtDate1.Text) = False Then GoTo DateErrorProc ElseIf Me.txtDate2.Text <> "" Then If IsDate(Me.txtDate2.Text) = False Then GoTo DateErrorProc ElseIf Me.txtDate3.Text <> "" Then If IsDate(Me.txtDate3.Text) = False Then GoTo DateErrorProc End If 'データ登録 Call LetData MsgBox "正常に登録しました。", 64 + 0, "給与計算システム" 'フォームのリフレッシュ Call NewData '社員リスト取得 Call GetSyainList End If '新規モードフラグ flg = 0 Exit Sub DateErrorProc: MsgBox "日付の値が不正です。", 16 + 0, "給与計算システム" End Sub '社員名リスト選択 Private Sub lstSyain_Click() Dim intMsg As Integer 'メッセージ Dim lngPID As Long '社員主キー 'レコード数の再定義 If mobjWS.Cells(1, 1).Value = "" Then mlngRow = 0 Else mlngRow = mobjWS.Cells(65536, 1).End(xlUp).Row End If '入力コントロールクリア Call ClearData '上書き On Error GoTo BlankProc If Me.lstSyain.ListIndex = -1 Then Exit Sub intMsg = MsgBox("訂正しますか。", 32 + 4, "給与計算システム") If intMsg = 6 Then '訂正モードフラグ flg = 1 Me.cmdDelete.Enabled = True '主キーの取得 lngPID = CLng(Me.lstSyain.List(Me.lstSyain.ListIndex, 0)) Call GetData(lngPID) ElseIf intMsg = 7 Then MsgBox "「再入力」ボタンをクリックして下さい。", 64 + 0, "給与計算システム" Me.cmdOk.Enabled = False Me.cmdDelete.Enabled = False End If Exit Sub BlankProc: MsgBox "社員リストは空です。", 48 + 0, "給与計算システム" End Sub 'フォーカスが当ったとき(住所) Private Sub txtAddress_Enter() With Me.txtAddress .BackColor = RGB(255, 255, 0) .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 4 End With End Sub 'フォーカスが外れたとき(住所) Private Sub txtAddress_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtAddress .BackColor = RGB(255, 255, 255) .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(生年月日) Private Sub txtDate1_Enter() With Me.txtDate1 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 If .Text = "" Then .Text = Format$(Now, "yyyy/mm/dd") End With End Sub 'フォーカスが外れたとき(生年月日) Private Sub txtDate1_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtDate1 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .Text = Format$(.Text, "yyyy/mm/dd") .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(入社年月日) Private Sub txtDate2_Enter() With Me.txtDate2 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 If .Text = "" Then .Text = Format$(Now, "yyyy/mm/dd") End With End Sub 'フォーカスが外れたとき Private Sub txtDate2_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtDate2 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .Text = Format$(.Text, "yyyy/mm/dd") .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(退社年月日) Private Sub txtDate3_Enter() With Me.txtDate3 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 If .Text = "" Then .Text = Format$(Now, "yyyy/mm/dd") End With End Sub 'フォーカスが外れたとき(退社年月日) Private Sub txtDate3_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtDate3 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .Text = Format$(.Text, "yyyy/mm/dd") .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(社員名) Private Sub txtName_Enter() With Me.txtName .BackColor = RGB(255, 255, 0) .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 4 End With End Sub 'フォーカスが外れたとき(社員名) Private Sub txtName_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtName .BackColor = RGB(255, 255, 255) .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(郵便番号) Private Sub txtPosNo_Enter() With Me.txtPosNo .BackColor = RGB(255, 255, 0) .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(郵便番号) Private Sub txtPosNo_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtPosNo .BackColor = RGB(255, 255, 255) .IMEMode = 0 End With End Sub '更新後(扶養控除) Private Sub txtSyain2_AfterUpdate() Dim objText As MSForms.TextBox 'テキストボックス Dim i As Integer '整数型カウンタ Dim objControls As Object 'コントロール Dim intNumber As Integer '扶養親族数 '扶養親族数の取得 If IsNumeric(Me.txtSyain2.Text) = False Then GoTo ErrorProc If Me.txtSyain2.Text <> "" Then intNumber = CInt(Me.txtSyain2.Text) If Me.txtSyain2.Text = "" Then intNumber = 0 'コントロールの状態 If intNumber > 0 Then For i = 3 To 7 Set objText = Controls("txtSyain" & CStr(i)) With objText .Enabled = True .BackColor = RGB(255, 255, 255) End With Next End If If Me.chkSyogai.Enabled = False Then Me.chkSyogai.Enabled = True Set objText = Nothing Exit Sub ErrorProc: MsgBox "入力値が不正です。", 16 + 0, "給与計算システム" With Me.txtSyain2 .SelStart = 0 .SelLength = Len(.Text) End With End Sub 'フォーカスが当ったとき(扶養控除) Private Sub txtSyain2_Enter() With Me.txtSyain2 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(扶養控除) Private Sub txtSyain2_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain2 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(特定扶養家族) Private Sub txtSyain3_Enter() With Me.txtSyain3 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(特定扶養家族) Private Sub txtSyain3_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain3 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(同居老親等) Private Sub txtSyain4_Enter() With Me.txtSyain4 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(同居老親等) Private Sub txtSyain4_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain4 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(老人扶養家族) Private Sub txtSyain5_Enter() With Me.txtSyain5 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(老人扶養家族) Private Sub txtSyain5_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain5 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(障害者) Private Sub txtSyain6_Enter() With Me.txtSyain6 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(障害者) Private Sub txtSyain6_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain6 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(特別障害者) Private Sub txtSyain7_Enter() With Me.txtSyain7 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(特別障害者) Private Sub txtSyain7_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain7 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(同居特別障害者) Private Sub txtSyain8_Enter() With Me.txtSyain8 .BackColor = RGB(255, 255, 0) .TextAlign = 1 .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(同居特別障害者) Private Sub txtSyain8_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtSyain8 .BackColor = RGB(255, 255, 255) .TextAlign = 3 .IMEMode = 0 End With End Sub 'フォーカスが当ったとき(電話) Private Sub txtTelphone_Enter() With Me.txtTelphone .BackColor = RGB(255, 255, 0) .SelStart = 0 .SelLength = Len(.Text) .IMEMode = 3 End With End Sub 'フォーカスが外れたとき(電話) Private Sub txtTelphone_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.txtTelphone .BackColor = RGB(255, 255, 255) .IMEMode = 0 End With End Sub 'フォームのロード時 Private Sub UserForm_Initialize() '初期設定 Call NewData 'リストボックスに社員名を格納 Call GetSyainList 'フラグ設定 flg = 0 End Sub 'フォームクローズ Private Sub UserForm_Terminate() Set mobjWS = Nothing End Sub 'ワークシートデータの取得 Private Sub GetData(ByVal lngID As Long) '引数[lngID]:インデックス Dim clsSyain As clsPersonal '社員情報クラス Dim A() As Variant 'データ Dim objControls As Object 'コントロール Dim lngRow As Long 'レコード Dim i As Long '長整数型カウンター ReDim A(28) As Variant '配列再定義 '社員IDと一致するレコードの取得 mobjWS.Activate lngRow = mobjWS.Range(Cells(1, 1), Cells(mlngRow, 1)).Find(lngID, Cells(mlngRow, 1), xlValues).Row '社員IDを保持 id = lngID 'カレントレコードの移動 mlngRow = lngRow '社員クラスのインスタンス Set clsSyain = New clsPersonal 'プロパティの値を取得 clsSyain.GetProperty mobjWS, mlngRow, A(0), A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), A(10), _ A(11), A(12), A(13), A(14), A(15), A(16), A(17), A(18), A(19), A(20), A(21), A(22), _ A(23), A(24), A(25), A(26), A(27), A(28) 'コントロールの値 With Me .txtName.Text = A(1) If A(2) = 0 Then .optSex1.Value = True If A(2) = 1 Then .optSex2.Value = True .cboKubun.ListIndex = CLng(A(3)) .cboDate1.ListIndex = CLng(A(4)) .cboDate2.ListIndex = CLng(A(5)) .txtDate1.Text = Format$(A(6), "yyyy/mm/dd") .txtDate2.Text = Format$(A(7), "yyyy/mm/dd") .txtDate3.Text = Format$(A(8), "yyyy/mm/dd") .txtPosNo.Text = A(9) .txtAddress.Text = A(10) .txtTelphone.Text = A(11) .txtSyain1.Text = A(12) If A(13) = 1 Then .optKafu1.Value = True If A(13) = 0 Then .optKafu1.Value = False: .optKafu3.Value = True If A(14) = 1 Then .optKafu2.Value = True If A(14) = 0 Then .optKafu2.Value = False: .optKafu3.Value = True If A(15) = 1 Then .chkRonen.Value = 1 If A(15) = 0 Then .chkRonen.Value = 0 If A(16) = 1 Then .chkKinrou.Value = 1 If A(16) = 0 Then .chkKinrou.Value = 0 If A(17) = 1 Then .chkHaigusya1.Value = 1 If A(17) = 0 Then .chkHaigusya1.Value = 0 If A(18) = 1 Then .chkHaigusya2.Value = 1 If A(18) = 0 Then .chkHaigusya2.Value = 0 .txtSyain2.Text = A(19) .txtSyain3.Text = A(20) .txtSyain4.Text = A(21) .txtSyain5.Text = A(22) .txtSyain6.Text = A(23) .txtSyain7.Text = A(24) .txtSyain8.Text = A(25) .cboKouOtu.ListIndex = A(26) .chkSyogai1.Value = A(27) .chkSyogai2.Value = A(28) End With 'コントロールの状態 If Me.txtSyain2.Text > 0 Then For i = 3 To 5 Set objControls = Controls("txtSyain" & CStr(i)) If objControls.Visible = False Then objControls.Visible = True Set objControls = Controls("lblSyain" & CStr(i + 5)) If objControls.Visible = False Then objControls.Visible = True Next End If '書き込みProcで「1」加算されているため変更 mlngRow = mlngRow - 1 '配列の開放 If IsEmpty(A) = True Then Erase A 'クラスの開放 Set clsSyain = Nothing 'オブジェクトの開放 Set objControls = Nothing End Sub 'ワークシートへ書き出し Private Sub LetData() Dim clsSyain As clsPersonal '社員クラス Dim A() As Variant 'コントロールのデータ Dim objText As Object 'テキストボックス Dim i As Integer '整数型カウンタ Dim f As Byte 'フラグ Const lngNextIndex As Long = 1 'インデックスの自動附番 ReDim A(28) As Variant '配列再定義 'フォームのデータを配列に格納 '新規モード If flg = 0 Then If mlngRow > 0 Then A(0) = CLng(mobjWS.Cells(mlngRow, 1).Value) + lngNextIndex ElseIf mlngRow = 0 Then A(0) = CLng(1) Else GoTo ErrorProc End If '訂正モード ElseIf flg = 1 Then A(0) = id Else A(0) = id End If '空白テキストボックスのNULL値を回避 For Each objText In Me.Controls f = InStr(objText.Name, "txt") If f > 0 Then If objText.Text = "" Then objText.Text = 0 End If Next A(1) = Me.txtName.Text If Me.optSex1.Value = True Then A(2) = CInt(0) If Me.optSex2.Value = True Then A(2) = CInt(1) If Me.optSex1.Value = False And Me.optSex2.Value = False Then GoTo SexErrorProc A(3) = Me.cboKubun.ListIndex A(4) = Me.cboDate1.ListIndex A(5) = Me.cboDate2.ListIndex If IsDate(Me.txtDate1.Text) = True Then A(6) = CDate(Me.txtDate1.Text) If IsDate(Me.txtDate1.Text) = False Then GoTo DateErrorProc If IsDate(Me.txtDate2.Text) = True Then A(7) = CDate(Me.txtDate2.Text) If cboDate1.ListIndex > 0 And IsDate(Me.txtDate2.Text) = False Then GoTo DateErrorProc If IsDate(Me.txtDate3.Text) = True Then A(8) = CDate(Me.txtDate3.Text) If cboDate2.ListIndex > 0 And IsDate(Me.txtDate3.Text) = False Then GoTo DateErrorProc A(9) = CStr(Me.txtPosNo.Text) A(10) = CStr(Me.txtAddress.Text) A(11) = CStr(Me.txtTelphone.Text) A(12) = CLng(Me.txtSyain1.Text) If Me.optKafu1.Value = True Then A(13) = CInt(1) If Me.optKafu1.Value = False Then A(13) = CInt(0) If Me.optKafu2.Value = True Then A(14) = CInt(1) If Me.optKafu2.Value = False Then A(14) = CInt(0) If Me.chkRonen.Value = -1 Then A(15) = CInt(1) If Me.chkRonen.Value = 0 Then A(15) = CInt(0) If Me.chkKinrou.Value = -1 Then A(16) = CInt(1) If Me.chkKinrou.Value = 0 Then A(16) = CInt(0) If Me.chkHaigusya1.Value = -1 Then A(17) = CInt(1) If Me.chkHaigusya1.Value = 0 Then A(17) = CInt(0) If Me.chkHaigusya2.Value = -1 Then A(18) = CInt(1) If Me.chkHaigusya2.Value = 0 Then A(18) = CInt(0) A(19) = CLng(Me.txtSyain2.Text) A(20) = CLng(Me.txtSyain3.Text) A(21) = CLng(Me.txtSyain4.Text) A(22) = CLng(Me.txtSyain5.Text) A(23) = CLng(Me.txtSyain6.Text) A(24) = CLng(Me.txtSyain7.Text) A(25) = CLng(Me.txtSyain8.Text) A(26) = CInt(Me.cboKouOtu.ListIndex) If Me.chkSyogai1.Value = -1 Then A(27) = CInt(1) If Me.chkSyogai1.Value = 0 Then A(27) = CInt(0) If Me.chkSyogai2.Value = -1 Then A(28) = CInt(1) If Me.chkSyogai2.Value = 0 Then A(28) = CInt(0) '社員クラスのインスタンス Set clsSyain = New clsPersonal clsSyain.LetProperty mobjWS, mlngRow + 1, A(0), A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), A(10), _ A(11), A(12), A(13), A(14), A(15), A(16), A(17), A(18), A(19), A(20), A(21), A(22), _ A(23), A(24), A(25), A(26), A(27), A(28) '配列の開放 If IsEmpty(A) = True Then Erase A 'クラスの開放 Set clsSyain = Nothing Exit Sub SexErrorProc: MsgBox "性別は、かならず選択して下さい。", 48 + 0, "給与計算システム" Exit Sub DateErrorProc: MsgBox "日付に変換できません。" & vbCrLf & "入力例:2000/4/1", 48 + 0, "給与計算システム" Exit Sub ErrorProc: MsgBox "主キーデータ値が不正です。" & vbCrLf & "サポートを受けて下さい。", 16 + 0, "給与計算システム" End Sub '社員リストの取得 Private Sub GetSyainList() Dim clsSyainID() As clsList '社員リストクラス Dim A() As Variant 'データ Dim i As Long '長整数型カウンタ Dim j As Long '配列設定値 If mlngRow = 0 Then j = 0 If mlngRow > 0 Then j = mlngRow ReDim clsSyainID(j) As clsList 'クラス再定義 ReDim A(j, 1) As Variant '配列再定義 For i = 0 To j - 1 '社員リストクラスのインスタンス Set clsSyainID(i) = New clsList '社員リストの取得 clsSyainID(i).GetData mobjWS, i + 1, 1, 1, 4 '配列に格納 A(i, 0) = clsSyainID(i).id A(i, 1) = clsSyainID(i).Name Next With Me.lstSyain .Clear .ColumnCount = 2 .List() = A End With If IsEmpty(A) = True Then Erase A 'クラスの開放 For i = 0 To j - 1 Set clsSyainID(i) = Nothing Next End Sub '起動時の設定 Private Sub NewData() Dim objControls As Object 'コントロール Dim objText As MSForms.TextBox 'テキストボックス Dim intCount As Integer 'コントロール数 Dim i As Integer '整数型カウンタ 'ワークシートオブジェクト Set mobjWS = Workbooks(gstrName).Worksheets("Sheet2") 'レコード If mobjWS.Cells(1, 1).Value = "" Then mlngRow = 0 Else mlngRow = mobjWS.Cells(65536, 1).End(xlUp).Row End If 'テキストボックスコントロール For Each objControls In Me.Controls i = InStr(objControls.Name, "txt") If i > 0 Then objControls.Text = "" Next '人数データの検査 For i = 1 To 8 Set objText = Controls("txtSyain" & CStr(i)) If objText.Text = "" Then objText.Text = 0 Next 'ラベルコントロール For Each objControls In Me.Controls i = InStr(objControls.Name, "lbl") If i > 0 Then objControls.TextAlign = 3 Next 'コントロールの状態 For i = 3 To 8 Set objControls = Controls("txtSyain" & CStr(i)) With objControls .Enabled = False .BackColor = &H8000000F End With Next With Me.lstSyain .ColumnWidths = "0;72" .ListIndex = -1 End With Call ClearData Set objControls = Nothing Set objText = Nothing End Sub '入力コントロールのクリア Private Sub ClearData() '入社年月日 With Me.cboDate1 .Clear .AddItem "在職" .AddItem "途中入社" .ListIndex = 0 .IMEMode = 3 End With '退職年月日 With Me.cboDate2 .Clear .AddItem "在職" .AddItem "死亡退職" .AddItem "普通退職" .ListIndex = 0 .IMEMode = 3 End With '区分 With Me.cboKubun .Clear .AddItem "取締役" .AddItem "一般" .AddItem "パート" .AddItem "アルバイト" .ListIndex = 1 .IMEMode = 3 End With '甲欄乙欄区分 With Me.cboKouOtu .Clear .AddItem "甲欄" .AddItem "乙欄" .ListIndex = 0 .IMEMode = 3 End With 'かならず1ページ目から If Me.mltSyain.Value > 0 Then Me.mltSyain.Value = 0 '初期値設定 Me.optSex1.Value = True Me.optKafu3.Value = True Me.chkHaigusya1.Value = 0 Me.chkHaigusya2.Value = 0 Me.chkKinrou.Value = 0 Me.chkSyogai.Value = 0 Me.chkRonen.Value = 0 Me.chkSyogai1.Value = 0 With Me.txtDate2 .Enabled = False .BackColor = &H8000000F End With With Me.txtDate3 .Enabled = False .BackColor = &H8000000F End With 'コントロールの状態の初期値 Me.lblMsg1.Visible = False Me.lblMsg2.Visible = False If Me.cmdOk.Enabled = False Then Me.cmdOk.Enabled = True If Me.cmdDelete.Enabled = True Then Me.cmdDelete.Enabled = False If Me.cmdCancel.Enabled = False Then Me.cmdCancel.Enabled = True If Me.cmdEnd.Enabled = False Then Me.cmdEnd.Enabled = True If Me.lstSyain.Visible = False Then Me.lstSyain.Visible = True If Me.chkSyogai2.Visible = True Then Me.chkSyogai2.Visible = False If Me.chkSyogai.Enabled = True Then Me.chkSyogai.Enabled = False With Me.txtSyain1 .Enabled = False .BackColor = &H8000000F .Value = 1 '初期値設定 .TextAlign = 3 End With flg = 0 '新規作成モード//--edit 205/6/22 Me.txtName.SetFocus End Sub