Imports System.IO Imports System.Text Public Class XLSOldtonew Structure Str_Macro Dim FileName As String Dim Desc As String End Structure ' Dim FN As String = vbNullString ' Dim Arin As New CommonClassv2.ARINCLASS Dim Srcfile As String = "" '//¿øº»ÆÄÀÏ ÇöÀç ºÒ·¯¿Â À̰ųª ÀÌÀü¿¡ ºÒ·¯¿Ó´ø Dim findCnt As Integer = 0 Dim ListOk As ArrayList Dim ListOld As ArrayList Dim ListOK4 As ArrayList Dim ListOld4 As ArrayList Dim MacroPattern As String = "oton" Dim IniFile As String = My.Application.Info.DirectoryPath & "\macro\" & MacroPattern & "\default.ini" Dim MacroPath As String = My.Application.Info.DirectoryPath & "\macro\" & MacroPattern Dim Macro() As Str_Macro Private Sub Load_Macro() Dim Ini As MyINI2 Dim DI As New DirectoryInfo(Me.MacroPath) If Not DI.Exists Then DI.Create() Dim FI() As FileInfo = DI.GetFiles(Me.MacroPattern & "*.ini") ReDim Macro(FI.GetUpperBound(0)) '//¸ÅÅ©·Î µî·ÏÇÑ´Ù. Dim I As Integer = 0 Me.cmb_macro.Items.Clear() Me.cmb_macro.Items.Add("ÀÌÀü¼³Á¤") For Each F As FileInfo In FI Me.Macro(I).FileName = F.FullName Ini = New MyINI2(F.FullName) Me.Macro(I).Desc = Ini.Read("main", "desc", "±âº»¼³¸í") Me.cmb_macro.Items.Add(Me.Macro(I).Desc) I += 1 Next End Sub Private Sub AddNewList(ByVal Stext As String) '//list ok ¿¡ ½Å°ü¸®±¸¸¦ Áý¾î³Ö´Â´Ù. '//Áߺ¹µÈ´Ù¸é ³ÖÁö¾Ê´Â´Ù. If ListOk.IndexOf(Stext.ToUpper) >= 0 OrElse Stext.Length = 0 Then Return ListOk.Add(Stext.ToUpper) End Sub Private Sub AddoldList(ByVal Stext As String) '//list ok ¿¡ ½Å°ü¸®±¸¸¦ Áý¾î³Ö´Â´Ù. '//Áߺ¹µÈ´Ù¸é ³ÖÁö¾Ê´Â´Ù. If ListOld.IndexOf(Stext.ToUpper) >= 0 OrElse Stext.Length = 0 Then Return ListOld.Add(Stext.ToUpper) End Sub Private Sub AddNewList4(ByVal Satext As String) '//list ok ¿¡ ½Å°ü¸®±¸¸¦ Áý¾î³Ö´Â´Ù. '//Áߺ¹µÈ´Ù¸é ³ÖÁö¾Ê´Â´Ù. Dim Ntext As String = Satext If Satext.Length >= 4 Then Ntext = Satext.Substring(0, 4) If ListOK4.IndexOf(Ntext.ToUpper) >= 0 OrElse Ntext.Length = 0 Then Return ListOK4.Add(Ntext.ToUpper) End Sub Private Sub AddoldList4(ByVal Satext As String) '//list ok ¿¡ ½Å°ü¸®±¸¸¦ Áý¾î³Ö´Â´Ù. '//Áߺ¹µÈ´Ù¸é ³ÖÁö¾Ê´Â´Ù. Dim Ntext As String = Satext If Satext.Length >= 4 Then Ntext = Satext.Substring(0, 4) If ListOld4.IndexOf(Ntext.ToUpper) >= 0 OrElse Ntext.Length = 0 Then Return ListOld4.Add(Ntext.ToUpper) End Sub Private Sub XLSImport_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing ' Me.ListView3.COLSIZE_SAVE() Me.Save_Setting() End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'Load_Setting() Load_Macro() Me.cmb_macro.SelectedIndex = 0 Try Me.srcview.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) ' Me.viewnew.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//±ÛÀÚÁ¤º¸ ºÒ·¯¿À±â Me.ToolStrip3.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//±ÛÀÚÁ¤º¸ ºÒ·¯¿À±â Me.ToolStrip2.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//±ÛÀÚÁ¤º¸ ºÒ·¯¿À±â Catch ex As Exception End Try End Sub Private Sub Load_Setting(Optional ByVal Macroindex As Integer = 0) Dim ini As MyINI2 If Macroindex = 0 Then ini = New MyINI2(IniFile) Else ini = New MyINI2(Me.Macro(Macroindex - 1).FileName) End If If ini.Exist = False Then MsgBox("ȯ°æÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê¾Æ¼­ ±âÁ¸ÀÇ ¼³Á¤À» ºÒ·¯¿ÀÁö ¸øÇß½À´Ï´Ù", MsgBoxStyle.Critical, "È®ÀÎ") Return End If Me.tb_srcstt.Text = ini.Read("normal", "srcstartpos", "1") '//½ÃÀÛ Me.tb_srcend.Text = ini.Read("normal", "srcendpos", "0") '//Á¾·á Me.Srcfile = ini.Read("normal", "srcfile", "") For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel3.Controls A.¿­¹øÈ£ = ini.Read("CURSETNUMsrc", A.Name) A.¹®ÀÚ¿­ÀÚ¸£±â = ini.Read("CURSETSPLsrc", A.Name) A.ºó°ªÃ¼Å© = ini.Read("CURSETNULsrc", A.Name, False) Next For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel6.Controls A.¿­¹øÈ£ = ini.Read("CURSETNUMdes", A.Name) A.¹®ÀÚ¿­ÀÚ¸£±â = ini.Read("CURSETSPLdes", A.Name) A.ºó°ªÃ¼Å© = ini.Read("CURSETNULdes", A.Name, False) Next End Sub Private Sub Save_Setting(Optional ByVal Macroindex As Integer = 0) '//ÇöÀç ¼ÂÆÃÀ» ÀúÀåÇÕ´Ï´Ù. '//ÀúÀå¸ñ·ÏÀº ½ÃÀÛ/Á¾·á ¿­¹øÈ£ ¾ÆÀÌÅÛÀÇ ÅØ½ºÆ®ÀÌ´Ù. Dim Macroname As String Dim ini As MyINI2 Dim FileName As String If Macroindex = 0 Then ini = New MyINI2(IniFile) Macroname = "±âº»¼³Á¤" FileName = IniFile WLog2(Auto_Log, "SaveSetting(±âº»:" & IniFile & ")", "\Macro.txt") ElseIf Macroindex = -999 Then '//ÀÌ°Ç »õ·Î¿î ¸ÅÅ©·ÎÀÇ Ãß°¡´Ù. ¸ÅÅ©·Î ÆÄÀϸíÀ» »õ·ÎÁö¾î¾ßÇÑ´Ù. Macroname = InputBox("¸ÅÅ©·Î ¼³¸íÀ» ÀÔ·ÂÇϼ¼¿ä", "¼³¸íÀÔ·Â", "½Å±Ô¸ÅÅ©·Î") Dim i As Integer = 0 Dim NewName As String = "" NewName: i += 1 NewName = Me.MacroPath & "\" & Me.MacroPattern & Format(Me.Macro.GetUpperBound(0) + i + 1, "00") & ".ini" ' MsgBox(MacroPath & "/" & MacroPattern & "/" & Format(Me.Macro.GetUpperBound(0) + i + 1) & "/" & NewName) WLog2(Auto_Log, "SaveSetting(½Å±Ô:" & NewName & ")", "\Macro.txt") If File.Exists(NewName) Then GoTo NewName ini = New MyINI2(NewName) 'WLog2(Auto_Log, "SaveSetting(" & NewName & ")", "\Macro.txt") FileName = NewName Else ini = New MyINI2(Me.Macro(Macroindex - 1).FileName) Macroname = Me.Macro(Macroindex - 1).Desc WLog2(Auto_Log, "SaveSetting(±âÁ¸:" & Me.Macro(Macroindex - 1).FileName & ")", "\Macro.txt") FileName = Me.Macro(Macroindex - 1).FileName End If WLog2(Auto_Log, "Ini FileName = " & ini.FileName, "\Macro.txt") ini.Write("main", "desc", Macroname) WLog2(Auto_Log, "Write_Main_Desc", "\Macro.txt") ini.Write("normal", "srcstartpos", Me.tb_srcstt.Text) '//½ÃÀÛ WLog2(Auto_Log, "Write_srcstartpos", "\Macro.txt") WLog2(Auto_Log, "Ini FileName = " & ini.FileName, "\Macro.txt") ini.Write("normal", "srcendpos", Me.tb_srcend.Text) '//Á¾·á WLog2(Auto_Log, "Write_srcendpos", "\Macro.txt") WLog2(Auto_Log, "Ini FileName = " & ini.FileName, "\Macro.txt") ini.Write("normal", "srcfile", Me.Srcfile) WLog2(Auto_Log, "Write_Control_position", "\Macro.txt") WLog2(Auto_Log, "Ini FileName = " & ini.FileName, "\Macro.txt") For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel3.Controls '//°¢ ÅØ½ºÆ®¹Ú½º ini.Write("CURSETNUMsrc", A.Name, A.¿­¹øÈ£) ini.Write("CURSETSPLsrc", A.Name, A.¹®ÀÚ¿­ÀÚ¸£±â) ini.Write("CURSETNULsrc", A.Name, A.ºó°ªÃ¼Å©) Next WLog2(Auto_Log, "Write_panel3_position", "\Macro.txt") For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel6.Controls '//°¢ ÅØ½ºÆ®¹Ú½º ini.Write("CURSETNUMdes", A.Name, A.¿­¹øÈ£) ini.Write("CURSETSPLdes", A.Name, A.¹®ÀÚ¿­ÀÚ¸£±â) ini.Write("CURSETNULdes", A.Name, A.ºó°ªÃ¼Å©) Next WLog2(Auto_Log, "Write_panel6_position", "\Macro.txt") End Sub Private Sub SetNewText(ByVal sender As MyControlOLEDBv2.ImpCtl, ByVal RowNum As Integer, ByVal Stext As String) '//¸¸¾à ³¯Â¥Æ÷¸ËÀ̸é FORMAT À» ÁöÁ¤Çؼ­ »ç¿ëÇÑ´Ù" Dim SUbidx As Integer Dim VALSTR As String If sender.¿­¹øÈ£ = "" Then '/./¿­ÀÌ ÁöÁ¤µÇ¾îÀÕÁö ¾ÊÀ¸¹Ç·Î ±×³ÉºüÁ®³ª°£´Ù. Return Else '//ÀÖ´Ù. SUbidx = sender.¿­¹øÈ£ If Stext = "" Then ' MsgBox("°ªÀ̾ø¾î¼­ ¹Ù·Îº¸³½´Ù") Return '//µ¥ÀÌÅ;øÀ¸¸é ¸®ÅÏ End If If sender.¹®ÀÚ¿­ÀÚ¸£±â = "" OrElse sender.¹®ÀÚ¿­ÀÚ¸£±â = "0,0" Then '//¹®ÀÚ¿­ÀÚ¸£±âÈ®ÀÎ ¾ø´Ù ±×´ë·Î ¸®ÅÏ Me.srcview.ActiveSheet.Cells(RowNum, CInt(SUbidx - 1)).Text = Stext Else '//¹®ÀÚ¿­ÀÚ¸£±â°¡ ÀÖÀ¸¸é Àß¶ó¼­ º¸³»ÁØ´Ù. Dim DIV() As String = sender.¹®ÀÚ¿­ÀÚ¸£±â.Split(",") If DIV(1) = "0" Then '//½ÃÀÛºÎÅÍ ³¡±îÁö Try VALSTR = (Stext.Substring(DIV(0) - 1)) Catch ex As Exception VALSTR = Stext End Try Me.srcview.ActiveSheet.Cells(RowNum, CInt(SUbidx - 1)).Text = VALSTR Else '/ÁöÁ¤¹üÀ§ Try VALSTR = Stext.Substring(DIV(0) - 1, DIV(1)) Catch ex As Exception VALSTR = Stext End Try Me.srcview.ActiveSheet.Cells(RowNum, CInt(SUbidx - 1)).Text = VALSTR End If End If End If End Sub Private Function GetFPData(ByVal sender As MyControlOLEDBv2.ImpCtl, ByVal Drow As FarPoint.Win.Spread.Row, ByVal CustFp1 As FarPoint.Win.Spread.FpSpread) As String '//¸¸¾à ³¯Â¥Æ÷¸ËÀ̸é FORMAT À» ÁöÁ¤Çؼ­ »ç¿ëÇÑ´Ù" Dim SUbidx As Integer Dim VALSTR As String If sender.¿­¹øÈ£ = "" Then '//Áï ¾ø´Ù´Â¶æÀÌ´Ù. Return "" Else '//ÀÖ´Ù. SUbidx = sender.¿­¹øÈ£ If CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text = "" Then ' MsgBox("°ªÀ̾ø¾î¼­ ¹Ù·Îº¸³½´Ù") Return "" '//µ¥ÀÌÅ;øÀ¸¸é ¸®ÅÏ End If If sender.¹®ÀÚ¿­ÀÚ¸£±â = "" OrElse sender.¹®ÀÚ¿­ÀÚ¸£±â = "0,0" Then '//¹®ÀÚ¿­ÀÚ¸£±âÈ®ÀÎ ¾ø´Ù ±×´ë·Î ¸®ÅÏ VALSTR = CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text Return VALSTR Else '//¹®ÀÚ¿­ÀÚ¸£±â°¡ ÀÖÀ¸¸é Àß¶ó¼­ º¸³»ÁØ´Ù. Dim DIV() As String = sender.¹®ÀÚ¿­ÀÚ¸£±â.Split(",") If DIV(1) = "0" Then '//½ÃÀÛºÎÅÍ ³¡±îÁö Try VALSTR = (CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1)) Catch ex As Exception VALSTR = CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text End Try Return VALSTR Else '/ÁöÁ¤¹üÀ§ Try VALSTR = CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1, DIV(1)) Catch ex As Exception VALSTR = CustFp1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text End Try Return VALSTR End If End If End If End Function Private Function GetFPData(ByVal sender As MyControlOLEDBv2.ImpCtl, ByVal Drow As Integer, ByVal CustFp1 As FarPoint.Win.Spread.FpSpread) As String '//¸¸¾à ³¯Â¥Æ÷¸ËÀ̸é FORMAT À» ÁöÁ¤Çؼ­ »ç¿ëÇÑ´Ù" Dim SUbidx As Integer Dim VALSTR As String If sender.¿­¹øÈ£ = "" Then '//Áï ¾ø´Ù´Â¶æÀÌ´Ù. Return "" Else '//ÀÖ´Ù. SUbidx = sender.¿­¹øÈ£ If CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text = "" Then ' MsgBox("°ªÀ̾ø¾î¼­ ¹Ù·Îº¸³½´Ù") Return "" '//µ¥ÀÌÅ;øÀ¸¸é ¸®ÅÏ End If If sender.¹®ÀÚ¿­ÀÚ¸£±â = "" OrElse sender.¹®ÀÚ¿­ÀÚ¸£±â = "0,0" Then '//¹®ÀÚ¿­ÀÚ¸£±âÈ®ÀÎ ¾ø´Ù ±×´ë·Î ¸®ÅÏ VALSTR = CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text Return VALSTR Else '//¹®ÀÚ¿­ÀÚ¸£±â°¡ ÀÖÀ¸¸é Àß¶ó¼­ º¸³»ÁØ´Ù. Dim DIV() As String = sender.¹®ÀÚ¿­ÀÚ¸£±â.Split(",") If DIV(1) = "0" Then '//½ÃÀÛºÎÅÍ ³¡±îÁö Try VALSTR = (CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1)) Catch ex As Exception VALSTR = CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text End Try Return VALSTR Else '/ÁöÁ¤¹üÀ§ Try VALSTR = CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1, DIV(1)) Catch ex As Exception VALSTR = CustFp1.ActiveSheet.Cells(Drow, CInt(SUbidx - 1)).Text End Try Return VALSTR End If End If End If End Function Private Function NullCHeck() As Boolean For Each C As Control In Me.TableLayoutPanel3.Controls If C.GetType.Name.ToUpper = "IMPCTL" Then If CType(C, MyControlOLEDBv2.ImpCtl).¿­¹øÈ£ <> "" AndAlso CType(C, MyControlOLEDBv2.ImpCtl).ºó°ªÃ¼Å© Then '//üũµÈ°ÔÀÕÀ¸¸é ¸®ÅÏÇÑ´Ù. Return True End If End If Next Return False End Function Private Function GetMaxCount1(ByVal sp As Integer) As Integer Dim Strbuff As System.Text.StringBuilder Dim NullCnt As Short = 0 Dim I As Integer = 0 For I = sp To Me.srcview.ActiveSheet.RowCount Strbuff = New System.Text.StringBuilder Strbuff.Append(Me.srcview.ActiveSheet.Cells(I, 0).Text) ' Me.view1.ActiveSheet.Cells(Me.tb_sttrange.Text, CT.¿­¹øÈ£.Substring(1)).Text) Strbuff.Append(Me.srcview.ActiveSheet.Cells(I, 1).Text) ' Me.view1.ActiveSheet.Cells(Me.tb_sttrange.Text, CT.¿­¹øÈ£.Substring(1)).Text) Strbuff.Append(Me.srcview.ActiveSheet.Cells(I, 2).Text) ' Me.view1.ActiveSheet.Cells(Me.tb_sttrange.Text, CT.¿­¹øÈ£.Substring(1)).Text) If Strbuff.ToString.Trim <> "" Then NullCnt = 0 Else NullCnt += 1 If NullCnt = 5 Then '//ºóÁÙÀ̳ª¿Ã¶§ ³ÎÄ«¿îÆ®¸¦ Áõ°¡½ÃŰ°í ºóÁÙÀÌ 5¹ø¿¬¼Ó³ª¿Ã¶§´Â ºüÁ®³ª¿Â´Ù. Exit For End If End If Next Return I - 4 End Function Private Sub showcnt(ByVal cnt1 As Integer, ByVal cnt2 As Integer) Me.lb_cnt.Text = cnt1 & "/" & cnt2 My.Application.DoEvents() End Sub Private Sub RunSrc() '//Àû¿ë·çƾ ³¡¿¡ Ãß°¡¸¦ ÇØÁִ°ͻÓÀÌ´Ù (±âŸ¹øÈ£Âû) Dim Á¶ÇÕ1 As String '//Á¶ÇÕ´Â notnull ÀÌ´Ù Dim Á¶ÇÕ2 As String '//Á¶ÇÕ´Â notnull ÀÌ´Ù Dim H1 As String = "" Dim H2 As String = "" Dim H3 As String = "" Dim °Ë»ö¹®ÀÚ As String Dim NullChk As Boolean = Me.NullCHeck '//ÀÌ°Ç ¿øº»ÀÇ ³Îüũ Dim NullVal As String = "" Dim cnt As Integer = -1 Dim StartCnt As Integer = CInt(Me.tb_srcstt.Text) Dim EndCnt As Integer = IIf(CInt(Me.tb_srcend.Text) = 0, GetMaxCount1(StartCnt), CInt(Me.tb_srcend.Text)) Dim index As Integer = 0 For Each Dr As FarPoint.Win.Spread.Row In Me.srcview.ActiveSheet.Rows '//¸ðµç·Î¿ì¿¡ÇØ´çÇϴµ¥ ½ÃÀÛÁÙºÎÅÍÇÑ´Ù If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//½ÃÀÛÀ妽º ÀÌ»óÀϰæ¿ì¿¡¸¸ ÇÑ´Ù. index += 1 showcnt(index, EndCnt) Me.srcview.ActiveSheet.Cells(Dr.Index, Me.ImpCtl4.¿­¹øÈ£ - 1).Text = "" NullVal = False Try Á¶ÇÕ1 = Me.GetFPData(Me.srcctl1, Dr, Me.srcview).ToUpper Á¶ÇÕ2 = Me.GetFPData(Me.srcctl2, Dr, Me.srcview).ToUpper If NullChk Then '//³Î°ª üũ½Ã¿¡ üũµÈ°ÍÀÌ nullÀ̶ó¸é nullval À» true·Î ¹Ù²Û´Ù. NullVal = "" If Me.srcctl1.ºó°ªÃ¼Å© Then NullVal &= IIf(Á¶ÇÕ1.Trim = "", "", "X") If Me.srcctl2.ºó°ªÃ¼Å© Then NullVal &= IIf(Á¶ÇÕ2.Trim = "", "", "X") Else NullVal = "X" '//±âº»false·Î ÇØÁà¾ßÇÑ´Ù. End If If NullVal.Trim <> "" Then 'falseÀ϶§¸¸ Ãß°¡ÇÑ´Ù. true´Â ³Î°ªÀÌÀÕÀ¸¹Ç·Î ³Ñ¾î°£´Ù. '//ÀÌÁ¦ À̺κп¡¼­ ´ë»óÆÄÀÏÀÇ ³»¿ëÀ» ÀüºÎ ·çÇÁ·Î µ·´Ù. °Ë»ö¹®ÀÚ = CStr(Á¶ÇÕ1 & Á¶ÇÕ2).Trim If °Ë»ö¹®ÀÚ = "" Then Me.srcview.ActiveSheet.Cells(Dr.Index, Me.ImpCtl4.¿­¹øÈ£ - 1).Text &= "[X] °Ë»öÇÒ ¹®ÀÚ°¡ ¾øÀ½" Else Me.srcview.ActiveSheet.Cells(Dr.Index, Me.ImpCtl4.¿­¹øÈ£ - 1).Text &= "[O]" '//°Ë»ö´ë»ó ¹®ÀÚ°¡ ÀÕÀ¸¹Ç·Î ¿©±â¼­ °¢Á¾ Á¶ÇÕÀ» ÅëÇØ¼­ ½ÅÀüÁÖ¹øÈ£¸¦ »êÃâÇÑ´Ù. '//´ë»óÀº µÞÀÚ¸® 3ÀÚ¸¦ Åä´ë·Î ¾ÕÀÇ ¾ËÆÄºªÀ» ±¸ÇÏ°í ´Ù±¸ÇÑÈÄ µÚ¿¡¼­ 4¹øÂ°ÀÚ¸®¸¦ ÅëÇØ¼­ A~Z ±îÁö¸¦ »êÃâÇÑ´Ù. If °Ë»ö¹®ÀÚ.Length <> 8 Then Me.srcview.ActiveSheet.Cells(Dr.Index, Me.ImpCtl4.¿­¹øÈ£ - 1).Text &= "[X] ¿¹»ó±æÀÌ 8ÀÌ µÇÁö ¾Ê½À´Ï´Ù" Me.Parser(°Ë»ö¹®ÀÚ, H1, H2, H3) '//ºÐ·ù°¡ ¿Ï·áµÇ¾ú´Ù ÀÌÁ¦ ÁöÁ¤µÈ ¿­·Î º¸¿©ÁØ´Ù. Me.SetNewText(Me.ImpCtl1, Dr.Index, CStr(H1 & H2 & H3)) Me.SetNewText(Me.ImpCtl2, Dr.Index, CStr(H1 & H2 & H3)) Me.SetNewText(Me.ImpCtl3, Dr.Index, CStr(H1 & H2 & H3)) End If ' End If Catch ex As ConstraintException '//Áߺ¹ ' AddLog("¹øÈ£Áߺ¹", "Áߺ¹µÈ ¹øÈ£:" & ¹øÈ£) Catch ex As Exception ' AddLog(ex.InnerException.ToString, ex.Message.ToString) End Try End If Next If findCnt = 0 Then 'MsgBox("ÀÏÄ¡ÇÏ´Â ÁÙÀÌ ¾ø½À´Ï´Ù" & vbCrLf & vbCrLf & "·Î±×³»¿ªÀ» ÅëÇØ¼­ »ó¼¼³»¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù", MsgBoxStyle.Critical, "È®ÀÎ") Else 'MsgBox(findCnt & "°³ÀÇ ÁÙÀÌ ÀÏÄ¡ÇÕ´Ï´Ù" & vbCrLf & vbCrLf & "·Î±×³»¿ªÀ» ÅëÇØ¼­ »ó¼¼³»¿ªÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") End If Me.ListOld.Sort() '//º¯°æµÈ ¸ðµç ³»¿ªÀ» °¡Áø´Ù. ¿©±â¼­ Áߺ¹µÈ°Ç ÇÇÇÏ°í ¿ìÃøÀÇ viewnew ¿¡ º¸¿©ÁØ´Ù. For Each Idx As String In Me.ListOld fxList.Rows.Count += 1 fxList.SetData(fxList.Rows.Count - 1, 0, Idx) 'Me.viewnew.ActiveSheet.RowCount += 1 '//ÁÙ Áõ°¡ ' Me.viewnew.ActiveSheet.Cells(Me.viewnew.ActiveSheet.RowCount - 1, 0).Text = Idx '//º¯°æÀü °ü¸®±¸ 4ÀÚ Next Dim Rownum As Integer = 0 Me.ListOld4.Sort() '//º¯°æµÈ ¸ðµç ³»¿ªÀ» °¡Áø´Ù. ¿©±â¼­ Áߺ¹µÈ°Ç ÇÇÇÏ°í ¿ìÃøÀÇ viewnew ¿¡ º¸¿©ÁØ´Ù. For Each Idx As String In Me.ListOld4 If (Rownum + 1) > Me.fxList.Rows.Count - 1 Then fxList.Rows.Count += 1 fxList.SetData(Rownum + 1, 1, Idx) ' If Rownum > Me.viewnew.ActiveSheet.RowCount - 1 Then Me.viewnew.ActiveSheet.RowCount += 1 '//ÁÙ Áõ°¡ ' Me.viewnew.ActiveSheet.Cells(Rownum, 1).Text = Idx '//º¯°æÀü °ü¸®±¸ 4ÀÚ Next Rownum = 0 Me.ListOK4.Sort() '//º¯°æµÈ ¸ðµç ³»¿ªÀ» °¡Áø´Ù. ¿©±â¼­ Áߺ¹µÈ°Ç ÇÇÇÏ°í ¿ìÃøÀÇ viewnew ¿¡ º¸¿©ÁØ´Ù. For Each Idx As String In Me.ListOK4 If (Rownum + 1) > Me.fxList.Rows.Count - 1 Then fxList.Rows.Count += 1 fxList.SetData((Rownum + 1), 2, Idx) 'If Rownum > Me.viewnew.ActiveSheet.RowCount - 1 Then Me.viewnew.ActiveSheet.RowCount += 1 '//ÁÙ Áõ°¡ ' Me.viewnew.ActiveSheet.Cells(Rownum, 2).Text = Idx '//º¯°æÈÄ °ü¸®±¸ 4ÀÚ Rownum += 1 Next Rownum = 0 Me.ListOk.Sort() '//º¯°æµÈ ¸ðµç ³»¿ªÀ» °¡Áø´Ù. ¿©±â¼­ Áߺ¹µÈ°Ç ÇÇÇÏ°í ¿ìÃøÀÇ viewnew ¿¡ º¸¿©ÁØ´Ù. For Each Idx As String In Me.ListOk If (Rownum + 1) > Me.fxList.Rows.Count - 1 Then fxList.Rows.Count += 1 fxList.SetData((Rownum + 1), 3, Idx) 'If Rownum > Me.viewnew.ActiveSheet.RowCount - 1 Then Me.viewnew.ActiveSheet.RowCount += 1 '//ÁÙ Áõ°¡ ' Me.viewnew.ActiveSheet.Cells(Rownum, 3).Text = Idx '//º¯°æÈÄ °ü¸®±¸ 5ÀÚ Rownum += 1 Next fxList.AutoSizeCols() MsgBox("¿Ï·áµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") End Sub Private Sub Parser(ByVal SearchText As String, ByRef h1 As String, ByRef h2 As String, ByRef h3 As String) '//´ë»óÆÄÀÏ '//°Ë»ö¹®ÀÚ·Î µé¾î¿Âµ¥ÀÌÅ͸¦ °¡Áö°í ÆÇ´ÜÇÑ´Ù. '//Á©µÚ¿¡ 3ÀÚ¸®·Î ÁÂÇ¥¸¦ °Ô»êÇÏ°í ±× ¾Õ¿¡ 1ÀÚ¸®¸¦ ÅëÇØ¼­ ¾ËÆÄºªÀ» °áÁ¤ÇÑ´Ù. Dim First() As String = {"A", "B", "C", "D"} Dim Second() As String = {"E", "F", "G", "H"} Dim Third() As String = {"P", "Q", "R", "S"} Dim Forth() As String = {"W", "X", "Y", "Z"} Dim Offset As Integer = -1 ' If SearchText.Length <> 8 Then Return h3 = Microsoft.VisualBasic.Right(SearchText, 3) h1 = Microsoft.VisualBasic.Left(SearchText, 4) Dim M0, M1, M2, M3 As String '//°¢°¢ 4°³ÀÇ ¹®ÀÚ¸¦ Àß¶ó¿Â´Ù. ¾ÕÀÇ 0¹ø°ú ±× ´ÙÀ½(¿¢½º) ´ÙÀ½(¿ÍÀÌ) M0 = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(SearchText, 4), 1) M1 = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(SearchText, 3), 1) M2 = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(SearchText, 2), 1) M3 = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Right(SearchText, 1), 1) '//ÀÌÁ¦ ¿ÀÇÁ¼Â¸¸ ±¸ÇϸéµÈ´Ù.offset= AddoldList(CStr(h1 & M0)) '//±¸¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. AddoldList4(CStr(h1 & M0)) '//±¸¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. If IsNumeric(M0) = False Then '//À̹̽ÅÀü»êÈ­Àϰæ¿ì ±×³É ºüÁ®³ª°£´Ù. h2 = M0 AddNewList(CStr(h1 & h2)) '//¿Ï·á¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. AddNewList4(CStr(h1 & h2)) '//¿Ï·á¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. Return End If If (M1 >= 0 AndAlso M1 <= 4) AndAlso (M2 >= 5 AndAlso M2 <= 9) Then Offset = 1 'ÀÌ°Ç ¿ÀÇÁ¼Â1¹øÀÌ´Ù If (M1 >= 0 AndAlso M1 <= 4) AndAlso (M2 >= 0 AndAlso M2 <= 4) Then Offset = 3 'ÀÌ°Ç ¿ÀÇÁ¼Â1¹øÀÌ´Ù If (M1 >= 5 AndAlso M1 <= 9) AndAlso (M2 >= 5 AndAlso M2 <= 9) Then Offset = 2 'ÀÌ°Ç ¿ÀÇÁ¼Â1¹øÀÌ´Ù If (M1 >= 5 AndAlso M1 <= 9) AndAlso (M2 >= 0 AndAlso M2 <= 4) Then Offset = 4 'ÀÌ°Ç ¿ÀÇÁ¼Â1¹øÀÌ´Ù If Offset = -1 Then MsgBox("ÇØ´ç °ªÀÇ ¿ÀÇÁ¼ÂÀ» ãÀ»¼ö¾ø½À´Ï´Ù", MsgBoxStyle.Critical, "È®ÀÎ") Return End If Select Case M0 Case 1 h2 = First(Offset - 1) Case 2 h2 = Second(Offset - 1) Case 3 h2 = Third(Offset - 1) Case 4 h2 = Forth(Offset - 1) Case Else MsgBox("4¹øÂ° ¹®ÀÚ´Â 1~4ÀÇ °ªÀ̾î¾ß ÇÕ´Ï´Ù(" & M0 & ")", MsgBoxStyle.Critical, "È®ÀÎ") End Select AddNewList(CStr(h1 & h2)) '//¿Ï·á¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. AddNewList4(CStr(h1 & h2)) '//¿Ï·á¸ñ·Ï¿¡ Áý¾î³Ö´Â´Ù. End Sub Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click Me.Close() End Sub Private Sub srcview_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles srcview.DragEnter If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then e.Effect = DragDropEffects.Copy ElseIf (e.Data.GetDataPresent(DataFormats.StringFormat)) Then ' MsgBox("string") e.Effect = DragDropEffects.Copy ElseIf (e.Data.GetDataPresent(DataFormats.Text)) Then ' MsgBox("text") e.Effect = DragDropEffects.Copy Else e.Effect = DragDropEffects.None End If End Sub Private Sub RenameColumnname1() For i As Integer = 0 To Me.srcview.Sheets.Count - 1 For Each CL As FarPoint.Win.Spread.Column In Me.srcview.Sheets(i).Columns Me.srcview.Sheets(i).Columns(CL.Index).Label = CL.Index + 1 Next Next End Sub Private Sub srcview_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles srcview.DragDrop If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then Dim STR() As String = CType(e.Data.GetData(DataFormats.FileDrop), String()) If Me.srcview.IsExcelFile(STR(0)) = False Then MsgBox(STR(0) & vbCrLf & "¿¢¼¿ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù") Else If Me.srcview.OpenExcel(STR(0), FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) = False Then MsgBox(STR(0) & vbCrLf & "ÆÄÀÏÀ» ºÒ·¯¿Ã¼ö ¾ø½À´Ï´Ù") Else '//ºÒ·¯¿ÓÀ¸´Ï ¿­Á¦¸ñÀ» Àç¼³Á¤ÇÑ´Ù. RenameColumnname1() End If End If ElseIf (e.Data.GetDataPresent(DataFormats.StringFormat)) Then Dim Fi As New System.IO.FileInfo(e.Data.GetData(DataFormats.StringFormat)) If Me.srcview.IsExcelFile(Fi.FullName) = False Then MsgBox(Fi.FullName & vbCrLf & "¿¢¼¿ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù") Else If Me.srcview.OpenExcel(Fi.FullName, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) = False Then MsgBox(Fi.FullName & vbCrLf & "ÆÄÀÏÀ» ºÒ·¯¿Ã¼ö ¾ø½À´Ï´Ù") End If End If ElseIf (e.Data.GetDataPresent(DataFormats.Text)) Then Dim STR() As String = CType(e.Data.GetData(DataFormats.Text), String()) If Me.srcview.IsExcelFile(STR(0)) = False Then MsgBox(STR(0) & vbCrLf & "¿¢¼¿ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù") Else If Me.srcview.OpenExcel(STR(0), FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) = False Then MsgBox(STR(0) & vbCrLf & "ÆÄÀÏÀ» ºÒ·¯¿Ã¼ö ¾ø½À´Ï´Ù") End If End If End If End Sub Private Sub bt_srcfile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_srcfile.Click Dim OD As New OpenFileDialog OD.FileName = Me.Srcfile OD.Filter = "MS Office Excel WorkSheet(*.xls)|*.xls" OD.FilterIndex = 1 ' OD.RestoreDirectory = True If OD.ShowDialog() = DialogResult.Cancel Then MsgBox("ºÒ·¯¿À±â°¡ Ãë¼ÒµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Critical, "È®ÀÎ") Else If Me.srcview.OpenExcel(OD.FileName, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) = False Then MsgBox(OD.FileName & vbCrLf & "ÆÄÀÏÀ» ºÒ·¯¿Ã¼ö ¾ø½À´Ï´Ù", MsgBoxStyle.Critical, "¿øº»ÆÄÀÏ ºÒ·¯¿À±â ¿À·ù") Else '//ºÒ·¯¿ÓÀ¸´Ï ¿­Á¦¸ñÀ» Àç¼³Á¤ÇÑ´Ù. Me.Srcfile = OD.FileName RenameColumnname1() End If 'synclog.view1.OpenExcel(OD.FileName, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) '//ºñÆ÷ÇÔ¸ñ·ÏÀ» ÀúÀå 'synclog.view2.OpenExcel(OD.FileName, FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders) '//Æ÷ÇÔ¸ñ·ÏÀ» ÀúÀå End If End Sub Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click If MsgBox("½ÇÇàÇϽðڽÀ´Ï±î?" & vbCrLf & vbCrLf & "¿Ï·áµÉ‹š±îÁö Ãë¼ÒÇÒ ¼ö ¾ø½À´Ï´Ù", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "È®ÀÎ") <> MsgBoxResult.Ok Then MsgBox("½ÇÇàÀÌ Ãë¼ÒµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Critical, "È®ÀÎ") Return End If '//ÁöÁ¤µÈ ¿­ÀÇÇü½ÄÀ» ¹®ÀÚ·Î º¯°æÇÑ´Ù. Dim text_CellType As New FarPoint.Win.Spread.CellType.TextCellType If ImpCtl1.¿­¹øÈ£ <> "" Then srcview.ActiveSheet.Columns(CInt(ImpCtl1.¿­¹øÈ£)).CellType = text_CellType If ImpCtl2.¿­¹øÈ£ <> "" Then srcview.ActiveSheet.Columns(CInt(ImpCtl2.¿­¹øÈ£)).CellType = text_CellType If ImpCtl3.¿­¹øÈ£ <> "" Then srcview.ActiveSheet.Columns(CInt(ImpCtl3.¿­¹øÈ£)).CellType = text_CellType If ImpCtl4.¿­¹øÈ£ <> "" Then srcview.ActiveSheet.Columns(CInt(ImpCtl4.¿­¹øÈ£)).CellType = text_CellType 'If IsNumeric(ImpCtl1.¿­¹øÈ£) Then srcview.ActiveSheet.Columns(ImpCtl1.¿­¹øÈ£).CellType = text_CellType 'If IsNumeric(ImpCtl2.¿­¹øÈ£) Then srcview.ActiveSheet.Columns(ImpCtl2.¿­¹øÈ£).CellType = text_CellType 'If IsNumeric(ImpCtl3.¿­¹øÈ£) Then srcview.ActiveSheet.Columns(ImpCtl3.¿­¹øÈ£).CellType = text_CellType 'If IsNumeric(ImpCtl4.¿­¹øÈ£) Then srcview.ActiveSheet.Columns(ImpCtl4.¿­¹øÈ£).CellType = text_CellType findCnt = 0 Me.ListOk = New ArrayList Me.ListOld = New ArrayList Me.ListOK4 = New ArrayList Me.ListOld4 = New ArrayList ' Me.viewnew.ActiveSheet.RowCount = 0 Me.fxList.Rows.Count = 1 Me.RunSrc() End Sub Private Sub bt_srcsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_srcsave.Click Dim a As New SaveFileDialog a.Filter = "¿¢¼¿ ¿öÅ©½ÃÆ®ÆÄÀÏ(*.XLS)|*.XLS" a.FilterIndex = 0 a.Title = "[¸ðµçµ¥ÀÌÅͳ»º¸³»±â] ÀúÀåÇÒ ¿¢¼¿ ÆÄÀÏÀ» ÁöÁ¤Çϼ¼¿ä" a.FileName = "¹Ù²ïÆÄÀÏ.xls" If a.ShowDialog() <> DialogResult.Cancel Then Dim msg As New System.Text.StringBuilder Me.srcview.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed) msg.AppendLine("[½ÃÆ®º¸È£]°¡ µÈÆÄÀÏÀº ¿­³Êºñ°¡ Á¶Á¤µÇÁö¾Ê½À´Ï´Ù.") msg.AppendLine() msg.AppendLine() msg.AppendLine("[½ÃÆ®º¸È£] »óÅ¿¡¼­´Â ½ÃÆ®¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù") msg.AppendLine() msg.AppendLine("[½ÃÆ®º¸È£]¸¦ ÇØÁ¦ÇÏ·Á¸é ÇØ´çÆÄÀÏÀ» ¿¢¼¿¿¡¼­ ºÒ·¯¿ÂÈÄ") msg.AppendLine("[µµ±¸]-[º¸È£]-[½ÃÆ®º¸È£ÇØÁ¦]¸¦ Ŭ¸¯Çϼ¼¿ä") MsgBox(msg.ToString, MsgBoxStyle.Information, "½ÃÆ®º¸È£") End If End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Dim a As New SaveFileDialog a.Filter = "¿¢¼¿ ¿öÅ©½ÃÆ®ÆÄÀÏ(*.XLS)|*.XLS" a.FilterIndex = 0 a.Title = "[¸ðµçµ¥ÀÌÅͳ»º¸³»±â] ÀúÀåÇÒ ¿¢¼¿ ÆÄÀÏÀ» ÁöÁ¤Çϼ¼¿ä" a.FileName = "»ý¼ºµÈÀü»êÈ­¹øÈ£.xls" If a.ShowDialog() <> DialogResult.Cancel Then Dim msg As New System.Text.StringBuilder fxList.SaveExcel(a.FileName, C1.Win.C1FlexGrid.FileFlags.IncludeFixedCells) MsgBox("ÆÄÀÏÀÌ ÀúÀåµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") 'Me.viewnew.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders) 'msg.AppendLine("[½ÃÆ®º¸È£]°¡ µÈÆÄÀÏÀº ¿­³Êºñ°¡ Á¶Á¤µÇÁö¾Ê½À´Ï´Ù.") 'msg.AppendLine() 'msg.AppendLine() 'msg.AppendLine("[½ÃÆ®º¸È£] »óÅ¿¡¼­´Â ½ÃÆ®¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù") 'msg.AppendLine() 'msg.AppendLine("[½ÃÆ®º¸È£]¸¦ ÇØÁ¦ÇÏ·Á¸é ÇØ´çÆÄÀÏÀ» ¿¢¼¿¿¡¼­ ºÒ·¯¿ÂÈÄ") 'msg.AppendLine("[µµ±¸]-[º¸È£]-[½ÃÆ®º¸È£ÇØÁ¦]¸¦ Ŭ¸¯Çϼ¼¿ä") 'MsgBox(msg.ToString, MsgBoxStyle.Information, "½ÃÆ®º¸È£") End If End Sub Private Sub bt_macrosave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_macrosave.Click If Me.cmb_macro.SelectedIndex <= 0 Then MsgBox("ÀúÀåµÉ ¸ÅÅ©·Î°¡ ¼±ÅõÇÁö¾Ê¾Ò½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") Return End If Me.Save_Setting(Me.cmb_macro.SelectedIndex) MsgBox("¸ÅÅ©·Î°¡ ÀúÀåµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") Me.Load_Macro() End Sub Private Sub bt_macrosavenew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_macrosavenew.Click Me.Save_Setting(-999) MsgBox("¸ÅÅ©·Î°¡ ÀúÀåµÇ¾ú½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") Me.Load_Macro() End Sub Private Sub cmb_macro_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_macro.SelectedIndexChanged Load_Setting(Me.cmb_macro.SelectedIndex) End Sub Private Sub bt_macrodel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_macrodel.Click If Me.cmb_macro.SelectedIndex <= 0 Then MsgBox("»èÁ¦µÉ ¸ÅÅ©·Î°¡ ¼±ÅõÇÁö¾Ê¾Ò½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") Return End If File.Delete(Me.Macro(Me.cmb_macro.SelectedIndex - 1).FileName) MsgBox("¸ÅÅ©·Î°¡ »èÁ¦µÇ¾ú½À´Ï´Ù", MsgBoxStyle.Information, "È®ÀÎ") Me.Load_Macro() End Sub End Class