Public Class OldnumPicMan 'Public FindDir As String = My.Application.Info.DirectoryPath & "\pic" Private Sub OldnumPicMan_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated End Sub Private Sub OldnumPicMan_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load For Each SC As FarPoint.Win.Spread.Column In Me.MyFpoint1.ActiveSheet.Columns If Not (SC.DataField = "구관리구" OrElse SC.DataField = "구전산번호" OrElse SC.DataField = "관리구" OrElse SC.DataField = "전주번호") Then SC.Width = 0 Else SC.Width = 60 End If Next End Sub Private Sub bt_picselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_picselect.Click Dim A As New FolderBrowserDialog A.RootFolder = Environment.SpecialFolder.MyComputer A.SelectedPath = Me.lb_picdirectory.Text If A.ShowDialog() = Windows.Forms.DialogResult.Cancel Then MsgBox("선택이 취소되었습니다", MsgBoxStyle.Critical, "확인") Return End If Me.lb_picdirectory.Text = A.SelectedPath End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Me.Compare_OldImage() End Sub 'Private Sub Addlog_same(ByVal Index As Integer, ByVal memo As String) ' ' Return ' With Me.view_same.ActiveSheet ' .RowCount += 1 '//행증가 ' .Cells(.RowCount - 1, 0).Text = Index + 1 ' .Cells(.RowCount - 1, 1).Text = memo ' Me.pbar_same.Value += 1 ' End With 'End Sub 'Private Sub Addlog_Onot(ByVal Index As Integer) ' ' Return ' With Me.view_onot.ActiveSheet ' .RowCount += 1 '//행증가 ' .Cells(.RowCount - 1, 0).Text = Index + 1 ' '.Cells(.RowCount - 1, 1).Text = memo ' Me.pbar_onot.Value += 1 ' End With 'End Sub 'Private Sub Addlog_nnot(ByVal Index As Integer) ' ' Return ' With Me.view_nnot.ActiveSheet ' .RowCount += 1 '//행증가 ' .Cells(.RowCount - 1, 0).Text = Index + 1 ' ' .Cells(.RowCount - 1, 1).Text = memo ' Me.pbar_nnot.Value += 1 ' End With 'End Sub Private Sub Addlog_G(ByVal Index As Integer, ByVal filename1 As String, ByVal filename2 As String, ByVal Msg As String) '//정상변경시 With view_green.ActiveSheet .RowCount += 1 '//행증가 .Cells(.RowCount - 1, 0).Text = Index + 1 .Cells(.RowCount - 1, 1).Text = filename1 .Cells(.RowCount - 1, 2).Text = filename2 .Cells(.RowCount - 1, 3).Text = Msg '.Cells(.RowCount - 1, 4).Text = path2 'Me.pbar_modify.Value += 1 End With End Sub Private Sub Compare_OldImage() Dim A As New System.Text.StringBuilder("파일명에 추가된 태그를 입력하세요.") A.AppendLine() A.AppendLine("입력될 태그를 파일명의 앞뒤에 붙인후 검색합니다.") A.AppendLine() A.AppendLine("입력방법 : 앞에붙일태그/뒤에붙일태그 ") A.AppendLine() A.AppendLine("예) 파일명 뒤에 _01 이 붙은것을 검색하고자할때") A.AppendLine(" /_01 <= 입력하고 엔터") A.AppendLine() A.AppendLine("예) 파일명 앞에 P 가 붙은것을 검색하고자할때") A.AppendLine(" P/ <= 입력하고 엔터") A.AppendLine() A.AppendLine("예) 파일명 앞에 P가 붙고 뒤에 _1이 붙은것을 검색하고자할때") A.AppendLine(" p/_01 <= 입력하고 엔터") Dim Itag As String = InputBox(A.ToString, "태그입력", "/_01") If Itag = "" Then MsgBox("태그를 반드시 입력해야합니다" & vbCrLf & "작업이 취소되었습니다", MsgBoxStyle.Critical, "Error") Return End If Dim Stag() As String = Itag.Split("/") If Stag.GetUpperBound(0) <> 1 Then MsgBox("잘못된 태그가 입력되었습니다" & vbCrLf & "태그입력형식은 앞,뒤 를 / 로 묶은 형태입니다" & vbCrLf & vbCrLf & "예) P/_01", MsgBoxStyle.Information, "태그입력오류") Return End If Dim StartTime, Endtime As Date Dim 구관리구, 구전주번호, 파일명, 파일명2, 풀네임, 관리구, 전주번호 As String Dim Cnt As Integer = 0 Dim IDX As Integer = 0 Me.pbar_total.Minimum = 0 Me.pbar_total.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_total.Value = 0 Me.pbar_modify.Minimum = 0 Me.pbar_modify.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_modify.Value = 0 Me.pbar_onot.Minimum = 0 Me.pbar_onot.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_onot.Value = 0 Me.pbar_nnot.Minimum = 0 Me.pbar_nnot.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_nnot.Value = 0 Me.pbar_same.Minimum = 0 Me.pbar_same.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_same.Value = 0 Me.pbar_nopic.Minimum = 0 Me.pbar_nopic.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count Me.pbar_nopic.Value = 0 Me.view_green_Sheet1.RowCount = 0 'Me.view_nnot_Sheet1.RowCount = 0 'Me.view_onot_Sheet1.RowCount = 0 'Me.view_same_Sheet1.RowCount = 0 '//임시결과파일폴더를 생서한다 폴더경로는 그림파일 아래에 Dim 작업폴더 As String = "c:\구그림작업폴더" Dim 신폴더명 As String = Format(Now, "yyyyMMddhhmmss").ToString Dim 기존폴더 As String = 작업폴더 & "\" & 신폴더명 & "\변경전파일(원본)" Dim 신규폴더 As String = 작업폴더 & "\" & 신폴더명 & "\변경된파일" If Not System.IO.Directory.Exists(작업폴더) Then System.IO.Directory.CreateDirectory(작업폴더) If Not System.IO.Directory.Exists(작업폴더 & "\" & 신폴더명) Then System.IO.Directory.CreateDirectory(작업폴더 & "\" & 신폴더명) System.IO.Directory.CreateDirectory(기존폴더) System.IO.Directory.CreateDirectory(신규폴더) Dim 대상폴더 As New System.IO.DirectoryInfo(Me.lb_picdirectory.Text) Dim 검색결과() As System.IO.FileInfo '/첫번째방법 데이터셋에서 검색을 한다. StartTime = Now For Each DR As FarPoint.Win.Spread.Row In Me.MyFpoint1.ActiveSheet.Rows Me.pbar_total.Value = DR.Index 구관리구 = Me.MyFpoint1.Cells(DR.Index, "구관리구").Text 구전주번호 = Me.MyFpoint1.Cells(DR.Index, "구전산번호").Text 관리구 = Me.MyFpoint1.Cells(DR.Index, "관리구").Text 전주번호 = Me.MyFpoint1.Cells(DR.Index, "전주번호").Text '파일명 = 구관리구 & 구전주번호 'MsgBox(구관리구 & "/" & 구전주번호) ' MsgBox(관리구 & "/" & 전주번호) If CStr(구관리구 & 구전주번호) <> "" Then '//관리구 전주번호가 있을경우에만 확인한다. 풀네임 = Me.lb_picdirectory.Text & "\" & Stag(0) & 구관리구 & 구전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text 파일명 = Stag(0) & 구관리구 & 구전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text If CStr(구관리구 & 구전주번호).Trim = CStr(관리구 & 전주번호).Trim Then Addlog_G(DR.Index, "", "", "구번호와 신번호가 동일함") Me.pbar_same.Value += 1 ElseIf CStr(관리구 & 전주번호) <> "" Then 검색결과 = 대상폴더.GetFiles(파일명, IIf(Me.CHK_SUBDIR.Checked, 1, 0)) 'Dim fILES() As String = IO.Directory.GetFiles(Me.lb_picdirectory.Text, 관리구 & 전주번호 & Itag & "." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0)) If 검색결과.GetUpperBound(0) >= 0 Then '//구관리전산에해당하는 파일은 존재한다. 파일명2 = Me.lb_picdirectory.Text & "\" & Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text If Me.chk_test.Checked Then 검색결과(0).CopyTo(신규폴더 & "\" & Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text, True) 검색결과(0).MoveTo(기존폴더 & "\" & 검색결과(0).Name) End If Cnt += 1 Addlog_G(DR.Index, 검색결과(0).Name, Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text, "완료") Me.pbar_modify.Value += 1 Else '//구관리전산번호에 해당하는 그림이없으므로 패스 Addlog_G(DR.Index, "", "", "구번호의 그림이 존재하지 않음") Me.pbar_nopic.Value += 1 'Arin.WLog("##########구전산번호 그림이 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & 구전주번호, "\구관리전산그림변경(신관리전산없음).txt") End If Else Addlog_G(DR.Index, "", "", "신번호 데이터가 없습니다.") Me.pbar_nnot.Value += 1 'Arin.WLog("##########신관리전산번호가 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & 구전주번호, "\구관리전산그림변경(신관리전산없음).txt") End If Else '//구관리전산번호가 없어서 넘어갓다 Addlog_G(DR.Index, "", "", "구번호 데이터가 없습니다.") Me.pbar_onot.Value += 1 'Arin.WLog("##########구관리전산번호가 없습니다.(" & IDX & ")", "\구관리전산그림변경(구관리전산없음).txt") End If IDX += 1 Next Endtime = Now A.Remove(0, A.Length) A.AppendLine("시작시간=" & StartTime.ToString) A.AppendLine("종료시간=" & Endtime.ToString) A.AppendLine() A.AppendLine("경과시간=" & (Endtime - StartTime).ToString) A.AppendLine() A.AppendLine("전체=" & Me.MyFpoint1.ActiveSheet.Rows.Count) A.AppendLine("정상변경=" & Cnt) A.AppendLine("변경불가=" & Me.MyFpoint1.ActiveSheet.Rows.Count - Cnt) 'A.AppendLine(My.Application.Info.DirectoryPath & "\log 에서 자세한 로그를 볼 수 있습니다") MsgBox(A.ToString, MsgBoxStyle.Information, "구그림파일 변경결과") Process.Start("explorer.exe", 작업폴더 & "\" & 신폴더명) ' Dim aA As New Process 'Process.Start("explorer ", My.Application.Info.DirectoryPath & "\log") End Sub Private Sub m_allouuoolStripMenuItempMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_allouuoolStripMenuItem.Click Dim A As New SaveFileDialog A.Filter = "엑셀워크시트문서(*.XLS)|*.xls" A.FilterIndex = 0 A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경)전체목록" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString If A.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return Me.MyFpoint1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly) My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background) End Sub Private Sub m_outallMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_outall.Click Dim A As New SaveFileDialog A.Filter = "엑셀워크시트문서(*.XLS)|*.xls" A.FilterIndex = 0 A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경-모든목록)실행결과" If A.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return Me.view_green.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly) My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background) End Sub Private Sub m_outcnuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_outc.Click Dim A As New SaveFileDialog A.Filter = "엑셀워크시트문서(*.XLS)|*.xls" A.FilterIndex = 0 A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경-현재목록)실행결과" If A.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return Me.view_green.SaveExcel(A.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered) My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background) End Sub Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click Me.Close() End Sub End Class