📄 form1.vb
字号:
Imports System.IO
Imports System.Xml
Imports System.Security
Imports System.Security.Cryptography
Public Class frmMain
Public strPath As String = "\\Main_server\共通\日報システム\マスタ\"
Public strRepPath As String = "\\Main_server\共通\日報システム\"
Const strShain As String = "SHAIN.xml"
Const strPost As String = "POST.xml"
Const strPosition As String = "POSITION.xml"
Dim strPWD As String
Dim strAlpName As String
Dim strShainId As String
Dim dsShain As New DataSet
Dim dsPost As New DataSet
Dim dsPosition As New DataSet
Public dsReport As New DataSet
Public clsPass As New clsPWC
''' <summary>
''' 追加ボタン押下時
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Try
Dim strTitle As String
Dim intCount As Integer = Me.TabControl1.TabPages.Count
If (Not (Me.txtTitle.Text = Nothing)) Then
strTitle = Me.txtTitle.Text 'タイトルを変数へ
Else
MsgBox("タイトルが入力されていません。")
Me.txtTitle.Focus()
Exit Sub
End If
If (TabControl1.TabPages.Count >= 0) Then
For i As Integer = 0 To TabControl1.TabPages.Count - 1
If (Me.TabControl1.TabPages.Item(i).Text = strTitle) Then
MsgBox("同名の報告が存在します。")
Me.txtTitle.Focus()
Exit Sub
End If
Next
End If
'タブページの生成
Dim tbPage As New TabPage
tbPage.Name = "tbPage" & Me.TabControl1.TabCount.ToString
tbPage.Text = Me.txtTitle.Text
Me.TabControl1.TabPages.Add(tbPage)
If (Not (TabControl1.TabPages.Count.Equals(0))) Then Me.TabControl1.SelectTab(TabControl1.TabCount - 1)
'訪問部署ボックス生成(パネル上)
Dim txtBusyo As New TextBox
Dim lblBusyo As New Label
txtBusyo.Name = "txtBusyo0"
'lblBusyo.Text = "部署"
'lblBusyo.AutoSize = True
'splPanel.Panel1.Controls.Add(lblBusyo)
tbPage.Controls.Add(txtBusyo)
txtBusyo.Location = New Point(30, 0)
'lblBusyo.Location = New Point(0, 3)
txtBusyo.Size = New Size(250, 25)
txtBusyo.ImeMode = Windows.Forms.ImeMode.Hiragana
'報告内容2ボックス生成(予備)
Dim txtBusyo2 As New TextBox
Dim lblBusyo2 As New Label
txtBusyo2.Name = "txtBusyo1"
'lblBusyo2.Text = "予備欄"
'lblBusyo2.AutoSize = True
'splPanel.Panel1.Controls.Add(lblBusyo2)
tbPage.Controls.Add(txtBusyo2)
txtBusyo2.Location = New Point(350, 0)
'lblBusyo2.Location = New Point(300, 3)
txtBusyo2.Size = New Size(250, 25)
txtBusyo2.ImeMode = Windows.Forms.ImeMode.Hiragana
'報告内容ボックス生成(パネル上)
Dim txtReport As New TextBox
txtReport.Name = "txtReport" & (Me.TabControl1.TabCount - 1).ToString
txtReport.Multiline = True
txtReport.Font = New Font("MS P Gothic", 12, FontStyle.Regular)
txtReport.Size = New Size(Me.TabControl1.Width - 5, Me.TabControl1.Height - 50)
txtReport.Location = New Point(0, 35)
txtReport.Dock = DockStyle.Bottom
txtReport.ImeMode = Windows.Forms.ImeMode.Hiragana
Me.TabControl1.TabPages(Me.TabControl1.TabCount - 1).Controls.Add(txtReport)
txtBusyo.Focus()
Me.btnRegist.Enabled = True
Me.ToolStripButton1.Enabled = True
Me.ToolStripButton2.Enabled = True
Catch ex As Exception
MsgBox(ex.ToString, , "ページ追加処理の失敗")
Finally
End Try
End Sub
'画面読み込み時の処理
''' <summary>
''' ロード処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
dsShain.ReadXml(strPath & strShain)
dsPost.ReadXml(strPath & strPost)
dsPosition.ReadXml(strPath & strPosition)
For i As Integer = 0 To dsPost.Tables(1).Rows.Count - 1
If (dsPost.Tables(1).Rows(i).Item(2) = 1) Then
Me.ComboBox1.Items.Add(dsPost.Tables(1).Rows(i).Item(1))
End If
Next
Me.DataGridView1.DataSource = dsShain.Tables(1)
Catch ex As XmlException
MessageBox.Show(ex.ToString, "XML読み込みエラー")
Catch ex As Exception
MessageBox.Show(ex.ToString, "ロード失敗")
Finally
Me.DataGridView1.Visible = False
'パス入力まで各種ボタンを非活性
Me.btnAdd.Enabled = False
Me.ToolStripButton1.Enabled = False
Me.ToolStripButton2.Enabled = False
Me.ToolStripButton3.Enabled = False
Me.ToolStripButton4.Enabled = False
Me.btnRegist.Enabled = False
End Try
End Sub
'部署選択時
''' <summary>
''' 部署コンボボックス選択時の動作
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Try
Me.ComboBox2.Items.Clear()
Dim strBusyo As String = Me.ComboBox1.SelectedItem
For i As Integer = 0 To dsPost.Tables(1).Rows.Count - 1
If (strBusyo = dsPost.Tables(1).Rows(i).Item(1)) Then
Dim intBusyo As Integer = CInt(dsPost.Tables(1).Rows(i).Item(0))
For j As Integer = 0 To dsShain.Tables(1).Rows.Count - 1
If (dsShain.Tables(1).Rows(j).Item(3).Equals(CStr(intBusyo))) Then Me.ComboBox2.Items.Add(dsShain.Tables(1).Rows(j).Item(1))
Next
End If
Next
Me.MaskedTextBox1.Clear()
Me.btnAdd.Enabled = False
Me.btnRegist.Enabled = False
Me.ToolStripButton1.Enabled = False
Me.ToolStripButton2.Enabled = False
Me.ToolStripButton3.Enabled = False
Me.ToolStripButton4.Enabled = False
If (Me.ComboBox1.Text = "営業部") Then
Me.lblKensuu1.Text = "新規"
Me.lblKensuu2.Text = "再訪"
Me.lblKensuu1.Visible = True
Me.lblKensuu2.Visible = True
Me.txtKensuu1.Visible = True
Me.txtKensuu2.Visible = True
ElseIf (Me.ComboBox1.Text = "総務部") Then
Me.lblKensuu1.Text = "面接"
Me.lblKensuu2.Text = "採用"
Me.lblKensuu1.Visible = True
Me.lblKensuu2.Visible = True
Me.txtKensuu1.Visible = True
Me.txtKensuu2.Visible = True
Else
Me.lblKensuu1.Visible = False
Me.lblKensuu2.Visible = False
Me.txtKensuu1.Visible = False
Me.txtKensuu2.Visible = False
End If
Me.btnRegist.Enabled = False
Me.ToolStripButton1.Enabled = False
Me.ToolStripButton2.Enabled = False
Me.ToolStripButton3.Enabled = False
Me.ToolStripButton4.Enabled = False
Catch ex As Exception
MsgBox(ex.ToString, , "部署の選択処理失敗")
End Try
End Sub
'保存ボタン押下時の動作
''' <summary>
''' 保存ボタン押下時の動作
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnRegist_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegist.Click
Try
Dim i As Integer = 0
Dim strRepSpl() As String
Dim strBiko(3) As String
Dim strTab(Me.TabControl1.TabCount - 1) As String
Dim strTxt(Me.TabControl1.TabCount - 1, 100) As String
Dim arrBusyo1 As New ArrayList
Dim arrBusyo2 As New ArrayList
Me.ToolStripProgressBar1.Value = 10
'年フォルダ存在チェック
If Directory.Exists(strRepPath & Me.DateTimePicker1.Value.Year) Then
'存在する場合は特に何もしない
Else
Directory.CreateDirectory(strRepPath & Me.DateTimePicker1.Value.Year)
End If
'月フォルダ存在チェック
If Directory.Exists(strRepPath & Me.DateTimePicker1.Value.Year & "\" & Me.DateTimePicker1.Value.Month) Then
'存在する場合は特に何もしない
Else
Directory.CreateDirectory(strRepPath & Me.DateTimePicker1.Value.Year & "\" & Me.DateTimePicker1.Value.Month)
End If
'日フォルダ存在チェック
If Directory.Exists(strRepPath & Me.DateTimePicker1.Value.Year & "\" & Me.DateTimePicker1.Value.Month & "\" & Me.DateTimePicker1.Value.Day) Then
'存在する場合は特に何もしない
Else
Directory.CreateDirectory(strRepPath & Me.DateTimePicker1.Value.Year & "\" & Me.DateTimePicker1.Value.Month & "\" & Me.DateTimePicker1.Value.Day)
End If
Me.ToolStripProgressBar1.Value = 20
'社員(識別アルファベット、社員IDを変数に格納)
For j As Integer = 0 To Me.DataGridView1.RowCount - 1
If (Me.ComboBox2.SelectedItem.ToString.Equals(Me.DataGridView1.Rows(j).Cells(1).EditedFormattedValue)) Then
strAlpName = Me.DataGridView1.Rows(j).Cells(2).Value
strShainId = Me.DataGridView1.Rows(j).Cells(0).Value
Exit For
End If
Next
Me.ToolStripProgressBar1.Value = 30
'ファイルの存在チェック&上書き確認
Dim strSonzai As String = strRepPath & Me.DateTimePicker1.Value.Year & "\" & Me.DateTimePicker1.Value.Month & "\" & Me.DateTimePicker1.Value.Day & "\"
strSonzai &= DateTimePicker1.Value.Year & CType(Me.DateTimePicker1.Value.Month, String).PadLeft(2, "0") & CType(DateTimePicker1.Value.Day, String).PadLeft(2, "0") & "_" & strAlpName & strShainId & ".xml"
If File.Exists(strSonzai) Then
' filePathのファイルは存在する
Dim drD As DialogResult
drD = MessageBox.Show("上書きします。よろしいですか。", "確認", MessageBoxButtons.OKCancel)
If (drD = Windows.Forms.DialogResult.Cancel) Then Exit Sub
Else
'ファイルが存在しない場合は、そのまま書込み実施
End If
Me.ToolStripProgressBar1.Value = 40
strBiko(0) = Me.DateTimePicker1.Value.Year
strBiko(0) &= CType(Me.DateTimePicker1.Value.Month, String).PadLeft(2, "0")
strBiko(0) &= Me.DateTimePicker1.Value.Day
strBiko(1) = Me.ComboBox1.SelectedItem
strBiko(2) = Me.ComboBox2.SelectedItem
Dim intElCount As Integer
Me.ToolStripProgressBar1.Value = 50
Dim k As Integer = 0
For Each tbpg As TabPage In Me.TabControl1.TabPages
For Each txtBox As TextBox In tbpg.Controls
If (txtBox.Name = "txtBusyo0") Then
arrBusyo1.Add(txtBox.Text)
k += 1
ElseIf (txtBox.Name = "txtBusyo1") Then
arrBusyo2.Add(txtBox.Text)
k += 1
ElseIf (txtBox.Name = "txtReport" & i.ToString) Then
Dim strTemp As String = txtBox.Text
strRepSpl = Split(strTemp, vbCrLf)
For l As Integer = 0 To strRepSpl.Length - 1
strTxt(i, l) = strRepSpl(l)
Next
strTab(i) = Me.TabControl1.TabPages.Count
i += 1
intElCount = i
End If
Next
Next
Me.ToolStripProgressBar1.Value = 70
MakeNewXml(strSonzai, strBiko(0), arrBusyo1, arrBusyo2, strTxt)
Me.ToolStripProgressBar1.Value = 90
'バイナリ化処理
Me.ToBinary(strSonzai, strSonzai)
'バイナリ化ここまで
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -