Imports System Imports System.IO Imports System.Text Imports ACC.ARINCLASS Imports ACC Public Class XLSImport Dim Impctls(22) As NewImpCnt2 ' Dim FN As String = vbNullString Dim Arin As New ACC.ARINCLASS Dim TabName As String Dim ColName() As String Dim Value() As String Dim vtype() As String Dim ColDesc() As String '' Dim SubSqlCnt As Integer Dim SubSql() As String Dim USERFC() As String Dim DivString As String '// Dim Err As Boolean = False '//߻ Dim StartPos As Integer = 0 '//ۿ Dim EndPos As Integer = 0 '//῭ Dim IniFile As String = My.Application.Info.DirectoryPath & "\import.ini" Dim SelControl As System.Windows.Forms.TextBox Dim sql As New StringBuilder Dim DelSql As New StringBuilder Dim MyTextBox() As System.Windows.Forms.TextBox Dim MyComBo() As System.Windows.Forms.ComboBox Dim MyLaBel() As Label '// ӽõ̺ Dim DT_tongsin As New DataSet.Detail_tongsinDataTable Dim DT_LCable As New DataSet.Detail_LCableDataTable '// ο Dim ROW_Tongsin As DataSet.Detail_tongsinRow Dim ROW_LCable As DataSet.Detail_LCableRow Dim SrcDataSet As DataSet Dim gubunId As Integer '//߰ id ޴´. Dim Wt As Work_Type '// ޴´. ⺻ 0(ȣ Ѵ) 'Dim MaxArray As String '" ִ" Dim Sview As FarPoint.Win.Spread.SheetView Public Sub New() ' ȣ Windows Form ̳ʿ ʿմϴ. InitializeComponent() End Sub Public Sub New(ByVal DataSrc As DataSet, ByVal rowid As Short, ByVal vgubun As Short) '//̰ɷ ͸ ´. InitializeComponent() gubunId = rowid Wt = vgubun SrcDataSet = DataSrc End Sub Private Sub Control_Setting() Select Case Wt Case Work_Type.tongsin Me.Text = "Ϲݹȣ " Me.Set_ImpCtl(New String() {"1", "2", "ֹȣ1", "ֹȣ2", "԰", "ð", "ð", "", "߰", "ȭ1", "ȭ2", "1", "2", _ "3", "1", "2", "3", "4", "㰡ȣ", "㰡", "㰡Ⱓ", "QRCODE"}) Case Work_Type.Lcable Me.Text = "̺ǥ " Me.Set_ImpCtl(New String() {"OLTȣ", "༱", "", "ü", "̺", "̺", _ "̺", "б̺", "", "ȸ", "ġ", _ "ðȸ", "", "", "", "QRCODE"}) Case Else Me.Text = "ȣ " MsgBox("Err: ControlSEtting : ˼ ȣ") End Select End Sub Private Sub Set_ImpCtl(ByVal Name() As String) Dim Offset As Short = 0 For i As Short = 0 To Name.Length - 1 Me.Impctls(i). = Name(i) Me.Impctls(i).enable = True Me.Impctls(i).Visible = True Me.Impctls(i). = NewImpCnt2.E_vartype. Next End Sub Private Sub Apply_Tongshin() '//ε ̸ Dim ȣ As Integer '//ȣ notnull ̴ Dim NullChk As Boolean = Me.NullCHeck Dim NullVal As String = "" Dim cnt As Integer = -1 Dim StartCnt As Integer = CInt(Me.tb_scnt.Text) Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text)) Dim index As Integer = 0 Dim VarStr(22) As String '//ڸ ϴ Dim Nullcnt As Short = 0 NOTICE("(ӽ)ͺ̽ մϴ(ҺҰ)", Me.lb_msg) 'If (Me.tb_ecnt.Text = 0 AndAlso UserInfo.Type = E_AuthType.Demo) OrElse (UserInfo.Type = E_AuthType.Demo AndAlso (Me.tb_ecnt.Text - Me.tb_scnt.Text) > 100) Then ' MsgBox("ӽûڴ ڵīƮ(0) " & vbCrLf & vbCrLf & _ ' "īͿ ī 100 մϴ", MsgBoxStyle.Information, "Ȯ") ' Me.tb_ecnt.Text = Me.tb_scnt.Text + 100 'End If Me.DT_tongsin.Rows.Clear() : Me.DT_tongsin.AcceptChanges() For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//ο쿡شϴµ ٺѴ If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//ε ̻ϰ쿡 Ѵ. index += 1 SHowCnt(index, EndCnt) NullVal = False Try ȣ = index For i As Short = 0 To VarStr.GetUpperBound(0) If i = 21 Then VarStr(i) = Me.GetFPData(Me.Impctls(i), Dr) Else VarStr(i) = Me.GetFPData(Me.Impctls(i), Dr).ToUpper End If Next If NullChk Then '//ΰ üũÿ üũȰ null̶ nullval true ٲ۴. NullVal = "" For i As Short = 0 To VarStr.GetUpperBound(0) If Me.Impctls(i).üũ AndAlso Me.Impctls(i).enable Then NullVal &= IIf(VarStr(i).Trim = "", "", "X") If NullVal <> "" Then Exit For End If Next Else NullVal = "X" '//⺻false Ѵ. End If If NullVal.Trim <> "" Then 'false϶ ߰Ѵ. true ΰǷ Ѿ. Me.ROW_Tongsin = Me.DT_tongsin.NewDetail_tongsinRow '//ӽ̺ Me.ROW_Tongsin.rowid = System.Guid.NewGuid Me.ROW_Tongsin.ID = gubunId Me.ROW_Tongsin.ȣ = index Me.ROW_Tongsin.Ĺȣ = "1" & Format(index, "0000") & "1000" Me.ROW_Tongsin. = True '------------------------------------------ Me.ROW_Tongsin. = VarStr(0) Me.ROW_Tongsin.2 = VarStr(1) Me.ROW_Tongsin.ֹȣ = VarStr(2) Me.ROW_Tongsin.ֹȣ2 = VarStr(3) Me.ROW_Tongsin.԰ = VarStr(4) Me.ROW_Tongsin.ð = VarStr(5) Me.ROW_Tongsin.ð = VarStr(6) Me.ROW_Tongsin. = VarStr(7) Me.ROW_Tongsin.߰ = VarStr(8) Me.ROW_Tongsin.ó1 = VarStr(9) Me.ROW_Tongsin.ó2 = VarStr(10) Me.ROW_Tongsin.1 = VarStr(11) Me.ROW_Tongsin.2 = VarStr(12) Me.ROW_Tongsin.3 = VarStr(13) Me.ROW_Tongsin.1 = VarStr(14) Me.ROW_Tongsin.2 = VarStr(15) Me.ROW_Tongsin.3 = VarStr(16) Me.ROW_Tongsin.4 = VarStr(17) Me.ROW_Tongsin.㰡ȣ = VarStr(18) Me.ROW_Tongsin.㰡 = VarStr(19) Me.ROW_Tongsin.㰡Ⱓ = VarStr(20) Me.ROW_Tongsin.QRCODE = VarStr(21) Me.DT_tongsin.Rows.Add(Me.ROW_Tongsin) ' Else '// ǹϹǷ ī Nullcnt += 1 If Nullcnt >= 5 Then Exit For 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 NOTICE("Ϸ(" & Me.CustFP2_Sheet1.RowCount & ")", Me.lb_msg) Me.CustFP2.DataSource = Me.DT_tongsin '// ʿ . Me.CustFP2.ActiveSheet.Columns(0).Width = 0 '//rowid Me.CustFP2.ActiveSheet.Columns(1).Width = 0 '//Id Me.CustFP2.ActiveSheet.Columns(2).Width = 0 '//Ĺȣ Me.CustFP2.ActiveSheet.Columns(3).Width = 0 '// 'Me.CustFP2.ActiveSheet.Columns(21).Width = 0 '// End Sub Private Sub Apply_Lcable() '//̺ǥ ̸ Dim ȣ As Integer '//ȣ notnull ̴ Dim NullChk As Boolean = Me.NullCHeck Dim NullVal As String = "" Dim cnt As Integer = -1 Dim StartCnt As Integer = CInt(Me.tb_scnt.Text) Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text)) Dim index As Integer = 0 Dim VarStr(19) As String '//ڸ ϴ Dim Nullcnt As Short = 0 NOTICE("(ӽ)ͺ̽ մϴ(ҺҰ)", Me.lb_msg) 'If (Me.tb_ecnt.Text = 0 AndAlso UserInfo.Type = E_AuthType.Demo) OrElse (UserInfo.Type = E_AuthType.Demo AndAlso (Me.tb_ecnt.Text - Me.tb_scnt.Text) > 100) Then ' MsgBox("ӽûڴ ڵīƮ(0) " & vbCrLf & vbCrLf & _ ' "īͿ ī 100 մϴ", MsgBoxStyle.Information, "Ȯ") ' Me.tb_ecnt.Text = Me.tb_scnt.Text + 100 'End If Me.DT_LCable.Rows.Clear() : Me.DT_LCable.AcceptChanges() For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//ο쿡شϴµ ٺѴ If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//ε ̻ϰ쿡 Ѵ. index += 1 SHowCnt(index, EndCnt) NullVal = False Try ȣ = index For i As Short = 0 To VarStr.GetUpperBound(0) If i = 15 Then VarStr(i) = Me.GetFPData(Me.Impctls(i), Dr) Else VarStr(i) = Me.GetFPData(Me.Impctls(i), Dr).ToUpper End If Next If NullChk Then '//ΰ üũÿ üũȰ null̶ nullval true ٲ۴. NullVal = "" For i As Short = 0 To VarStr.GetUpperBound(0) 'MsgBox(Me.Impctls(i).) 'If Me.Impctls(i).üũ Then MsgBox(Me.Impctls(i).) If Me.Impctls(i).üũ AndAlso Me.Impctls(i).enable Then NullVal &= IIf(VarStr(i).Trim = "", "", "X") If NullVal <> "" Then Exit For End If Next Else NullVal = "X" '//⺻false Ѵ. End If If NullVal.Trim <> "" Then 'false϶ ߰Ѵ. true ΰǷ Ѿ. Me.ROW_LCable = Me.DT_LCable.NewDetail_LCableRow '//ӽ̺ Me.ROW_LCable.rowid = System.Guid.NewGuid Me.ROW_LCable.ID = gubunId Me.ROW_LCable.ȣ = index Me.ROW_LCable.Ĺȣ = "1" & Format(index, "0000") & "1000" Me.ROW_LCable. = True '------------------------------------------ Me.ROW_LCable.OLTȣ = VarStr(0) Me.ROW_LCable.༱ = VarStr(1) Me.ROW_LCable. = VarStr(2) Me.ROW_LCable.ü = VarStr(3) Me.ROW_LCable.̺ = VarStr(4) Me.ROW_LCable.̺ = VarStr(5) Me.ROW_LCable.̺ = VarStr(6) Me.ROW_LCable.б̺ = VarStr(7) Me.ROW_LCable. = VarStr(8) Me.ROW_LCable.ȸ = VarStr(9) Me.ROW_LCable.ġ = VarStr(10) Me.ROW_LCable.ðȸ = VarStr(11) Me.ROW_LCable. = VarStr(12) Me.ROW_LCable. = VarStr(13) Me.ROW_LCable. = VarStr(14) Me.ROW_LCable.QRCODE = VarStr(15) Me.DT_LCable.Rows.Add(Me.ROW_LCable) ' Else '// ǹϹǷ ī Nullcnt += 1 If Nullcnt >= 5 Then Exit For 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 NOTICE("Ϸ(" & Me.CustFP2_Sheet1.RowCount & ")", Me.lb_msg) Me.CustFP2.DataSource = Me.DT_LCable '// ʿ . Me.CustFP2.ActiveSheet.Columns(0).Width = 0 '//rowid Me.CustFP2.ActiveSheet.Columns(1).Width = 0 '//Id Me.CustFP2.ActiveSheet.Columns(2).Width = 0 '//Ĺȣ Me.CustFP2.ActiveSheet.Columns(18).Width = 0 '// Me.CustFP2.ActiveSheet.Columns(19).Width = 0 '// End Sub Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click '// ϴ ͸ ϰ ߰մϴ. '//Byref ΰ ͼ ̿ؼ ͸ մϴ. Select Case Wt Case Work_Type.tongsin If Me.SrcDataSet.Detail_tongsin.Rows.Count <> 0 Then NOTICE(" ڷḦ մϴ", Me.lb_msg) ' Me.SuspendLayout() For I As Integer = Me.SrcDataSet.Detail_tongsin.Rows.Count - 1 To 0 Step -1 Me.SHowCnt(I, Me.SrcDataSet.Detail_tongsin.Rows.Count - 1) Me.SrcDataSet.Detail_tongsin.Rows(I).Delete() Next ' Me.ResumeLayout() End If Me.SrcDataSet.Detail_tongsin.Merge(Me.DT_tongsin) Case Work_Type.Lcable If Me.SrcDataSet.Detail_LCable.Rows.Count <> 0 Then NOTICE(" ڷḦ մϴ", Me.lb_msg) ' Me.SuspendLayout() For I As Integer = Me.SrcDataSet.Detail_LCable.Rows.Count - 1 To 0 Step -1 Me.SHowCnt(I, Me.SrcDataSet.Detail_LCable.Rows.Count - 1) Me.SrcDataSet.Detail_LCable.Rows(I).Delete() Next 'Me.ResumeLayout() End If Me.SrcDataSet.Detail_LCable.Merge(Me.DT_LCable) End Select Me.Close() End Sub Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click '// ϴ ͸ ϰ ߰մϴ. Dim DT As New DataTable Dim CT As New DataTable Select Case Wt Case Work_Type.tongsin DT = Me.SrcDataSet.Detail_tongsin CT = Me.DT_tongsin Case Work_Type.Lcable DT = Me.SrcDataSet.Detail_LCable CT = Me.DT_LCable End Select '//ִ밪 ãϴ. NOTICE("ο ȣ ãϴ", Me.lb_msg) Dim ִ밪 As Integer Dim Dv As New DataView(DT, "", "ȣ desc", DataViewRowState.CurrentRows) If Dv.Count = 0 Then ִ밪 = 0 Else ִ밪 = Dv(0)("ȣ") End If NOTICE("ȣ οմϴ", Me.lb_msg) For I As Integer = 0 To CT.Rows.Count - 1 '//߰ ȣ ޴´. Me.SHowCnt(I, CT.Rows.Count - 1) CT.Rows(I)("ȣ") = ִ밪 + I + 1 CT.Rows(I)("Ĺȣ") = "1" & Format((ִ밪 + I + 1), "0000") & "1000" Next NOTICE(" Ϳ մϴ", Me.lb_msg) DT.Merge(CT) Me.Close() End Sub #Region "ֹٲ" Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click If Me.CustFP1.ActiveSheet.RowCount <= 0 Then NOTICE("Ͱ ϴ", Me.lb_msg) Exit Sub End If Select Case Wt Case Work_Type.tongsin Me.Apply_Tongshin() Case Work_Type.Lcable Me.Apply_Lcable() End Select End Sub Private Sub CustFP1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles CustFP1.CellDoubleClick If SelControl Is Nothing Then Return SelControl.Text = Me.CustFP1.ActiveSheet.ActiveColumnIndex + 1 End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Dim OD As New OpenFileDialog Dim Aranini As New MyINI(IniFile) OD.FileName = Me.lb_file.Text OD.Filter = "MS Office Excel WorkSheet(*.xls)|*.xls" OD.FilterIndex = 1 ' OD.RestoreDirectory = True If OD.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then NOTICE("ҷⰡ ҵǾϴ", Me.lb_msg) Else Aranini.Write("normal", "file", OD.FileName) Me.lb_file.Text = OD.FileName ReadXls(OD.FileName) End If End Sub Private Sub XLSImport_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Me.Save_Setting() '//缳 ϰ. End Sub Private Sub Control_init() Me.Impctls(0) = Me.ImpCtl2 Me.Impctls(1) = Me.ImpCtl3 Me.Impctls(2) = Me.ImpCtl4 Me.Impctls(3) = Me.ImpCtl5 Me.Impctls(4) = Me.ImpCtl6 Me.Impctls(5) = Me.ImpCtl7 Me.Impctls(6) = Me.ImpCtl8 Me.Impctls(7) = Me.ImpCtl9 Me.Impctls(8) = Me.ImpCtl10 Me.Impctls(9) = Me.ImpCtl11 Me.Impctls(10) = Me.ImpCtl12 Me.Impctls(11) = Me.ImpCtl13 Me.Impctls(12) = Me.ImpCtl14 Me.Impctls(13) = Me.ImpCtl15 Me.Impctls(14) = Me.ImpCtl16 Me.Impctls(15) = Me.ImpCtl17 Me.Impctls(16) = Me.ImpCtl18 Me.Impctls(17) = Me.ImpCtl19 Me.Impctls(18) = Me.ImpCtl20 Me.Impctls(19) = Me.ImpCtl21 Me.Impctls(20) = Me.ImpCtl22 Me.Impctls(21) = Me.ImpCtl23 Me.Impctls(22) = Me.ImpCtl24 For i As Short = 0 To Me.Impctls.GetUpperBound(0) Me.Impctls(i).enable = False Next End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Control_init() Control_Setting() If Not GetINI(IniFile) Then MsgBox(" α׷ ˴ϴ." & vbCrLf & vbCrLf & "ȯ漳 Ͱ ȯ ʾҽϴ", MsgBoxStyle.Critical, "Er") End End If LOadCurrentSet() 'Me.CustFP1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) 'Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '// ҷ 'Me.ToolStrip2.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '// ҷ 'Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '// ҷ End Sub ''' ''' ؽƮڽ մϴ. ''' Private Sub LOadCurrentSet() Dim ini As New MyINI(IniFile) For Each A As NewControlGroup.NewImpCnt2 In Me.TableLayoutPanel3.Controls A.ȣ = ini.Read("CURSETNUM" & Wt, A.Name) A.ڿڸ = ini.Read("CURSETSPL" & Wt, A.Name) A.üũ = ini.Read("CURSETNUL" & Wt, A.Name, False) Next End Sub Private Sub Save_Setting() '// մϴ. '// / ȣ ؽƮ̴. Dim Aranini As New MyINI(IniFile) Aranini.Write("normal", "startpos", Me.tb_scnt.Text) '// Aranini.Write("normal", "endpos", Me.tb_ecnt.Text) '// For Each A As NewControlGroup.NewImpCnt2 In Me.TableLayoutPanel3.Controls '// ؽƮڽ Aranini.Write("CURSETNUM" & Wt, A.Name, A.ȣ) Aranini.Write("CURSETSPL" & Wt, A.Name, A.ڿڸ) Aranini.Write("CURSETNUL" & Wt, A.Name, A.üũ) Next End Sub Private Sub MyDoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) If Not SelControl Is Nothing Then SelControl.BackColor = Color.White If Not SelControl Is Nothing AndAlso SelControl.Tag = CType(sender, TextBox).Tag Then '//Ŷ Ѵ. SelControl.BackColor = Color.White 'Me.lb_selcontrol.Text = "þ" SelControl = Nothing Return End If SelControl = CType(sender, System.Windows.Forms.TextBox) SelControl.BackColor = Color.Green If SelControl.Tag Is Nothing Then MsgBox("TAG Ӽ ֽϴ", MsgBoxStyle.Information, "Error") Else 'Me.lb_selcontrol.Text = "õ : " & SelControl.Tag.ToString End If End Sub Private Function GetINI(ByVal filename As String) As Boolean '//'REad INi file If filename Is vbNullString Then Return False Dim INiFn As String If filename.IndexOf(":") >= 0 Then INiFn = filename Else INiFn = My.Application.Info.DirectoryPath & "\" & filename End If Dim Aranini As New MyINI(INiFn) Try StartPos = Aranini.Read("NORMAL", "StartPos") EndPos = Aranini.Read("NORMAL", "endpos") Me.lb_file.Text = Aranini.Read("NORMAL", "file") Me.lb_file.Text = Me.lb_file.Text.Trim(Chr(0)) Value = Aranini.Read("NORMAL", "value").Split(",") 'MaxArray = Aranini.Read("NORMAL", "MaxArray") Catch ex As Exception MsgBox("Err-Read_INI" & vbCrLf & vbCrLf & "File=" & INiFn _ & vbCrLf & ex.Message.ToString, MsgBoxStyle.Critical, "Error") Return False End Try 'Me.lb_file.Text = FN Me.tb_scnt.Text = StartPos Me.tb_ecnt.Text = EndPos Return True End Function Private Sub ControlChanged(ByVal sender As Object, ByVal e As System.EventArgs) '//Not use Dim A As System.Windows.Forms.TextBox = CType(sender, System.Windows.Forms.TextBox) If A.Text.Length <= 0 Then Exit Sub Select Case A.Text.Substring(0, 1) Case ":" If IsNumeric(A.Text.Substring(1)) Then A.BackColor = Color.LawnGreen Else A.BackColor = Color.Tomato End If Case "?" A.BackColor = Color.Gray Case "#" A.BackColor = Color.SteelBlue Case Else A.BackColor = Color.White End Select End Sub Private Sub ReadXls(ByVal Filename As String) '//Read xls File Me.CustFP1.OpenExcel(Filename) For index As Integer = 0 To Me.CustFP1.Sheets.Count - 1 For Each Cl As FarPoint.Win.Spread.Column In Me.CustFP1.Sheets(index).Columns '//Set columns label Cl.Label = Cl.Index + 1 Next Next ''// 5 ̸ īƮ Ѵ. Dim As Int16 = 0 For Each Row As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows If Me.CustFP1.ActiveSheet.Cells(Row.Index, 0).Text = "" AndAlso Me.CustFP1.ActiveSheet.Cells(Row.Index, 1).Text = "" AndAlso Me.CustFP1.ActiveSheet.Cells(Row.Index, 2).Text = "" Then ' MsgBox(Row.Index) += 1 Else = 0 End If If >= 10 Then ' MsgBox("˻Ϸ" & Row.Index) Me.CustFP1.ActiveSheet.RowCount = Row.Index + 1 - 8 Exit For End If Next End Sub Private Function GetItemFP(ByVal Src As FarPoint.Win.Spread.Row, ByVal idx As TextBox, ByVal SUbstr As TextBox, Optional ByVal NotNull As Boolean = False) As Object Dim SUbidx As Integer = IIf(idx.Text = "", 0, Val(idx.Text)) '// -1 If SUbidx = 0 Then '// ٴ¶̴. If NotNull Then Return Src.Index '//̾ȵǸ ε ѱ Return "" '//̵Ǹ Ѵ. Else '//ִ. If SUbstr.Text = "" OrElse SUbstr.Text = "0,0" Then '//ڿڸȮ ״ Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text Else '//ڿڸⰡ ߶ ش. Dim DIV() As String = SUbstr.Text.Split(",") If DIV(1) = "0" Then '//ۺ Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1) Else '/ Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1, DIV(1)) End If End If End If End Function Private Function GetFPData(ByVal sender As NewControlGroup.NewImpCnt2, ByVal Drow As FarPoint.Win.Spread.Row) As String '// ¥̸ FORMAT ؼ Ѵ" Dim SUbidx As Integer Dim VALSTR As String If sender.ȣ = "" Then '// ٴ¶̴. Return "" Else '//ִ. SUbidx = sender.ȣ If Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text = "" Then ' MsgBox("̾ ٷκ") Return "" '//; End If If sender.ڿڸ = "" OrElse sender.ڿڸ = "0,0" Then '//ڿڸȮ ״ VALSTR = Me.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 = (Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1)) Catch ex As Exception VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text End Try Return VALSTR Else '/ Try VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1, DIV(1)) Catch ex As Exception VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text End Try Return VALSTR End If End If End If End Function Private Function NullCHeck() As Boolean For i As Short = 0 To 18 If Me.Impctls(i).ȣ <> "" AndAlso Me.Impctls(i).enable AndAlso Me.Impctls(i).üũ Then Return True End If Next Return False End Function Private Sub SHowCnt(ByVal cnt As Integer, ByVal maxcnt As Integer) Me.lb_cnt.Text = cnt & "/" & maxcnt My.Application.DoEvents() End Sub #End Region Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click Me.Close() End Sub End Class