Imports System.IO Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle Imports Microsoft.Office.Interop.Excel.Constants Imports Microsoft.Office.Interop.Excel.XlBordersIndex Imports Microsoft.Office.Interop.Excel.XlLineStyle Imports Microsoft.Office.Interop.Excel.XlBorderWeight Imports Microsoft.Office.Interop.Excel.XlThemeFont Imports Microsoft.Office.Interop.Excel.XlThemeColor Imports Microsoft.Office.Interop.Excel.XlWindowState Imports Microsoft.Office.Interop.Excel Imports Microsoft.Office.Interop.Word Imports PdfSharp.Pdf Imports PdfSharp.Pdf.IO Imports System.Text.RegularExpressions Imports PInvoke Public Class 合約報價單 ReadOnly ds4, ds7, ds8, ds9, ds10, ds11, ds13 As New DataSet Dim KKK2, 物料規格, ESTR, 目前選擇, 條件選擇, 頁面, 群組碼(21) As String Dim EDR, A1, A2, A3, B2, B3, AA1, AA2, AA3, AA5, BB2, BB3, BB4, BB5, OX1, OY1, OY2, 選取位置, NUM1, DGV_X, DGV_Y, XN1, XN2 As Integer Dim 啟動運算, 已超出, 放大, 不再動作1, 簽回檔, 複製報價, 初次讀檔, 不寫入 As Boolean Dim 人民幣匯率, 美金匯率, 印尼匯率, 匯率1 As Double Dim xlApp As Microsoft.Office.Interop.Excel.Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet Dim 解答位置, 公式位置 As Integer : Dim X軸 As String Private Sub Set_合約清單1() Dim ds6 As New DataSet : 合約1_dgv.DataSource = Nothing : ds6.Clear() 合約1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 合約1_dgv.ColumnHeadersHeight = 25 : 合約1_dgv.AllowUserToAddRows = False PA = 關鍵字搜尋1_tb.Text : PA46 = 合約編號2_cb.Text SQL_合約清單_報價用() da.Fill(ds6) : 合約1_dgv.DataSource = ds6.Tables(0) : conn.Close() 合約1_dgv.Columns(0).FillWeight = 130 : 合約1_dgv.Columns(表頭(8)).FillWeight = 280 : 合約1_dgv.Columns("簽回").FillWeight = 40 : 合約1_dgv.Columns("審核通過").FillWeight = 40 合約1_dgv.Columns("停止").FillWeight = 40 For i As Integer = 1 To 39 : 合約1_dgv.Columns(i).Visible = False : Next For i As Integer = 0 To 合約1_dgv.Rows.Count - 1 If IsDBNull(合約1_dgv("停止", i).Value) = True Then : 合約1_dgv("停止", i).Value = False : End If If IsDBNull(合約1_dgv("簽回", i).Value) = True Then : 合約1_dgv("簽回", i).Value = False : End If Next : 合約1_dgv.Columns(表頭(8)).Visible = True End Sub Private Sub Set_合約報價總表() Dim ds14, ds15 As New DataSet 報價總表_dgv.DataSource = Nothing : ds15.Clear() 報價總表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價總表_dgv.ColumnHeadersHeight = 40 : 報價總表_dgv.AllowUserToAddRows = False : 報價總表_dgv.RowTemplate.Height = 45 報價總表_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True 報價總表_存_dgv.DataSource = Nothing : ds14.Clear() 報價總表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價總表_存_dgv.ColumnHeadersHeight = 40 : 報價總表_存_dgv.AllowUserToAddRows = False : 報價總表_存_dgv.RowTemplate.Height = 45 報價總表_存_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True SQL_合約報價總表() : 啟動運算 = False da.Fill(ds15) : 報價總表_dgv.DataSource = ds15.Tables(0) : conn.Close() da.Fill(ds14) : 報價總表_存_dgv.DataSource = ds14.Tables(0) : conn.Close() For Each column As DataGridViewColumn In 報價總表_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next 報價總表_dgv.Columns(0).Visible = False : 報價總表_dgv.Columns(8).Visible = False : 報價總表_dgv.Columns(10).Visible = False 報價總表_dgv.Columns(12).Visible = False : 報價總表_dgv.Columns("存檔").Visible = False 報價總表_dgv.Columns(0).FillWeight = 50 : 報價總表_dgv.Columns(1).FillWeight = 50 : 報價總表_dgv.Columns(2).FillWeight = 210 報價總表_dgv.Columns(3).FillWeight = 50 : 報價總表_dgv.Columns(4).FillWeight = 50 : 報價總表_dgv.Columns(5).FillWeight = 80 報價總表_dgv.Columns(6).FillWeight = 80 : 報價總表_dgv.Columns(7).FillWeight = 90 : 報價總表_dgv.Columns(9).FillWeight = 50 報價總表_dgv.Columns(10).FillWeight = 40 : 報價總表_dgv.Columns(11).FillWeight = 40 : 報價總表_dgv.Columns(12).FillWeight = 40 報價總表_dgv.Columns(13).FillWeight = 40 For i As Integer = 4 To 6 : 報價總表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next For i As Integer = 4 To 6 : 報價總表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : Next For i As Integer = 0 To 7 : 報價總表_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : Next 報價總表_dgv.Columns(2).ReadOnly = True : 報價總表_dgv.Columns(6).ReadOnly = True 報價總表_dgv.EditMode = DataGridViewEditMode.EditOnEnter 啟動運算 = True : 報價總表_dgv_自動計算() If DGV位置1.Value >= 報價總表_dgv.Rows.Count Then : DGV位置1.Value = 報價總表_dgv.Rows.Count - 1 : End If If DGV位置1.Value > 0 Then : 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(DGV位置1.Value).Cells(1) : End If Dim mycol1 As DataGridViewImageColumn = 報價總表_dgv.Columns(10) : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol2 As DataGridViewImageColumn = 報價總表_dgv.Columns(11) : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol3 As DataGridViewImageColumn = 報價總表_dgv.Columns(12) : mycol3.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol4 As DataGridViewImageColumn = 報價總表_dgv.Columns(13) : mycol4.ImageLayout = DataGridViewImageCellLayout.Zoom For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 深色風格 = False Then For j As Integer = 1 To 7 : 報價總表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.WhiteSmoke : Next Else For j As Integer = 1 To 7 : 報價總表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next End If 報價總表_dgv.Rows(i).Cells(10).Value = My.Resources.system 報價總表_dgv.Rows(i).Cells(11).Value = My.Resources.add_2 報價總表_dgv.Rows(i).Cells(12).Value = My.Resources.Edit_Text 報價總表_dgv.Rows(i).Cells(13).Value = My.Resources.GarbageEmpty 報價總表_dgv.Rows(i).Cells("存檔").Value = False Next End Sub Private Sub 報價總表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價總表_dgv.RowPostPaint If 深色風格 = False Then Dim linePen As New Pen(Color.Blue, 3) If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) : Exit Sub Else Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) End If Else Dim linePen As New Pen(Color.Yellow, 3) If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) : Exit Sub Else Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) End If End If End Sub Private Sub Set_合約報價明細表_間距調整() If 小間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 25 ElseIf 中間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 45 ElseIf 大間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 65 : End If End Sub Private Sub 小間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距1_ch.Click 小間距1_ch.Checked = True : 中間距1_ch.Checked = False : 大間距1_ch.Checked = False : Set_合約報價明細表_編輯用() End Sub Private Sub 中間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距1_ch.Click 小間距1_ch.Checked = False : 中間距1_ch.Checked = True : 大間距1_ch.Checked = False : Set_合約報價明細表_編輯用() End Sub Private Sub 大間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距1_ch.Click 小間距1_ch.Checked = False : 中間距1_ch.Checked = False : 大間距1_ch.Checked = True : Set_合約報價明細表_編輯用() End Sub Private Sub Set_合約報價明細表_編輯用() Dim ds15, ds16 As New DataSet 報價明細表1_dgv.DataSource = Nothing : ds15.Clear() 報價明細表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表1_dgv.ColumnHeadersHeight = 25 : 報價明細表1_dgv.AllowUserToAddRows = False Set_合約報價明細表_間距調整() 報價明細表1_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True 報價明細表3_dgv.DataSource = Nothing : ds15.Clear() 報價明細表3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表3_dgv.ColumnHeadersHeight = 25 : 報價明細表3_dgv.AllowUserToAddRows = False Set_合約報價明細表_間距調整() PA = 合約編號_tb.Text SQL_合約報價明細表_編輯用1() da.Fill(ds15) : 報價明細表1_dgv.DataSource = ds15.Tables(0) : conn.Close() SQL_合約報價明細表_編輯用2() da.Fill(ds16) : 報價明細表3_dgv.DataSource = ds16.Tables(0) : conn.Close() For Each column As DataGridViewColumn In 報價明細表1_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next For Each column As DataGridViewColumn In 報價明細表3_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next 報價明細表1_dgv.Columns("流水號").FillWeight = 50 : 報價明細表1_dgv.Columns(6).FillWeight = 60 : 報價明細表1_dgv.Columns(2).FillWeight = 200 報價明細表1_dgv.Columns(1).FillWeight = 40 : 報價明細表1_dgv.Columns(表頭(10)).Visible = False 報價明細表3_dgv.Columns("流水號").FillWeight = 50 : 報價明細表3_dgv.Columns(6).FillWeight = 60 : 報價明細表3_dgv.Columns(2).FillWeight = 200 報價明細表3_dgv.Columns(1).FillWeight = 40 : 報價明細表3_dgv.Columns(表頭(10)).Visible = False 報價明細表1_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 報價明細表3_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" 報價明細表1_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價明細表3_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight For i As Integer = 0 To 62 : 報價明細表1_dgv.Columns(i).Visible = False : Next : For i As Integer = 0 To 61 : 報價明細表3_dgv.Columns(i).Visible = False : Next 報價明細表1_dgv.Columns(1).Visible = True : 報價明細表1_dgv.Columns(2).Visible = True : 報價明細表1_dgv.Columns(6).Visible = False 報價明細表1_dgv.Columns(5).Visible = False : 報價明細表1_dgv.Columns(4).Visible = False : 報價明細表1_dgv.Columns("Dele").Visible = False 報價明細表3_dgv.Columns(1).Visible = True : 報價明細表3_dgv.Columns(2).Visible = True : 報價明細表3_dgv.Columns(6).Visible = True 報價明細表3_dgv.Columns(5).Visible = False : 報價明細表3_dgv.Columns(4).Visible = False : 報價明細表3_dgv.Columns("流水號").Visible = False : 報價明細表3_dgv.Columns("Dele").Visible = False 報價明細表1_dgv.Columns(1).ReadOnly = True : 報價明細表1_dgv.Columns(2).ReadOnly = True : 報價明細表1_dgv.Columns(4).ReadOnly = True : 報價明細表1_dgv.Columns(5).ReadOnly = True 報價明細表1_dgv.Columns(6).ReadOnly = True : 報價明細表1_dgv.Columns(10).ReadOnly = True : 報價明細表1_dgv.Columns(11).ReadOnly = True : 報價明細表1_dgv.Columns(12).ReadOnly = True 報價明細表1_dgv.Columns(14).ReadOnly = True : 報價明細表1_dgv.Columns(15).ReadOnly = True : 報價明細表1_dgv.Columns(16).ReadOnly = True : 報價明細表1_dgv.Columns(17).ReadOnly = True 報價明細表3_dgv.Columns(1).ReadOnly = True : 報價明細表3_dgv.Columns(2).ReadOnly = True : 報價明細表3_dgv.Columns(4).ReadOnly = True : 報價明細表3_dgv.Columns(5).ReadOnly = True 報價明細表3_dgv.Columns(6).ReadOnly = True : 報價明細表3_dgv.Columns(10).ReadOnly = True : 報價明細表3_dgv.Columns(11).ReadOnly = True : 報價明細表3_dgv.Columns(12).ReadOnly = True 報價明細表3_dgv.Columns(14).ReadOnly = True : 報價明細表3_dgv.Columns(15).ReadOnly = True : 報價明細表3_dgv.Columns(16).ReadOnly = True : 報價明細表3_dgv.Columns(17).ReadOnly = True End Sub Private Sub 小間距3_ch_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距3_ch.Click 小間距3_ch.Checked = True : 中間距3_ch.Checked = False : 大間距3_ch.Checked = False : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表() End Sub Private Sub 中間距3_ch_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距3_ch.Click 小間距3_ch.Checked = False : 中間距3_ch.Checked = True : 大間距3_ch.Checked = False : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表() End Sub Private Sub 大間距3_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距3_ch.Click 小間距3_ch.Checked = False : 中間距3_ch.Checked = False : 大間距3_ch.Checked = True : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表() End Sub Private Sub Set_合約報價明細表() Dim ds14, ds15, ds16 As New DataSet 報價明細表_dgv.DataSource = Nothing : ds14.Clear() 報價明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表_dgv.ColumnHeadersHeight = 40 : 報價明細表_dgv.AllowUserToAddRows = False : 報價明細表_dgv.RowTemplate.Height = 45 報價明細表_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True 報價明細表4_dgv.DataSource = Nothing : ds16.Clear() 報價明細表4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表4_dgv.ColumnHeadersHeight = 40 : 報價明細表4_dgv.AllowUserToAddRows = False 報價明細表4_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True For i As Integer = 0 To Y軸_dgv.Rows.Count - 1 : Y軸_dgv.EndEdit(0) : Y軸_dgv.Rows.RemoveAt(0) : Next : Y軸_dgv.ScrollBars = System.Windows.Forms.ScrollBars.None Y軸_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing Y軸_dgv.ColumnHeadersHeight = 40 : Y軸_dgv.AllowUserToAddRows = False Y軸_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True If 小間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 45 : 報價明細表4_dgv.RowTemplate.Height = 45 ElseIf 中間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 65 : 報價明細表4_dgv.RowTemplate.Height = 65 ElseIf 大間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 85 : 報價明細表4_dgv.RowTemplate.Height = 85 : End If 報價明細表_存_dgv.DataSource = Nothing : ds15.Clear() 報價明細表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表_存_dgv.ColumnHeadersHeight = 40 : 報價明細表_存_dgv.AllowUserToAddRows = False : 報價明細表_存_dgv.RowTemplate.Height = 45 報價明細表_存_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True PA = 合約編號_tb.Text : SQL_合約報價明細表() da.Fill(ds14) : 報價明細表_dgv.DataSource = ds14.Tables(0) da.Fill(ds16) : 報價明細表4_dgv.DataSource = ds16.Tables(0) da.Fill(ds15) : 報價明細表_存_dgv.DataSource = ds15.Tables(0) For Each column As DataGridViewColumn In 報價明細表_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next For Each column As DataGridViewColumn In 報價明細表4_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next 報價明細表4_dgv.Columns(0).Visible = False For i As Integer = 4 To 78 : 報價明細表4_dgv.Columns(i).Visible = False : Next 報價明細表4_dgv.Columns(85).Visible = False : 報價明細表4_dgv.Columns(86).Visible = False 報價明細表4_dgv.Columns(79).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(79).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 報價明細表4_dgv.Columns(81).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(81).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 報價明細表4_dgv.Columns(83).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(83).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter For i As Integer = 0 To 84 : 報價明細表4_dgv.Columns(i).ReadOnly = True : Next : 報價明細表4_dgv.Columns("UNIT").ReadOnly = False : Y軸_dgv.Columns(0).ReadOnly = True For i As Integer = 87 To 90 : 報價明細表4_dgv.Columns(i).Visible = False : 報價明細表_dgv.Columns(i).Visible = False : Next For i As Integer = 79 To 84 : 報價明細表_dgv.Columns(i).Visible = False : Next If 深色風格 = False Then For j As Integer = 1 To 7 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.WhiteSmoke : Next For j As Integer = 8 To 9 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Gainsboro : Next For j As Integer = 1 To 2 : 報價明細表4_dgv.Columns(j).DefaultCellStyle.BackColor = Color.White : Next 報價明細表_dgv.Columns(13).DefaultCellStyle.BackColor = Color.Gainsboro : 報價明細表_dgv.Columns(17).DefaultCellStyle.BackColor = Color.Gainsboro 報價明細表4_dgv.Columns(83).DefaultCellStyle.BackColor = Color.Gainsboro : 報價明細表4_dgv.Columns(81).DefaultCellStyle.BackColor = Color.Gainsboro 報價明細表_dgv.Columns("工資成本單價").DefaultCellStyle.ForeColor = Color.Red : 報價明細表_dgv.Columns("工資成本後價").DefaultCellStyle.ForeColor = Color.Red 報價明細表_dgv.Columns("工資報價單價").DefaultCellStyle.ForeColor = Color.Red : 報價明細表_dgv.Columns("工資報價後價").DefaultCellStyle.ForeColor = Color.Red 報價明細表_dgv.Columns("材料成本單價").DefaultCellStyle.ForeColor = Color.Green : 報價明細表_dgv.Columns("材料成本後價").DefaultCellStyle.ForeColor = Color.Green 報價明細表_dgv.Columns("材料報價單價").DefaultCellStyle.ForeColor = Color.Green : 報價明細表_dgv.Columns("材料報價後價").DefaultCellStyle.ForeColor = Color.Green Else For j As Integer = 1 To 7 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next For j As Integer = 8 To 9 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next For j As Integer = 1 To 2 : 報價明細表4_dgv.Columns(j).DefaultCellStyle.BackColor = Color.DimGray : Next 報價明細表_dgv.Columns(13).DefaultCellStyle.BackColor = Color.Black : 報價明細表_dgv.Columns(17).DefaultCellStyle.BackColor = Color.Black 報價明細表4_dgv.Columns(83).DefaultCellStyle.BackColor = Color.Black : 報價明細表4_dgv.Columns(81).DefaultCellStyle.BackColor = Color.Black 報價明細表_dgv.Columns("工資成本單價").DefaultCellStyle.ForeColor = Color.LightPink : 報價明細表_dgv.Columns("工資成本後價").DefaultCellStyle.ForeColor = Color.LightPink 報價明細表_dgv.Columns("工資報價單價").DefaultCellStyle.ForeColor = Color.LightPink : 報價明細表_dgv.Columns("工資報價後價").DefaultCellStyle.ForeColor = Color.LightPink 報價明細表_dgv.Columns("材料成本單價").DefaultCellStyle.ForeColor = Color.LightGreen : 報價明細表_dgv.Columns("材料成本後價").DefaultCellStyle.ForeColor = Color.LightGreen 報價明細表_dgv.Columns("材料報價單價").DefaultCellStyle.ForeColor = Color.LightGreen : 報價明細表_dgv.Columns("材料報價後價").DefaultCellStyle.ForeColor = Color.LightGreen End If 報價明細表_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.0" For i As Integer = 5 To 6 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next For i As Integer = 9 To 17 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next 報價明細表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00" For i As Integer = 3 To 6 報價明細表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 報價明細表4_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Next For i As Integer = 8 To 17 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : Next For i As Integer = 10 To 12 If 深色風格 = False Then : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose Else : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.Navy : End If Next For i As Integer = 14 To 16 If 深色風格 = False Then : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose Else : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.Navy : End If Next For I As Integer = 18 To 58 : 報價明細表_dgv.Columns(I).Visible = False : Next 報價明細表_dgv.Columns(0).Visible = False : 報價明細表_dgv.Columns("存檔").Visible = False : 報價明細表_dgv.Columns("層級").Visible = False 報價明細表_dgv.Columns("Save").Visible = False : 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("地點_中").Visible = False 報價明細表_dgv.Columns("地點_印").Visible = False : 報價明細表_dgv.Columns("主項_中").Visible = False : 報價明細表_dgv.Columns("主項_印").Visible = False 報價明細表_dgv.Columns("主名_中").Visible = False : 報價明細表_dgv.Columns("主名_印").Visible = False : 報價明細表_dgv.Columns("項名_中").Visible = False 報價明細表_dgv.Columns("項名_印").Visible = False : 報價明細表_dgv.Columns("描述_中").Visible = False : 報價明細表_dgv.Columns("其他_中").Visible = False 報價明細表_dgv.Columns("其他_印").Visible = False : 報價明細表_dgv.Columns("描述_印").Visible = False 報價明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter : 報價明細表1_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價明細表4_dgv.EditMode = DataGridViewEditMode.EditOnEnter : 報價明細表3_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價明細表_dgv.Columns(1).ReadOnly = True : 報價明細表_dgv.Columns(3).ReadOnly = True : 報價明細表_dgv.Columns(8).ReadOnly = True : 報價明細表_dgv.Columns(13).ReadOnly = True 報價明細表_dgv.Columns(2).ReadOnly = True : 報價明細表_dgv.Columns(4).ReadOnly = True : 報價明細表_dgv.Columns(9).ReadOnly = True : 報價明細表_dgv.Columns(5).ReadOnly = True 報價明細表_dgv.Columns(6).ReadOnly = True : 報價明細表_dgv.Columns(10).ReadOnly = True : 報價明細表_dgv.Columns(11).ReadOnly = True : 報價明細表_dgv.Columns(12).ReadOnly = True 報價明細表_dgv.Columns(14).ReadOnly = True : 報價明細表_dgv.Columns(15).ReadOnly = True : 報價明細表_dgv.Columns(16).ReadOnly = True : 報價明細表_dgv.Columns(17).ReadOnly = True For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 Y軸_dgv.Rows.Insert(0) If IsDBNull(報價明細表_dgv.Rows(i).Cells(表頭(23)).Value) Then : 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value = False : End If If IsDBNull(報價明細表_dgv.Rows(i).Cells(表頭(24)).Value) Then : 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value = False : End If If IsDBNull(報價明細表_存_dgv.Rows(i).Cells(表頭(23)).Value) Then : 報價明細表_存_dgv.Rows(i).Cells(表頭(23)).Value = False : End If If IsDBNull(報價明細表_存_dgv.Rows(i).Cells(表頭(24)).Value) Then : 報價明細表_存_dgv.Rows(i).Cells(表頭(24)).Value = False : End If Next For i As Integer = 0 To Y軸_dgv.Rows.Count - 1 : Y軸_dgv.Rows(i).Cells("Y").Value = i + 1 : Next 報價明細表_dgv_物料顯示() : 啟動運算 = True : 報價明細表_dgv_自動計算() If DGV位置2.Value >= 報價明細表_dgv.Rows.Count Then : DGV位置2.Value = 報價明細表_dgv.Rows.Count - 1 : End If If DGV位置2.Value > 0 Then : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(DGV位置2.Value).Cells(1) : End If If DGV位置2.Value > 0 Then : 報價明細表4_dgv.CurrentCell = 報價明細表4_dgv.Rows(DGV位置2.Value).Cells(1) : End If Dim mycol1 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Add") : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol2 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Save") : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol3 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Dele") : mycol3.ImageLayout = DataGridViewImageCellLayout.Zoom For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 報價明細表_dgv.Rows(i).Cells(表頭(10)).Value = False : 報價明細表_dgv.Rows(i).Cells("Add").Value = My.Resources.add_2 報價明細表_dgv.Rows(i).Cells("Save").Value = My.Resources.SAVER : 報價明細表_dgv.Rows(i).Cells("Dele").Value = My.Resources.GarbageEmpty 報價明細表_dgv.Rows(i).Cells("存檔").Value = False Next Set_合約報價明細表格式() : 重新排序() If 利潤表_ch.Checked = True Then : Set_報價明細表_dgv_利潤表開啟() : Else : End If 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending) Set_合約報價明細表_編輯用() End Sub Private Sub Set_合約報價明細表格式() 報價明細表4_dgv.Columns(1).FillWeight = 30 : 報價明細表4_dgv.Columns(2).FillWeight = 150 : 報價明細表4_dgv.Columns(3).FillWeight = 30 報價明細表4_dgv.Columns(79).FillWeight = 35 : 報價明細表4_dgv.Columns(80).FillWeight = 165 : 報價明細表4_dgv.Columns(81).FillWeight = 40 報價明細表4_dgv.Columns(82).FillWeight = 165 : 報價明細表4_dgv.Columns(83).FillWeight = 40 : 報價明細表4_dgv.Columns(84).FillWeight = 165 報價明細表_dgv.Columns(0).FillWeight = 45 : 報價明細表_dgv.Columns(1).FillWeight = 30 : 報價明細表_dgv.Columns(2).FillWeight = 200 報價明細表_dgv.Columns(3).FillWeight = 45 : 報價明細表_dgv.Columns(4).FillWeight = 45 : 報價明細表_dgv.Columns(7).FillWeight = 120 報價明細表_dgv.Columns(8).FillWeight = 50 Dim FG As Integer = 50 報價明細表_dgv.Columns(5).FillWeight = FG : 報價明細表_dgv.Columns(6).FillWeight = FG : 報價明細表_dgv.Columns(9).FillWeight = FG 報價明細表_dgv.Columns(10).FillWeight = FG : 報價明細表_dgv.Columns(11).FillWeight = FG : 報價明細表_dgv.Columns(12).FillWeight = FG 報價明細表_dgv.Columns(13).FillWeight = FG : 報價明細表_dgv.Columns(14).FillWeight = FG : 報價明細表_dgv.Columns(15).FillWeight = FG 報價明細表_dgv.Columns(16).FillWeight = FG : 報價明細表_dgv.Columns(17).FillWeight = FG 報價明細表_dgv.Columns(34).FillWeight = 80 : 報價明細表_dgv.Columns(33).FillWeight = 30 報價明細表_dgv.Columns(42).FillWeight = 20 : 報價明細表_dgv.Columns(43).FillWeight = 20 : 報價明細表_dgv.Columns(44).FillWeight = 20 報價明細表_dgv.Columns(45).FillWeight = 20 : 報價明細表_dgv.Columns(46).FillWeight = 20 : 報價明細表_dgv.Columns(47).FillWeight = 20 報價明細表_dgv.Columns(48).FillWeight = 20 : 報價明細表_dgv.Columns(49).FillWeight = 20 : 報價明細表_dgv.Columns(50).FillWeight = 20 報價明細表_dgv.Columns(60).FillWeight = 30 : 報價明細表_dgv.Columns(61).FillWeight = 30 : 報價明細表_dgv.Columns(62).FillWeight = 30 報價明細表_dgv.Columns(7).Visible = True : 報價明細表_dgv.Columns(59).Visible = False 報價明細表_dgv.Columns(85).FillWeight = 30 : 報價明細表_dgv.Columns(86).FillWeight = 30 If 利潤表_ch.Checked = False Then : 報價明細表_dgv.Columns(表頭(10)).FillWeight = 20 : Else : 報價明細表_dgv.Columns(表頭(10)).FillWeight = 20 : End If 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("Add").Visible = False : 報價明細表_dgv.Columns("Dele").Visible = False 報價明細表_dgv.Columns("工資單價").FillWeight = 40 : 報價明細表_dgv.Columns("工資單價").ReadOnly = True 報價明細表_dgv.Columns("工資係數").FillWeight = 40 : 報價明細表_dgv.Columns("工資係數").ReadOnly = True 報價明細表_dgv.Columns("材料係數").FillWeight = 40 : 報價明細表_dgv.Columns("材料係數").ReadOnly = True End Sub Private Sub Set_報價明細表_dgv_利潤表開啟() If 報價明細表_dgv.Rows.Count > 0 Then For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = False : Next 報價明細表_dgv.Columns(8).Visible = True : 報價明細表_dgv.Columns(17).Visible = True : 報價明細表_dgv.Columns(33).Visible = True 報價明細表_dgv.Columns(4).Visible = False : 利潤表_ch.Checked = True If 工資_ch.Checked = True Then : For i As Integer = 9 To 12 : 報價明細表_dgv.Columns(i).Visible = True : Next Else : For i As Integer = 9 To 12 : 報價明細表_dgv.Columns(i).Visible = False : Next : End If If 材料_ch.Checked = True Then : For i As Integer = 13 To 16 : 報價明細表_dgv.Columns(i).Visible = True : Next Else : For i As Integer = 13 To 16 : 報價明細表_dgv.Columns(i).Visible = False : Next : End If 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("Add").Visible = False : 報價明細表_dgv.Columns("Dele").Visible = False 報價明細表_dgv.Columns("工資係數").Visible = True : 報價明細表_dgv.Columns("材料係數").Visible = True : 報價明細表_dgv.Columns("工資單價").Visible = True End If End Sub Private Sub Set_合約清單() Dim ds6 As New DataSet : 合約_dgv.DataSource = Nothing : ds6.Clear() 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 合約_dgv.ColumnHeadersHeight = 25 : 合約_dgv.AllowUserToAddRows = False PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text If 待送報價_ch.Checked = True And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then SQL6 = " AND (合約停止 = 1) AND (作廢 = 0)" ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = True And 報價放行_ch.Checked = False And 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 0 OR 報價放行 IS NULL) AND (作廢 = 0)" ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = True And 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (報價簽回 = 0 OR 報價簽回 IS NULL OR 合約簽回 = 0 OR 合約簽回 IS NULL) AND (作廢 = 0)" ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = True And 合約簽回_ch.Checked = False Then SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (報價簽回 = 1) AND (作廢 = 0)" ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = True Then SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (合約簽回 = 1) AND (作廢 = 0)" ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And 作廢報價_ch.Checked = True And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then SQL6 = " AND (作廢 = 1)" End If SQL_合約清單_報價用() da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close() 合約_dgv.Columns(0).FillWeight = 130 : 合約_dgv.Columns(表頭(8)).FillWeight = 280 : 合約_dgv.Columns("簽回").FillWeight = 40 : 合約_dgv.Columns("審核通過").FillWeight = 40 合約_dgv.Columns("停止").FillWeight = 40 For i As Integer = 1 To 39 : 合約_dgv.Columns(i).Visible = False : Next For i As Integer = 0 To 合約_dgv.Rows.Count - 1 If IsDBNull(合約_dgv("停止", i).Value) = True Then : 合約_dgv("停止", i).Value = False : End If If IsDBNull(合約_dgv("簽回", i).Value) = True Then : 合約_dgv("簽回", i).Value = False : End If Next If 放大 = True Then 合約_dgv.Columns(表頭(8)).Visible = True : 合約_dgv.Columns("審核通過").Visible = True : 合約_dgv.Columns("停止").Visible = True Else 合約_dgv.Columns(表頭(8)).Visible = False : 合約_dgv.Columns("審核通過").Visible = False : 合約_dgv.Columns("停止").Visible = False End If End Sub Private Sub 語言轉換讀取() If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If Me.Text = 系統語言字典("H001-124-" & 語言) : ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) : TabPage2.Text = 系統語言字典("H102-100-" & 語言) TabPage1.Text = 系統語言字典("H102-101-" & 語言) 表頭(2) = 系統語言字典("H204-125-" & 語言) : 表頭(3) = 系統語言字典("H115-124-" & 語言) : 表頭(4) = 系統語言字典("H527-132-" & 語言) 表頭(5) = 系統語言字典("H204-126-" & 語言) : 表頭(6) = 系統語言字典("H505-112-" & 語言) : 表頭(7) = 系統語言字典("H501-152-" & 語言) 表頭(8) = 系統語言字典("H112-118-" & 語言) : 表頭(9) = 系統語言字典("H505-112-" & 語言) : 表頭(10) = 系統語言字典("H204-118-" & 語言) 表頭(12) = 系統語言字典("H108-148-" & 語言) : 表頭(13) = 系統語言字典("H903-108-" & 語言) : 表頭(14) = 系統語言字典("H108-114-" & 語言) 表頭(15) = 系統語言字典("H204-109-" & 語言) : 表頭(16) = 系統語言字典("H507-111-" & 語言) : 表頭(17) = 系統語言字典("G000-327-" & 語言) 表頭(18) = 系統語言字典("G000-328-" & 語言) : 表頭(19) = 系統語言字典("G000-329-" & 語言) : 表頭(20) = 系統語言字典("G000-330-" & 語言) 表頭(21) = 系統語言字典("G000-331-" & 語言) : 表頭(22) = 系統語言字典("G000-332-" & 語言) : 表頭(23) = 系統語言字典("G000-333-" & 語言) 表頭(24) = 系統語言字典("G000-334-" & 語言) GroupBox2.Text = 系統語言字典("H102-156-" & 語言) : 文字資料輸入1_bt.Text = 系統語言字典("H102-156-" & 語言) : Label45.Text = 系統語言字典("H204-126-" & 語言) Label16.Text = 系統語言字典("H102-124-" & 語言) : Label31.Text = 系統語言字典("H102-157-" & 語言) : Label75.Text = 系統語言字典("H102-158-" & 語言) 工程地點_lb.Text = 系統語言字典("H102-159-" & 語言) : 第一項目_lb.Text = 系統語言字典("H102-160-" & 語言) : 第二項目_lb.Text = 系統語言字典("H102-161-" & 語言) 第三項目_lb.Text = 系統語言字典("H102-162-" & 語言) : 項目描述_lb.Text = 系統語言字典("H102-163-" & 語言) : 關鍵字查詢_lb.Text = 系統語言字典("H102-164-" & 語言) 其他選項_lb.Text = 系統語言字典("H102-165-" & 語言) : 實際數量_lb.Text = 系統語言字典("H102-166-" & 語言) : 工資成本單價_lb.Text = 系統語言字典("H102-167-" & 語言) 材料成本單價_lb.Text = 系統語言字典("H102-168-" & 語言) : 工資單價_lb.Text = 系統語言字典("H102-169-" & 語言) : 工資係數_lb.Text = 系統語言字典("H102-170-" & 語言) 材料系數_lb.Text = 系統語言字典("H102-171-" & 語言) : 選擇移動_lb.Text = 系統語言字典("H102-172-" & 語言) : 資料移動_lb.Text = 系統語言字典("H102-173-" & 語言) 目前選擇_lb.Text = 系統語言字典("H102-174-" & 語言) : 文字資料輸入2_bt.Text = 系統語言字典("H102-156-" & 語言) : 利潤表_ch.Text = 系統語言字典("G000-303-" & 語言) 縮放_bt.Text = 系統語言字典("H102-175-" & 語言) : 明細表編輯_lb.Text = 系統語言字典("H102-118-" & 語言) : 啟用批量選擇_ch.Text = 系統語言字典("H506-168-" & 語言) 編號1_lb.Text = 系統語言字典("H506-160-" & 語言) : 業主1_lb.Text = 系統語言字典("H112-117-" & 語言) : 案名中1_lb.Text = 系統語言字典("G000-215-" & 語言) 案名英1_lb.Text = 系統語言字典("G000-216-" & 語言) : 日期2_lb.Text = 系統語言字典("G000-216-" & 語言) : 檔板_lb.Text = 系統語言字典("G000-287-" & 語言) 編號2_lb.Text = 系統語言字典("H506-160-" & 語言) : 日期1_lb.Text = 系統語言字典("G000-216-" & 語言) : 業主2_lb.Text = 系統語言字典("H112-117-" & 語言) 案名中2_lb.Text = 系統語言字典("G000-215-" & 語言) : 案名英2_lb.Text = 系統語言字典("G000-216-" & 語言) : 單位_lb.Text = 系統語言字典("H507-111-" & 語言) 項目_lb.Text = 系統語言字典("H405-110-" & 語言) : 不計_ch.Text = 系統語言字典("G000-301-" & 語言) : 合計項_lb.Text = 系統語言字典("G000-302-" & 語言) 詳細資料2_ch.Text = 系統語言字典("H211-100-" & 語言) : 工資_ch.Text = 系統語言字典("G000-303-" & 語言) : 材料_ch.Text = 系統語言字典("G000-304-" & 語言) 詳細資料_ch.Text = 系統語言字典("H211-100-" & 語言) : 全部選擇_bt.Text = 系統語言字典("H209-103-" & 語言) : 全部取消_bt.Text = 系統語言字典("H209-102-" & 語言) 甲方_lb.Text = 系統語言字典("H110-118-" & 語言) : 搜尋_lb.Text = 系統語言字典("H110-117-" & 語言) : 群組編碼_lb.Text = 系統語言字典("H509-117-" & 語言) 搜尋_bt.Text = 系統語言字典("H511-119-" & 語言) : 最後採購日_lb.Text = 系統語言字典("G000-306-" & 語言) : 歷史單價_lb.Text = 系統語言字典("G000-307-" & 語言) 帶上歷史單價_ch.Text = 系統語言字典("G000-308-" & 語言) : 最後採購日1_lb.Text = 系統語言字典("G000-306-" & 語言) : 歷史單價1_lb.Text = 系統語言字典("G000-307-" & 語言) 詳細資料1_ch.Text = 系統語言字典("H211-100-" & 語言) : 帶上歷史單價1_ch.Text = 系統語言字典("G000-308-" & 語言) : 建立合約資料_tc.Text = 系統語言字典("G000-313-" & 語言) 是否帶入主項目_ch.Text = 系統語言字典("G000-310-" & 語言) : 項目1_lb.Text = 系統語言字典("H405-110-" & 語言) : 主項目_lb.Text = 系統語言字典("H527-202-" & 語言) 計算基數_lb.Text = 系統語言字典("G000-311-" & 語言) : 工程合約報價明細_tc.Text = 系統語言字典("G000-314-" & 語言) : 工程合約試算表_tc.Text = 系統語言字典("G000-315-" & 語言) BOM群組_lb.Text = 系統語言字典("G000-309-" & 語言) : 係數設定_tc.Text = 系統語言字典("G000-316-" & 語言) : 甲方2_lb.Text = 系統語言字典("H110-118-" & 語言) 合約號搜尋_lb.Text = 系統語言字典("H511-119-" & 語言) : 合約停止_ch.Text = 系統語言字典("G000-319-" & 語言) : 待送報價_ch.Text = 系統語言字典("G000-320-" & 語言) 待審報價_ch.Text = 系統語言字典("G000-321-" & 語言) : 報價放行_ch.Text = 系統語言字典("G000-322-" & 語言) : 作廢報價_ch.Text = 系統語言字典("G000-323-" & 語言) 報價簽回_ch.Text = 系統語言字典("G000-324-" & 語言) : 合約簽回_ch.Text = 系統語言字典("G000-325-" & 語言) : 公式1_lb.Text = 系統語言字典("G000-326-" & 語言) 公式2_lb.Text = 系統語言字典("G000-326-" & 語言) : 不印工資_全選_bt.Text = 系統語言字典("G000-335-" & 語言) : 不印工資_取消_bt.Text = 系統語言字典("G000-336-" & 語言) 不印材料_全選_bt.Text = 系統語言字典("G000-337-" & 語言) : 不印材料_取消_bt.Text = 系統語言字典("G000-338-" & 語言) : 公式3_lb.Text = 系統語言字典("G000-326-" & 語言) 列位_lb.Text = 系統語言字典("G000-371-" & 語言) : 答案_lb.Text = 系統語言字典("G000-372-" & 語言) : 物料工資計算式_lb.Text = 系統語言字典("G000-373-" & 語言) End Sub Private Sub 合約試算分下拉清單() PA = 合約編號_tb.Text : SQL_合約試算分表查詢() : 試算表_cb.Items.Clear() : While (dr.Read()) : 試算表_cb.Items.Add(dr("試算表")) : End While : conn.Close() End Sub Private Sub 合約試算控制下拉清單() PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : SQL_合約試算控制表查詢() : 樓層_迴路_cb.Items.Clear() : While (dr.Read()) : 樓層_迴路_cb.Items.Add(dr("樓層/迴路")) : End While : conn.Close() End Sub Private Sub 合約種類下拉清單讀取() SQL_合約種類讀取() : 合約種類_cb.Items.Clear() : 合約種類_cb.Items.Add("") : While (dr.Read()) : 合約種類_cb.Items.Add(dr("中")) : End While : conn.Close() End Sub Private Sub 客戶名稱下拉清單讀取() SQL_客戶名稱讀取() : 客戶名稱_tb.Items.Clear() : While (dr.Read()) : 客戶名稱_tb.Items.Add(dr("客戶名稱")) : End While : conn.Close() End Sub Private Sub 我司負責人下拉清單讀取() SQL負責人B讀取() : 負責人_B_cb.Items.Clear() : While (dr.Read()) : 負責人_B_cb.Items.Add(dr("負責人B")) : End While : conn.Close() End Sub Private Sub 項目其他下拉清單讀取() SQL合約其他下拉() : 其他_中_cb.Items.Clear() : 其他_印_cb.Items.Clear() While (dr.Read()) : 其他_中_cb.Items.Add(dr("其他_中")) : 其他_印_cb.Items.Add(dr("其他_印")) : End While : conn.Close() SQL合約描述下拉() : 描述_中_cb.Items.Clear() : 描述_印_cb.Items.Clear() While (dr.Read()) : 描述_中_cb.Items.Add(dr("描述_中")) : 描述_印_cb.Items.Add(dr("描述_印")) : End While : conn.Close() End Sub Private Sub 甲方條件下拉清單讀取() SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : 合約編號2_cb.Items.Clear() : 合約編號2_cb.Items.Add("") 甲方_cb.Items.Clear() : 甲方_cb.Items.Add("") While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : 合約編號2_cb.Items.Add(dr("約號甲方")) : 甲方_cb.Items.Add(dr("約號甲方")) : End While : conn.Close() End Sub Private Sub 預設資料1() 工程地點_tb.Text = "" : 工程名稱_中_tb.Text = "" : 工程名稱_英_tb.Text = "" : 負責人_B_cb.Text = "" : CH2.Checked = True : 立約日期_dtp.Value = Today() 我司地址_tb.Text = "Kawasan Industri Terpadu Indonesia China ( KITIC ) Kav. 42 Lantai 4 Desa Nagasari Kec. Serang Baru Kab. Bekasi – Jawa Barat" : 廠區_中文_tb.Text = "" NUD3.Value = 0 : 工程款1_nud.Value = 30 : 工程款2_nud.Value = 40 : 工程款3_nud.Value = 20 : 工程款4_nud.Value = 5 : 工程款5_nud.Value = 5 : 工期_nud.Value = 180 最末頁_cb.Text = "16" : 最高扣款_英_bt.Text = "5 (five)%." : 逾期_bt.Text = "0.0005% (萬分之五)" : 頁數_bt.Text = "16" 最高扣款_bt.Text = "5% (百分之五)" : 逾期_英_bt.Text = "0.0005% (null point null null null five percent)" Set_合約清單() : 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取() 合約種類_cb.SelectedIndex = 0 End Sub Private Sub 匯率() PA48 = Strings.Left(Strings.Format(立約日期_dtp.Value, "yyyyMMdd"), 4) : PA49 = Strings.Mid(Strings.Format(立約日期_dtp.Value, "yyyyMMdd"), 5, 2) SQL_匯率查詢() If dr.Read() Then 人民幣匯率 = dr("中心匯率").ToString : 美金匯率 = dr("美金匯率").ToString : 印尼匯率 = dr("印尼盾").ToString : conn.Close() : dr.Close() If 台幣_ch.Checked = True Then : 匯率1 = 1 / 印尼匯率 : ElseIf 人民幣_ch.Checked = True Then : 匯率1 = 人民幣匯率 / 印尼匯率 ElseIf 美金_ch.Checked = True Then : 匯率1 = 美金匯率 / 印尼匯率 : ElseIf 印尼盾_ch.Checked = True Then : 匯率1 = 1 : End If Else conn.Close() : dr.Close() : MGB(系統語言字典("H102-102-" & 語言), 1) If 台幣_ch.Checked = True Then : 匯率1 = 1 / 0.002 : ElseIf 人民幣_ch.Checked = True Then : 匯率1 = 4.5 / 0.002 ElseIf 美金_ch.Checked = True Then : 匯率1 = 31 / 0.002 : ElseIf 印尼盾_ch.Checked = True Then : 匯率1 = 1 : End If End If End Sub Private Sub 載入群組碼() SQL_工程項目BOM_群組碼() : 群組碼_cb.Items.Clear() : 群組碼中_cb.Items.Clear() : 群組碼印_cb.Items.Clear() : 群組碼_cb.Items.Add("%%") 群組碼中_cb.Items.Add("全部") : 群組碼印_cb.Items.Add("ALL") While (dr.Read()) : 群組碼_cb.Items.Add(dr("群組碼")) : 群組碼中_cb.Items.Add(dr("中文名稱")) : 群組碼印_cb.Items.Add(dr("印尼文名稱")) : End While End Sub Private Sub 合約報價單_Load(sender As Object, e As EventArgs) Handles MyBase.Load HX_PGS_ERP_SYS.WindowState = 2 : Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True 風格() : H(102) = True : 介面 = "H102" : 語言轉換讀取() : 顯示說明(999, False) Me.KeyPreview = True ' 啟用 KeyPreview 屬性,使窗體可以捕捉鍵盤事件 Y軸_dgv.AllowUserToAddRows = False Dim DB01 As New DataGridViewTextBoxColumn : DB01.HeaderText = "Y" : DB01.Name = "Y" : Y軸_dgv.Columns.Insert(0, DB01) 報價總表_存_dgv.SendToBack() : 報價明細表_存_dgv.SendToBack() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear() : 主項_中_cb.Items.Clear() : 主項_印_cb.Items.Clear() 合約編號2_tb.Enabled = False : 合約編號3_tb.Enabled = False : CH1.Checked = False : CH2.Checked = True : NUD1.Enabled = False : NUD3.Enabled = True 小間距_ch.Checked = True : 視窗2_pl.Visible = False : 視窗3_pl.Visible = False : 視窗4_pl.Visible = False : 式算明細表_P.Visible = False : 物料工資計算式_P.Visible = False 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False : 切換_ts.Value = True : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront() SQL6 = "" : 總表空間_P.BringToFront() : Panel2.SendToBack() If 系統語言 = "繁體中文" Then BOM群組_lb.Visible = True : BOM群組_lb.Visible = False : 群組碼_cb.Visible = False : 群組碼中_cb.Visible = True : 群組碼印_cb.Visible = False Else BOM群組_lb.Visible = False : BOM群組_lb.Visible = True : 群組碼_cb.Visible = False : 群組碼中_cb.Visible = False : 群組碼印_cb.Visible = True End If If CInt(登入人級別) <= 3 Then 檔板_lb.SendToBack() : 檔板_lb.Visible = False : 算式2_tb.ReadOnly = False : BB1_nud.ReadOnly = False : BB2_nud.ReadOnly = False : BB3_nud.ReadOnly = False 物料公式存檔_bt.Visible = True Else 檔板_lb.BringToFront() : 檔板_lb.Visible = True : 算式2_tb.ReadOnly = True : BB1_nud.ReadOnly = True : BB2_nud.ReadOnly = True : BB3_nud.ReadOnly = True 物料公式存檔_bt.Visible = False End If If CInt(登入人級別) <= 5 Then : 合約停止_ch.Enabled = True : 刪除合約_bt.Enabled = True : Else : 合約停止_ch.Enabled = False : 刪除合約_bt.Enabled = False : End If 縮放1_bt.PerformClick() : 物料清單_dgv.BringToFront() : Panel1.SendToBack() : Panel7.SendToBack() : 不再動作1 = True A3 = 空間2.Size.Width : B3 = 空間2.Size.Height 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(A1, B2) : 空間2.Size = New System.Drawing.Point((A2 - A1) + A3, B3) A1 = 空間1.Location.X : A2 = 錨點1.Location.X : B2 = 空間2.Location.Y : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X BB2 = 空間3.Location.Y : AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height BB4 = 總表空間_P.Location.Y : AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height OY2 = 報價明細表_dgv.Size.Height 預估工資總成本_tb.Text = "0" : 預估材料總成本_tb.Text = "0" : 預估工資總報價_tb.Text = "0" : 預估材料總報價_tb.Text = "0" : 預估利潤_tb.Text = "0" 總成本_tb.Text = "0" : 總報價_tb.Text = "0" : 利潤比1_tb.Text = "0 %" : 利潤比2_tb.Text = "0 %" : 利潤比3_tb.Text = "0 %" : 利潤比4_tb.Text = "0 %" 未折價前_tb.Text = "0" : 報價小計_tb.Text = "0" : 折讓比例_nud.Value = "0" : 歸零位數_nud.Value = "0" : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False 歸零數_tb.Visible = False If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)" ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If If CInt(登入人級別) = 0 Then : Else : 美金_ch.Visible = False : 台幣_ch.Visible = False : 人民幣_ch.Visible = False : 印尼盾_ch.Visible = False : End If 合約報價單_Siz() End Sub Private Sub 合約報價單_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged 合約報價單_Siz() A1 = 空間1.Location.X : A2 = 錨點1.Location.X : B2 = 空間2.Location.Y AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X : BB2 = 空間3.Location.Y : BB4 = 總表空間_P.Location.Y If 空間1.Visible = False Then : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height : A3 -= (A2 - A1) : End If If 合約_dgv.Visible = False Then AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height : AA3 -= (AA2 - AA1) AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height : AA5 -= (AA2 - AA1) End If End Sub Private Sub 合約報價單_Siz() MyMod.清單字體大小調整() 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 合約1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價係數_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價總表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價明細表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : BOM表控制_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) BOM表明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價明細表1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價明細表3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 物料清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價明細表2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價係數1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價係數2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價係數3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) 報價係數4_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) End Sub Private Sub 合約報價單_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown Set_合約報價係數_範本() : SQL_合約作廢查詢預設() : Set_合約清單1() : Set_合約清單() SQL_群組碼_語轉_下拉清單() : 新群組1_cb.Items.Clear() : While (dr.Read()) : 新群組1_cb.Items.Add(dr("群組")) : End While : conn.Close() SQL_群組碼_下拉清單() : 群組編碼_cb.Items.Clear() : While (dr.Read()) : 群組編碼_cb.Items.Add(dr("群組碼")) : End While : conn.Close() SQL_合約係數表下拉1() : 係數項目_cb.Items.Clear() : While (dr.Read()) : 係數項目_cb.Items.Add(dr("項目")) : End While : conn.Close() SQL_合約係數表下拉2() : 係數單位_cb.Items.Clear() : While (dr.Read()) : 係數單位_cb.Items.Add(dr("單位")) : End While : conn.Close() SQL單位讀取() : 單位_cb.Items.Clear() : While (dr.Read()) : 單位_cb.Items.Add(dr("單位")) : End While : conn.Close() 甲方條件下拉清單讀取() : 新群組1_cb.SelectedIndex = 0 : PA = "範本" 載入群組碼() : 群組碼_cb.SelectedIndex = 0 : 群組碼中_cb.SelectedIndex = 0 : 群組碼印_cb.SelectedIndex = 0 : Set_BOM表控制() If 系統語言 = "繁體中文" Then 地點_中_tb.Enabled = True : 地點_印_tb.Enabled = False : 主項_中_cb.Enabled = True : 主項_印_cb.Enabled = False 主名_中_cb.Enabled = True : 主名_印_cb.Enabled = False : 項名_中_cb.Enabled = True : 項名_印_cb.Enabled = False 描述_中_cb.Enabled = True : 描述_印_cb.Enabled = False : 其他_中_cb.Enabled = True : 其他_印_cb.Enabled = False Else 地點_中_tb.Enabled = False : 地點_印_tb.Enabled = True : 主項_中_cb.Enabled = False : 主項_印_cb.Enabled = True 主名_中_cb.Enabled = False : 主名_印_cb.Enabled = True : 項名_中_cb.Enabled = False : 項名_印_cb.Enabled = True 描述_中_cb.Enabled = False : 描述_印_cb.Enabled = True : 其他_中_cb.Enabled = False : 其他_印_cb.Enabled = True End If 合約種類_cb.Text = "" : 合約種類_tb.Text = "" : 客戶名稱_tb.Text = "" : 負責人_A_cb.Text = "" 工程地點_tb.Text = "" : 客戶地址_tb.Text = "" : 工程名稱_中_tb.Text = "" : 工程名稱_英_tb.Text = "" : 負責人_B_cb.Text = "" : CH2.Checked = True : 立約日期_dtp.Value = Today() 我司地址_tb.Text = "Kawasan Industri Terpadu Indonesia China ( KITIC ) Kav. 42 Lantai 4 Desa Nagasari Kec. Serang Baru Kab. Bekasi – Jawa Barat" : 廠區_中文_tb.Text = "" NUD3.Value = 0 : 工程款1_nud.Value = 30 : 工程款2_nud.Value = 40 : 工程款3_nud.Value = 20 : 工程款4_nud.Value = 5 : 工程款5_nud.Value = 5 : 工期_nud.Value = 180 最高扣款_英_bt.Text = "5 (five)%." : 逾期_bt.Text = "0.0005% (萬分之五)" : 頁數_bt.Text = "16" 最高扣款_bt.Text = "5% (百分之五)" : 逾期_英_bt.Text = "0.0005% (null point null null null five percent)" Set_合約清單() : 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取() 合約種類_cb.SelectedIndex = 0 Set_合約文件圖庫資料庫狀態() 項目其他下拉清單讀取() '----------------由待辦事項進入---------------------------------------------------------------------------------------------------------------------------------- If 待辦進入 <> "" Then : 關鍵字搜尋_tb.Text = 待辦進入 待送報價_ch.Checked = True : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If 待送報價_ch.Checked = False : 待審報價_ch.Checked = True : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = True : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = True : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = True : 合約簽回_ch.Checked = False Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = True Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If MGB(系統語言字典("H204-138-" & 語言), 1) End If End Sub Private Sub 合約報價單_Closing(sender As Object, e As EventArgs) Handles MyBase.Closed SQL_合約作廢查詢預設() : MyMod.虛擬桌面開啟() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click 介面 = "H102" : 語言轉換讀取() : 回首頁_bt.PerformClick() End Sub Private Sub 合約報價單_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.Control AndAlso e.KeyCode = Keys.S Then : 報價總表存檔_bt.PerformClick() : 報價明細表存檔_bt.PerformClick() : End If End Sub Private Sub 合約編號1_cb_Click(sender As Object, e As EventArgs) Handles 合約編號1_cb.Click CB選擇清單(合約編號1_cb, 合約編號1_cb.Text) End Sub Private Sub 合約編號_cb_Click(sender As Object, e As EventArgs) Handles 合約編號_cb.Click CB選擇清單(合約編號_cb, 合約編號_cb.Text) End Sub Private Sub 最末頁_cb_Click(sender As Object, e As EventArgs) Handles 最末頁_cb.Click CB選擇清單(最末頁_cb, 最末頁_cb.Text) End Sub Private Sub 合約種類_cb_Click(sender As Object, e As EventArgs) Handles 合約種類_cb.Click CB選擇清單(合約種類_cb, 合約種類_cb.Text) End Sub Private Sub 負責人_A_cb_Click(sender As Object, e As EventArgs) Handles 負責人_A_cb.Click CB選擇清單(負責人_A_cb, 負責人_A_cb.Text) End Sub Private Sub 客戶名稱_tb_Click(sender As Object, e As EventArgs) Handles 客戶名稱_tb.Click CB選擇清單(客戶名稱_tb, 客戶名稱_tb.Text) End Sub Private Sub 選擇公司_cb_Click(sender As Object, e As EventArgs) Handles 選擇公司_cb.Click CB選擇清單(選擇公司_cb, 選擇公司_cb.Text) End Sub Private Sub 負責人_B_cb_Click(sender As Object, e As EventArgs) Handles 負責人_B_cb.Click CB選擇清單(負責人_B_cb, 負責人_B_cb.Text) End Sub '------------------------------------------------------------------------------------------------------------------------------------------------------------ '-----------------合約讀取----------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------ Private Sub 合約1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約1_dgv.CellClick If e.RowIndex = -1 Then : Else 合約編號_1_tb.Text = 合約1_dgv.Rows(e.RowIndex).Cells(表頭(7)).Value : Set_合約報價明細表1() If 放大 = True Then : 縮放2_bt.PerformClick() : End If End If End Sub Private Sub 合約讀取() 編輯_ch.Checked = False : 編輯1_ch.Checked = False : 鎖定_ch.Checked = False : 鎖定1_ch.Checked = False : 算式_tb.Text = "" : 算式1_tb.Text = "" 目前X_tb.Text = "" : 目前X1_tb.Text = "" : 目前1_tb.Text = "" 試算表_cb.Items.Clear() : 試算表_cb.Text = "試算表1" : 表號_tb.Text = "B01" '---------合約生成-------------------------------------------------------------------------------------------------------------- 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取() 初次讀檔 = True If Strings.Left(合約_dgv(表頭(7), 選取位置).Value.ToString, 2) = "HX" Then : 合約編號_cb.Text = "HX" : Else : 合約編號_cb.Text = "PGS" : End If 合約編號1_tb.Text = 合約_dgv("約號甲方", 選取位置).Value.ToString : 合約編號2_tb.Text = 合約_dgv("約號排序", 選取位置).Value.ToString 合約編號3_tb.Text = 合約_dgv("約號尾序", 選取位置).Value.ToString : 報價說明_tb.Text = 合約_dgv("報價說明", 選取位置).Value.ToString 客戶名稱_tb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString : 負責人_A_cb.Text = 合約_dgv("負責人A", 選取位置).Value.ToString 工程地點_tb.Text = 合約_dgv("工程地點", 選取位置).Value.ToString : 客戶地址_tb.Text = 合約_dgv("客戶地址", 選取位置).Value.ToString If 系統語言 = "繁體中文" Then 工程名稱_中_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString Else 工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString End If 負責人_B_cb.Text = 合約_dgv("負責人B", 選取位置).Value.ToString : 我司地址_tb.Text = 合約_dgv("我司地址", 選取位置).Value.ToString CH2.Checked = True : NUD3.Value = 合約_dgv("工程總價", 選取位置).Value : 工程款1_nud.Value = 合約_dgv("第一期比例", 選取位置).Value 工程款2_nud.Value = 合約_dgv("第二期比例", 選取位置).Value : 工程款3_nud.Value = 合約_dgv("第三期比例", 選取位置).Value 工程款4_nud.Value = 合約_dgv("第四期比例", 選取位置).Value : 工程款5_nud.Value = 合約_dgv("第五期比例", 選取位置).Value 工期_nud.Value = 合約_dgv("工期", 選取位置).Value : 逾期_bt.Text = 合約_dgv("逾期_中", 選取位置).Value.ToString 最高扣款_bt.Text = 合約_dgv("最高扣罰_中", 選取位置).Value.ToString : 逾期_英_bt.Text = 合約_dgv("逾期_英", 選取位置).Value.ToString 最高扣款_英_bt.Text = 合約_dgv("最高扣罰_英", 選取位置).Value.ToString : 減價_bt.Text = 合約_dgv("減價", 選取位置).Value.ToString 廠區_中文_tb.Text = 合約_dgv("工程廠區", 選取位置).Value.ToString : 最末頁_cb.Text = 合約_dgv("頁數", 選取位置).Value.ToString 立約日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value : 合約種類_cb.Text = 合約_dgv("合約種類", 選取位置).Value.ToString 合約停止_ch.Checked = 合約_dgv("停止", 選取位置).Value : 係數範本選擇_cb.Text = 合約_dgv("係數種類", 選取位置).Value.ToString 初次讀檔 = False If 合約_dgv("幣別", 選取位置).Value.ToString = "美金" Then : 美金_ch.Checked = True : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "台幣" Then : 美金_ch.Checked = False : 台幣_ch.Checked = True : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "人民幣" Then : 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = True : 印尼盾_ch.Checked = False ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "印尼盾" Then : 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = True End If 折讓比例_nud.Value = 合約_dgv("折讓比例", 選取位置).Value : 歸零位數_nud.Value = 合約_dgv("歸零位數", 選取位置).Value 稅前歸零_ch.Checked = 合約_dgv("稅前歸零", 選取位置).Value : 稅後歸零_ch.Checked = 合約_dgv("稅後歸零", 選取位置).Value 圖片庫 = 合約_dgv("簽回檔圖庫", 選取位置).Value.ToString : 簽回檔 = 合約_dgv("簽回", 選取位置).Value PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text '---------試算表-------------------------------------------------------------------------------------------------------------- 合約編號_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString PA = 合約_dgv(表頭(7), 選取位置).Value.ToString : SQL_合約試算分表查詢() If dr.Read() Then 試算表_cb.Items.Clear() : conn.Close() : SQL_合約試算分表查詢() : While (dr.Read()) : 試算表_cb.Items.Add(dr("試算表")) : End While conn.Close() : 試算表_cb.SelectedIndex = 0 : 表號_tb.Text = "B01" : PA2 = 表號_tb.Text : SQL_合約試算控制表查詢() If dr.Read() Then 樓層_迴路_cb.Items.Clear() : conn.Close() : SQL_合約試算控制表查詢() : While (dr.Read()) : 樓層_迴路_cb.Items.Add(dr("樓層/迴路")) : End While : conn.Close() 樓層_迴路_cb.SelectedIndex = 0 : 表頭_tb.Text = "A01" : Set_合約試算控制表_查詢() Else 樓層_迴路_cb.Items.Clear() : 表頭_tb.Text = "" : Set_合約試算控制表_查詢() End If : conn.Close() Else conn.Close() : PA1 = 試算表_cb.Text : PA2 = 表號_tb.Text : SQL_合約試算分表_新增() End If : conn.Close() '---------報價單-------------------------------------------------------------------------------------------------------------- 報價單合約編號_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString : 報價單客戶名稱_cb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString 報價單立約日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value.ToString : 報價單合約編號1_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString 報價單客戶名稱1_cb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString If 系統語言 = "繁體中文" Then 報價工程名稱_中_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 報價工程名稱_中1_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString 報價工程名稱_英1_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString : 報價工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString Else 報價工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 報價工程名稱_中1_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString 報價工程名稱_英1_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 報價工程名稱_英_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString End If PA = 合約編號_tb.Text Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() : 報價總表_dgv_自動計算() If 報價明細表_dgv.Rows.Count = 0 Then : For i As Integer = 1 To 3 : 新增資料2_bt.PerformClick() : Next : End If End Sub Private Sub 合約_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約_dgv.CellClick If e.RowIndex = -1 Then : Else : 選取位置 = e.RowIndex : 合約讀取() : 報價明細表_dgv_自動計算() : End If : 縮放2_bt.PerformClick() : 縮放1_bt.PerformClick() End Sub Private Sub 報價總表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellClick If e.RowIndex = -1 Then : Else : DGV位置1.Value = e.RowIndex 總表流水_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString : ITEM1_cb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("ITEM").Value.ToString() 單位_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("UNIT").Value.ToString() : 備註_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("REMARKS").Value.ToString() 內容_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() : 選擇項_tb.Text = DGV位置1.Value 合計項_cb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() : 選擇項3_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("排序").Value.ToString() If 合計項_cb.Text = "小計(未稅) Subtotal(Excluding Tax)" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Or Strings.Left(合計項_cb.Text, 3) = "管理費" Or Strings.Left(合計項_cb.Text, 2) = "折讓" Or 合計項_cb.Text = "總計 Grand Total" Or 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then Else : 合計項_cb.Text = "" : End If DGV_X = e.ColumnIndex : DGV_Y = e.RowIndex : 選擇項_tb.Text = e.RowIndex If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Then If 目前選擇 = "寫入資料" Then : X_3_tb.Text = e.ColumnIndex : Y_3_tb.Text = e.RowIndex : Else If IsDBNull(報價總表_dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) Then : 報價總表_dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0 : End If End If End If End If End Sub Private Sub 報價總表_dgv_CellDoubleClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellDoubleClick If e.RowIndex = -1 Then : Else If 視窗2_pl.Visible = True Then : DGV_X = e.ColumnIndex : DGV_Y = e.RowIndex : 選擇項_tb.Text = e.RowIndex : End If 連動編號_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("明細連動").Value.ToString Me.TabControl1.SelectedTab = Me.工程合約報價明細_tc Dim 查詢 As Boolean For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() Then 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(i).Cells(1) : 查詢 = True : Exit For : Else : 查詢 = False End If Next If 查詢 = False Then If DGV位置2.Value >= 報價明細表_dgv.Rows.Count Then : DGV位置2.Value = 報價明細表_dgv.Rows.Count - 1 : End If If DGV位置2.Value > 0 Then : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(DGV位置2.Value).Cells(1) : End If If DGV位置2.Value > 0 Then : 報價明細表4_dgv.CurrentCell = 報價明細表4_dgv.Rows(DGV位置2.Value).Cells(1) : End If End If End If End Sub Private Sub 報價總表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價總表_dgv.MouseUp 'If 報價總表_dgv.SelectedCells.Count = 1 Then : 通知訊息 = 報價總表_dgv.SelectedCells(0).ColumnIndex & " " & 報價總表_dgv.SelectedCells(0).RowIndex) : End If If 報價總表_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If If 報價總表_dgv.SelectedCells.Count > 0 Then '--------------------------------加總計算-------------------------------------------------------------------------------------------------------------------- If 報價總表_dgv.SelectedCells(0).ColumnIndex = 4 Or 報價總表_dgv.SelectedCells(0).ColumnIndex = 5 Or 報價總表_dgv.SelectedCells(0).ColumnIndex = 6 Then If 已超出 = False Then : Dim x As Double = 0 For i As Integer = 0 To 報價總表_dgv.SelectedCells.Count - 1 Dim 變數 As String = "" : Dim 取變數 As String 取變數 = 報價總表_dgv.Rows(報價總表_dgv.SelectedCells.Item(i).RowIndex).Cells(報價總表_dgv.SelectedCells.Item(i).ColumnIndex).Value For ii As Integer = 1 To Len(取變數) If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If Next : x += Val(變數) Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0") Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0") : End If Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0") : End If '--------------------------------點擊功能-------------------------------------------------------------------------------------------------------------------- If 報價總表_dgv.SelectedCells(0).ColumnIndex = 11 Then : PA20 = "1" : 新增資料() ElseIf 報價總表_dgv.SelectedCells(0).ColumnIndex = 2 Then Dim 位置 As Integer : 總表編輯_bt.PerformClick() : 位置 = 報價總表_dgv.SelectedCells(0).RowIndex : DGV位置1.Value = 位置 總表流水_tb.Text = 報價總表_dgv.Rows(位置).Cells("流水號").Value.ToString : ITEM1_cb.Text = 報價總表_dgv.Rows(位置).Cells("ITEM").Value.ToString() 單位_tb.Text = 報價總表_dgv.Rows(位置).Cells("UNIT").Value.ToString() : 備註_tb.Text = 報價總表_dgv.Rows(位置).Cells("REMARKS").Value.ToString() 內容_tb.Text = 報價總表_dgv.Rows(位置).Cells("DESCRIPTION").Value.ToString() : 選擇項_tb.Text = 位置 合計項_cb.Text = 報價總表_dgv.Rows(位置).Cells("DESCRIPTION").Value.ToString() : 選擇項3_tb.Text = 報價總表_dgv.Rows(位置).Cells("排序").Value.ToString() 數量_tb.Text = 報價總表_dgv.Rows(位置).Cells("QTY").Value.ToString() If 合計項_cb.Text = "小計(未稅) Subtotal(Excluding Tax)" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Or Strings.Left(合計項_cb.Text, 3) = "管理費" Or Strings.Left(合計項_cb.Text, 2) = "折讓" Or 合計項_cb.Text = "總計 Grand Total" Or 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then Else : 合計項_cb.Text = "" : End If ElseIf 報價總表_dgv.SelectedCells(0).ColumnIndex = 13 Then : 總表選擇刪除_bt.PerformClick() : End If End If End Sub Private Sub 報價總表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellEndEdit If 啟動運算 = True Then : 報價總表_dgv_自動計算() : End If End Sub Private Sub 重新排序_總表() For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If I < 10 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = "00" & I ElseIf I > 9 And I < 100 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = "0" & I ElseIf I > 99 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = I : End If Next End Sub Private Sub 上移1_bt_Click(sender As Object, e As EventArgs) Handles 上移1_bt.Click 選擇項3_tb.Text = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value.ToString If CLng(選擇項_tb.Text) = 1 Then If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項3_tb.Text) - 1 ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) - 1 ElseIf CLng(選擇項3_tb.Text) > 98 And CLng(選擇項3_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) - 1 ElseIf CLng(選擇項3_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) - 1 : End If 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text : 報價總表_dgv.Rows(0).Cells(0).Value = "0000_1" Else If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項3_tb.Text) - 2 & "_1" ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) - 2 & "_1" ElseIf CLng(選擇項3_tb.Text) > 98 And CLng(選擇項3_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) - 2 & "_1" ElseIf CLng(選擇項3_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) - 2 & "_1" : End If 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text End If 選擇項_tb.Text = CLng(選擇項_tb.Text) - 1 : 報價總表_dgv.Sort(報價總表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(2) : 重新排序_總表() If CLng(選擇項_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項_tb.Text) ElseIf CLng(選擇項_tb.Text) > 8 And CLng(選擇項_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項_tb.Text) ElseIf CLng(選擇項_tb.Text) > 98 And CLng(選擇項_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項_tb.Text) ElseIf CLng(選擇項_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項_tb.Text) : End If : 報價總表_dgv_自動計算() End Sub Private Sub 下移1_bt_Click(sender As Object, e As EventArgs) Handles 下移1_bt.Click Dim 最大 As Integer = 報價總表_dgv.Rows.Count - 1 If CLng(選擇項_tb.Text) = 最大 Then : Else 選擇項3_tb.Text = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value.ToString If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) + 1 & "-1" ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) + 1 & "-1" ElseIf CLng(選擇項3_tb.Text) > 98 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) + 1 & "-1" : End If 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text : 選擇項_tb.Text = CLng(選擇項_tb.Text) + 1 報價總表_dgv.Sort(報價總表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(2) : 重新排序_總表() If CLng(選擇項_tb.Text) <= 8 Then : 選擇項3_tb.Text = "00" & CLng(選擇項_tb.Text) ElseIf CLng(選擇項_tb.Text) > 8 And CLng(選擇項_tb.Text) <= 98 Then : 選擇項3_tb.Text = "0" & CLng(選擇項_tb.Text) ElseIf CLng(選擇項_tb.Text) > 98 Then : 選擇項3_tb.Text = CLng(選擇項_tb.Text) : End If : 報價總表_dgv_自動計算() End If End Sub Private Sub 報價明細表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellClick If e.RowIndex = -1 Then : Else : 選擇項1_tb.Text = e.RowIndex : DGV位置2.Value = 選擇項1_tb.Text : DGV_X = 選擇項1_tb.Text : DGV_Y = 選擇項1_tb.Text If 啟用批量選擇_ch.Checked = True Then If 報價明細表_dgv(表頭(10), e.RowIndex).Value = True Then If 深色風格 = False Then 報價明細表_dgv(表頭(10), e.RowIndex).Value = False : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White Else 報價明細表_dgv(表頭(10), e.RowIndex).Value = False : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black End If Else If 深色風格 = False Then 報價明細表_dgv(表頭(10), e.RowIndex).Value = True : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightBlue Else 報價明細表_dgv(表頭(10), e.RowIndex).Value = True : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Blue End If End If End If 報價明細表選擇() If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Or DGV_X = 8 Or DGV_X = 9 Or DGV_X = 10 Or DGV_X = 11 Or DGV_X = 12 Or DGV_X = 13 Or DGV_X = 14 Or DGV_X = 15 Or DGV_X = 16 Or DGV_X = 17 Then If 目前選擇 = "寫入資料" Then : X_2_tb.Text = e.ColumnIndex : Y_2_tb.Text = 選擇項1_tb.Text : Else If IsDBNull(報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value) Then : 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value = 0 : End If 數值4_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value End If End If End If End Sub Private Sub 報價明細表選擇() 合計項1_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION").Value.ToString() If Strings.Left(合計項1_cb.Text, 5) = "Total" Then : Else : 合計項1_cb.Text = "" : End If 項目_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("層級").Value.ToString() 地點_中_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("地點_中").Value.ToString() : 地點_印_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("地點_印").Value.ToString() 主項_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主項_中").Value.ToString() : 主項_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主項_印").Value.ToString() 主名_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主名_中").Value.ToString() : 主名_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主名_印").Value.ToString() 項名_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("項名_中").Value.ToString() : 項名_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("項名_印").Value.ToString() 描述_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("描述_中").Value.ToString() : 描述_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("描述_印").Value.ToString() 其他_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("其他_中").Value.ToString() : 其他_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("其他_印").Value.ToString() 明細表流水_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("流水號").Value.ToString : ITEM2_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("ITEM").Value.ToString() 單位1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("UNIT").Value.ToString() : 備註1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("REMARKS").Value.ToString() 內容1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION").Value.ToString() : 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("排序").Value.ToString() ITEM3_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("ITEM").Value.ToString() : 不計_ch.Checked = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("不計").Value 料號_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(表頭(9)).Value.ToString() : 申請數_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("QTY").Value.ToString() 單位2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("UNIT").Value.ToString() : 實際數量_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("實際數量").Value.ToString() 材料成本_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("材料成本單價").Value.ToString() : 係數清單_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("材料係數").Value.ToString() 工資成本_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資成本單價").Value.ToString() : 工資單價_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資單價").Value.ToString() 工資系數_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資係數").Value.ToString() 物料圖1_pb.Image = Nothing If 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("料號原則").Value.ToString = "" Then : Else PA2 = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte()) Dim oStream As New MemoryStream(bytes) 物料圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 物料圖1_pb.SizeMode = 4 End If End Sub Private Sub 上移2_bt_Click(sender As Object, e As EventArgs) Handles 上移2_bt.Click If 選擇項1_tb.Text = "" Then : Else If CInt(選擇項1_tb.Text) <= 0 Then : Else 選擇項1_tb.Text = CInt(選擇項1_tb.Text) - 1 : 報價明細表選擇() : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION") End If End If End Sub Private Sub 下移2_bt_Click(sender As Object, e As EventArgs) Handles 下移2_bt.Click If 選擇項1_tb.Text = "" Then : Else If CInt(選擇項1_tb.Text) >= 報價明細表_dgv.Rows.Count - 1 Then : Else 選擇項1_tb.Text = CInt(選擇項1_tb.Text) + 1 : 報價明細表選擇() : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION") End If End If End Sub Private Sub 報價明細表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellEndEdit If 啟動運算 = True Then : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() : End If End Sub Private Sub 報價明細表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價明細表_dgv.MouseUp 'If 報價明細表_dgv.SelectedCells.Count = 1 Then : MGB(報價明細表_dgv.SelectedCells(0).ColumnIndex & " " & 報價明細表_dgv.SelectedCells(0).RowIndex, 1) : End If If 報價明細表_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If If 報價明細表_dgv.SelectedCells.Count > 0 Then Dim R位置 As Integer = 報價明細表_dgv.SelectedCells(0).RowIndex If 報價明細表_dgv.SelectedCells(0).ColumnIndex = 2 Then 'If 視窗3_pl.Visible = False Then : 明細表編輯_bt.PerformClick() : Else : End If ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 4 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 5 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 6 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 8 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 9 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 10 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 11 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 12 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 13 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 14 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 15 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 16 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 17 Then If 已超出 = False Then Dim x As Double = 0 For i As Integer = 0 To 報價明細表_dgv.SelectedCells.Count - 1 Dim 變數 As String = "" : Dim 取變數 As String 取變數 = 報價明細表_dgv.Rows(報價明細表_dgv.SelectedCells.Item(i).RowIndex).Cells(報價明細表_dgv.SelectedCells.Item(i).ColumnIndex).Value For ii As Integer = 1 To Len(取變數) If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If Next : x += Val(變數) Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0") Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : 0" : End If ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 32 Then 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(32).Value.ToString : CB選擇清單_可選空白(係數清單_cb) 報價明細表_dgv.Rows(R位置).Cells(32).Value = 係數清單_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 77 Then 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(77).Value.ToString : CB選擇清單_可選空白(工資系數_cb) 報價明細表_dgv.Rows(R位置).Cells(77).Value = 工資系數_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 78 Then 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(78).Value.ToString : CB選擇清單_可選空白(工資單價_cb) 報價明細表_dgv.Rows(R位置).Cells(78).Value = 工資單價_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 85 Then If 報價明細表_dgv.Rows(R位置).Cells(85).Value = False Then : 報價明細表_dgv.Rows(R位置).Cells(85).Value = True Else : 報價明細表_dgv.Rows(R位置).Cells(85).Value = False : End If : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(R位置).Cells(2) ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 86 Then If 報價明細表_dgv.Rows(R位置).Cells(86).Value = False Then : 報價明細表_dgv.Rows(R位置).Cells(86).Value = True Else : 報價明細表_dgv.Rows(R位置).Cells(86).Value = False : End If : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(R位置).Cells(2) Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : 0" : End If End If End Sub Private Sub 新增資料3_bt_Click(sender As Object, e As EventArgs) Handles 新增資料3_bt.Click If 選擇項1_tb.Text = "" Then : Else 報價明細表存檔() PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = "" PA13 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False BL7 = False : BL8 = False : BL9 = True : 合約報價明細表_最後一筆資料() PA1 = 選擇項2_tb.Text & "-1" : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text SQL_合約報價明細表_新增資料() : Set_合約報價明細表() : 重新排序() : 報價明細表存檔() : 重置_bt.PerformClick() End If End Sub Private Sub 明細表選擇刪除2_bt_Click(sender As Object, e As EventArgs) Handles 明細表選擇刪除2_bt.Click If 選擇項1_tb.Text = "" Then : Else MGB(系統語言字典("H102-103-" & 語言), 2) If 訊息回應 = "YES" Then 報價明細表存檔() PA9 = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("流水號").Value.ToString SQL_合約報價明細表_刪除資料() : Set_合約報價明細表() : 重置_bt.PerformClick() End If End If End Sub Private Sub 報價明細表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價明細表_dgv.RowPostPaint If 深色風格 = False Then Dim linePen As New Pen(Color.Blue, 3) If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True) Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) : Exit Sub Else Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True) Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) If Strings.Left(報價明細表_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then Dim startX As Integer = IIf(報價明細表_dgv.RowHeadersVisible, 報價明細表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 報價明細表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub End If End If Else Dim linePen As New Pen(Color.Yellow, 3) If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True) Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) : Exit Sub Else Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True) Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True) Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1 e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) If Strings.Left(報價明細表_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then Dim startX As Integer = IIf(報價明細表_dgv.RowHeadersVisible, 報價明細表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 報價明細表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub End If End If End If End Sub Private Sub 重新排序() For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If I < 10 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "000" & I ElseIf I > 9 And I < 100 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "00" & I ElseIf I > 99 And I < 1000 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "0" & I ElseIf I > 999 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = I : End If Next End Sub Private Sub 上移_bt_Click(sender As Object, e As EventArgs) Handles 上移_bt.Click If CLng(選擇項1_tb.Text) = 0 Then : Else : 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value.ToString If CLng(選擇項1_tb.Text) = 1 Then If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) - 1 ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) - 1 ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) - 1 ElseIf CLng(選擇項2_tb.Text) > 98 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) - 1 : End If 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text : 報價明細表_dgv.Rows(0).Cells(0).Value = "0000_1" Else If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) - 2 & "_1" ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) - 2 & "_1" ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) - 2 & "_1" ElseIf CLng(選擇項2_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) - 2 & "_1" : End If 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text End If 選擇項1_tb.Text = CLng(選擇項1_tb.Text) - 1 : 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(2) : 重新排序() If CLng(選擇項1_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 8 And CLng(選擇項1_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 98 And CLng(選擇項1_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項1_tb.Text) : End If : 報價明細表_dgv_自動計算() End If End Sub Private Sub 下移_bt_Click(sender As Object, e As EventArgs) Handles 下移_bt.Click Dim 最大 As Integer = 報價明細表_dgv.Rows.Count - 1 If CLng(選擇項1_tb.Text) = 最大 Then : Else 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value.ToString If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) + 1 & "-1" ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) + 1 & "-1" ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) + 1 & "-1" ElseIf CLng(選擇項2_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) + 1 & "-1" : End If 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text : 選擇項1_tb.Text = CLng(選擇項1_tb.Text) + 1 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(2) : 重新排序() If CLng(選擇項1_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 8 And CLng(選擇項1_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 98 And CLng(選擇項1_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項1_tb.Text) ElseIf CLng(選擇項1_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項1_tb.Text) : End If : 報價明細表_dgv_自動計算() End If End Sub Private Sub 報價明細表1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表1_dgv.CellClick If e.RowIndex = -1 Then : Else ITEM1_cb.Text = 報價明細表1_dgv.Rows(e.RowIndex).Cells("ITEM").Value.ToString() : 內容_tb.Text = 報價明細表1_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() 連動編號_tb.Text = "" End If End Sub Private Sub 報價明細表3_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表3_dgv.CellClick If e.RowIndex = -1 Then : Else 報價總表_dgv.Rows(DGV位置1.Value).Cells("明細連動").Value = 報價明細表3_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString() : 報價總表_dgv_自動計算() End If End Sub Private Sub 報價總表_dgv_自動計算() '-----------項目自動對準計算條件--------------------------------------------------------------------------------------------------------------------------- For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "管理" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "^" : End If If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "稅金" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "*" : End If If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "小計" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "$" : End If If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "@" : End If If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "折讓" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "#" : End If If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString <> "" Then For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString Then 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 報價明細表_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value.ToString : Exit For End If Next End If Next Dim 合計, 合計無管, 稅金 As Double : 合計 = 0 : 稅金 = 0 For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 '---------計算項目------------------------------------------------------------------------------------------------------------------------------------- If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "^" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Then : Else If IsDBNull(報價總表_dgv.Rows(i).Cells("QTY").Value) Then : 報價總表_dgv.Rows(i).Cells("QTY").Value = 0 : End If If IsDBNull(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value) Then : 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 0 : End If 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("QTY").Value) * CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value) End If '---------管理費加總------------------------------------------------------------------------------------------------------------------------------------- If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "@" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "$" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "^" And 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> "折讓 Discount" Then 合計無管 += 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value End If If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 0%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 1%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.01) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 2%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.02) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 3%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.03) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 4%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.04) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 5%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.05) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 6%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.06) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 7%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.07) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 8%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.08) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 9%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.09) ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 10%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.1) End If '---------計算彙總------------------------------------------------------------------------------------------------------------------------------------- If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "@" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "$" Then 合計 += 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value End If If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "小計(未稅) Subtotal(Excluding Tax)" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 合計 : End If If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 10% Tax" Then 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0.1) : 稅金 = 合計 * 0.1 : 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 11% Tax" Then 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0.11) : 稅金 = 合計 * 0.11 : 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " End If If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 + Fix(稅金)) If Strings.Right(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString, 3) = "001" Then 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) - 1 ElseIf Strings.Right(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString, 3) = "999" Then 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) + 1 End If NUD3.Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) End If '------------數字為0隱藏----------------------------------------------------------------------------------------------- If 深色風格 = False Then If IsDBNull(報價總表_dgv.Rows(i).Cells(4).Value) Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : Else If 報價總表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White Else : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : End If : End If If IsDBNull(報價總表_dgv.Rows(i).Cells(5).Value) Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : Else If 報價總表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White Else : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : End If : End If If IsDBNull(報價總表_dgv.Rows(i).Cells(6).Value) Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : Else If 報價總表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White Else : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : End If : End If Else If IsDBNull(報價總表_dgv.Rows(i).Cells(4).Value) Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : Else If 報價總表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black Else : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : End If : End If If IsDBNull(報價總表_dgv.Rows(i).Cells(5).Value) Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : Else If 報價總表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black Else : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : End If : End If If IsDBNull(報價總表_dgv.Rows(i).Cells(6).Value) Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : Else If 報價總表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black Else : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : End If : End If End If Next '------------彙總計算----------------------------------------------------------------------------------------------- Dim 折讓 As Long = 0 : 未折價前_tb.Text = "0" : 報價小計_tb.Text = "0" For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Or 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then : Else 未折價前_tb.Text = CLng(未折價前_tb.Text) + CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) End If If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Then : Else 報價小計_tb.Text = CLng(報價小計_tb.Text) + CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) End If If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then 折讓 += CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) End If Next 預估利潤_tb.Text = Strings.Format(CLng(總報價_tb.Text) - (CLng(總成本_tb.Text) - 折讓), "#,##0") If (CLng(總報價_tb.Text) + 折讓) = 0 Then : 利潤比4_tb.Text = "0 %" : Else 利潤比4_tb.Text = Strings.Format((1 - ((CLng(總成本_tb.Text)) / (CLng(總報價_tb.Text) + 折讓))) * 100, "#,##0") & " %" End If 未折價前_tb.Text = Strings.Format(CLng(未折價前_tb.Text), "#,##0") : 報價小計_tb.Text = Strings.Format(CLng(報價小計_tb.Text), "#,##0") End Sub Private Sub 報價明細表_dgv_物料顯示() For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString = "" Then 報價明細表_dgv.Rows(i).Cells("D1").Value = False : 報價明細表_dgv.Rows(i).Cells("D2").Value = False 報價明細表_dgv.Rows(i).Cells("D3").Value = False : 報價明細表_dgv.Rows(i).Cells("D4").Value = False 報價明細表_dgv.Rows(i).Cells("D5").Value = False : 報價明細表_dgv.Rows(i).Cells("D6").Value = False 報價明細表_dgv.Rows(i).Cells("D7").Value = False : 報價明細表_dgv.Rows(i).Cells("D8").Value = False End If If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then If 報價明細表_dgv.Rows(i).Cells("預設").Value = True Then 報價明細表_dgv.Rows(i).Cells("D1").Value = 報價明細表_dgv.Rows(i).Cells("S1").Value : 報價明細表_dgv.Rows(i).Cells("D2").Value = 報價明細表_dgv.Rows(i).Cells("S2").Value 報價明細表_dgv.Rows(i).Cells("D3").Value = 報價明細表_dgv.Rows(i).Cells("S3").Value : 報價明細表_dgv.Rows(i).Cells("D4").Value = 報價明細表_dgv.Rows(i).Cells("S4").Value 報價明細表_dgv.Rows(i).Cells("D5").Value = 報價明細表_dgv.Rows(i).Cells("S5").Value : 報價明細表_dgv.Rows(i).Cells("D6").Value = 報價明細表_dgv.Rows(i).Cells("S6").Value 報價明細表_dgv.Rows(i).Cells("D7").Value = 報價明細表_dgv.Rows(i).Cells("S7").Value : 報價明細表_dgv.Rows(i).Cells("D8").Value = 報價明細表_dgv.Rows(i).Cells("S8").Value End If Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = "" If 詳細資料2_ch.Checked = True Then If 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D1").Value = True Then ZA1 = 報價明細表_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If If 報價明細表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D2").Value = True Then ZA2 = 報價明細表_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D3").Value = True Then ZA3 = 報價明細表_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D4").Value = True Then ZA4 = 報價明細表_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D5").Value = True Then ZA5 = 報價明細表_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D6").Value = True Then ZA6 = 報價明細表_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D7").Value = True Then ZA7 = 報價明細表_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D8").Value = True Then ZA8 = 報價明細表_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If Else If 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D1").Value = True Then ZA1 = 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If If 報價明細表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D2").Value = True Then ZA2 = 報價明細表_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D3").Value = True Then ZA3 = 報價明細表_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D4").Value = True Then ZA4 = 報價明細表_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D5").Value = True Then ZA5 = 報價明細表_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D6").Value = True Then ZA6 = 報價明細表_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D7").Value = True Then ZA7 = 報價明細表_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If If 報價明細表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D8").Value = True Then ZA8 = 報價明細表_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If End If If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value = 報價明細表_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格 End If End If : 報價明細表_dgv.Rows(i).Cells("預設").Value = False Next End Sub Private Sub 報價明細表_dgv_自動計算() Dim 合計, 利潤, 工資係數, 工資成本, 工資利潤, 材料係數, 材基係數, 材料成本, 材料利潤 As Double : 合計 = 0 : 工資係數 = 0 For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數_dgv.Rows(i).Cells("項目").Value.ToString = "工資利潤" Then : 工資係數 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : End If If 報價係數_dgv.Rows(i).Cells("項目").Value.ToString = "材料係數" Then : 材基係數 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : Exit For : End If Next For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 報價明細表_dgv.Rows(i).Cells("QTY").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString '------------------------------------工資計算----------------------------------------------------------------------------------------------------------- For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 '----如果工資係數不是%時,自動填入係數上的金額 If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For End If Next 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value * 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then If 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = "" Then 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 工資係數 / 100 Else For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "%" Then 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 報價係數_dgv.Rows(ii).Cells("係數").Value / 100 ElseIf 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 工資係數 / 100 End If Next End If Else : 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 0 : End If 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value '------------------------------------材料計算----------------------------------------------------------------------------------------------------------- For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 '----如果材料係數不是%時,自動填入係數上的金額 If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For End If Next 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value * 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value If 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString = "" Then : 材料係數 = 100 : Else For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "%" Then 材料係數 = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For ElseIf 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then 材料係數 = 材基係數 End If Next End If If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value * 材料係數 / 100 Else : 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = 0 : End If 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value '------------------------------------報價單去除列印計算--------------------------------------------------------------------------------------------------- If 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value = True Then 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = "0" : 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = "0" End If If 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value = True Then 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = "0" : 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = "0" End If 報價明細表_dgv.Rows(i).Cells("利潤").Value = 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value + 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value - 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value - 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value '------------------------------------報價單呈現----------------------------------------------------------------------------------------------------------- If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value + 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value Else 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 0 : 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 0 End If '------------------------------------報價合計計算----------------------------------------------------------------------------------------------------------- If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" Then 合計 += 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value : 利潤 += 報價明細表_dgv.Rows(i).Cells("利潤").Value 工資成本 += 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value : 工資利潤 += 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value 材料成本 += 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value : 材料利潤 += 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value End If If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Then 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 合計 : 合計 = 0 : 報價明細表_dgv.Rows(i).Cells("利潤").Value = 利潤 : 利潤 = 0 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value = 工資成本 : 工資成本 = 0 : 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = 工資利潤 : 工資利潤 = 0 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value = 材料成本 : 材料成本 = 0 : 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = 材料利潤 : 材料利潤 = 0 End If '------------數字為0隱藏----------------------------------------------------------------------------------------------- If 深色風格 = False Then If IsDBNull(報價明細表_dgv.Rows(i).Cells(4).Value) Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Gainsboro : Else If 報價明細表_dgv.Rows(i).Cells(4).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Gainsboro Else : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表_dgv.Rows(i).Cells(5).Value) Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Gainsboro : Else If 報價明細表_dgv.Rows(i).Cells(5).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Gainsboro Else : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表_dgv.Rows(i).Cells(6).Value) Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Gainsboro : Else If 報價明細表_dgv.Rows(i).Cells(6).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Gainsboro Else : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : End If End If End If If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.White 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.White 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.White Else 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Gainsboro 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Gainsboro 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Gainsboro End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : End If End If End If Else If IsDBNull(報價明細表_dgv.Rows(i).Cells(4).Value) Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : Else If 報價明細表_dgv.Rows(i).Cells(4).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black Else : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表_dgv.Rows(i).Cells(5).Value) Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : Else If 報價明細表_dgv.Rows(i).Cells(5).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black Else : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表_dgv.Rows(i).Cells(6).Value) Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : Else If 報價明細表_dgv.Rows(i).Cells(6).Value.ToString = "" Then : Else If 報價明細表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black Else : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : End If End If End If If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.DimGray 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.DimGray 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.DimGray Else 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Black 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Black 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Black End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.White : End If End If End If End If Next 工資成本 = 0 : 材料成本 = 0 : 工資利潤 = 0 : 材料利潤 = 0 For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Then 工資成本 += CLng(報價明細表_dgv.Rows(i).Cells("工資成本後價").Value) 材料成本 += CLng(報價明細表_dgv.Rows(i).Cells("材料成本後價").Value) 工資利潤 += CLng(報價明細表_dgv.Rows(i).Cells("工資報價後價").Value) 材料利潤 += CLng(報價明細表_dgv.Rows(i).Cells("材料報價後價").Value) End If Next If PA50 = "" Then : Else : 工資成本 -= (工資成本 / 100 * CInt(PA50)) : 材料成本 -= (材料成本 / 100 * CInt(PA50)) : End If 預估工資總成本_tb.Text = Strings.Format(工資成本, "#,##0") : 預估材料總成本_tb.Text = Strings.Format(材料成本, "#,##0") 預估工資總報價_tb.Text = Strings.Format(工資利潤, "#,##0") : 預估材料總報價_tb.Text = Strings.Format(材料利潤, "#,##0") 總成本_tb.Text = Strings.Format(工資成本 + 材料成本, "#,##0") : 總報價_tb.Text = Strings.Format(工資利潤 + 材料利潤, "#,##0") If 工資利潤 = 0 Then : 利潤比1_tb.Text = "0 %" : Else 利潤比1_tb.Text = Strings.Format((1 - ((工資成本) / (工資利潤))) * 100, "#,##0") & " %" End If If 材料利潤 = 0 Then : 利潤比2_tb.Text = "0 %" : Else 利潤比2_tb.Text = Strings.Format((1 - ((材料成本) / (材料利潤))) * 100, "#,##0") & " %" End If If (材料利潤 + 工資利潤) = 0 Then : 利潤比3_tb.Text = "0 %" : Else 利潤比3_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤))) * 100, "#,##0") & " %" End If Dim 折讓 As Long = 0 For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then 折讓 += CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) End If Next 預估利潤_tb.Text = Strings.Format(CLng(總報價_tb.Text) - (CLng(總成本_tb.Text) - 折讓), "#,##0") If (CLng(總報價_tb.Text) + 折讓) = 0 Then : 利潤比4_tb.Text = "0 %" : Else 利潤比4_tb.Text = Strings.Format((1 - ((CLng(總成本_tb.Text)) / (CLng(總報價_tb.Text) + 折讓))) * 100, "#,##0") & " %" End If For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 For j As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表4_dgv.Rows(j).Cells("流水號").Value.ToString Then 報價明細表4_dgv.Rows(j).Cells("UNIT").Value = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString 報價明細表4_dgv.Rows(j).Cells("ITEM").Value = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString 報價明細表4_dgv.Rows(j).Cells("DESCRIPTION").Value = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString End If Next Next End Sub '---------------------------------------------------------------------------------------------------------------------------------------------------------------- '-----------------建立合約資料功能------------------------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 群組編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組編碼_cb.SelectedIndexChanged 群組碼_tb.Text = 群組編碼_cb.Text : Set_清單1() End Sub Private Sub 新群組1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 新群組1_cb.SelectedIndexChanged PA = 新群組1_cb.Text : SQL_群組碼_語轉_選擇() : If dr.Read Then : 群組編碼_cb.Text = dr("群組碼").ToString : End If : PA = "" End Sub Private Sub 新群組1_cb_Click(sender As Object, e As EventArgs) Handles 新群組1_cb.Click CB選擇清單(新群組1_cb, 新群組1_cb.Text) End Sub Private Sub 合約種類_cb_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles 合約種類_cb.SelectedIndexChanged PA10 = 合約種類_cb.Text : SQL_合約種類英文讀取() : If dr.Read() Then : 合約種類_tb.Text = dr("英") : End If : conn.Close() End Sub Private Sub 選擇公司_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 選擇公司_cb.SelectedIndexChanged If 選擇公司_cb.Text = "PT HONG XHE INDUSTRIAL" Then : 合約編號_cb.Text = "HX" : Else : 合約編號_cb.Text = "PGS" : End If End Sub Private Sub 合約編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號_cb.SelectedIndexChanged If 合約編號_cb.Text = "HX" Then : 選擇公司_cb.Text = "PT HONG XHE INDUSTRIAL" : Else : 選擇公司_cb.Text = "PT PUNCAK GEMILANG SEMESTA" : End If End Sub Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click PA = 關鍵字搜尋_tb.Text : Set_合約清單() : 縮放2_bt.PerformClick() End Sub Private Sub NUD3_ValueChanged(sender As Object, e As EventArgs) Handles NUD3.ValueChanged If CH2.Checked = True Then If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : NUD2.Value = NUD3.Value / 110 * 10 ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : NUD2.Value = NUD3.Value / 111 * 11 End If NUD1.Value = NUD3.Value - NUD2.Value 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End If End Sub Private Sub NUD1_ValueChanged(sender As Object, e As EventArgs) Handles NUD1.ValueChanged If CH1.Checked = True Then If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : NUD2.Value = NUD1.Value / 100 * 10 ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : NUD2.Value = NUD1.Value / 100 * 11 End If NUD3.Value = NUD1.Value + NUD2.Value 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End If End Sub Private Sub CH1_CheckedChanged(sender As Object, e As EventArgs) Handles CH1.Click CH1.Checked = True : CH2.Checked = False : NUD1.Enabled = True : NUD3.Enabled = False End Sub Private Sub CH2_CheckedChanged(sender As Object, e As EventArgs) Handles CH2.Click CH1.Checked = False : CH2.Checked = True : NUD1.Enabled = False : NUD3.Enabled = True End Sub Private Sub 工程款1_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款1_nud.ValueChanged 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End Sub Private Sub 工程款2_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款2_nud.ValueChanged 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End Sub Private Sub 工程款3_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款3_nud.ValueChanged 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End Sub Private Sub 工程款4_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款4_nud.ValueChanged 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End Sub Private Sub 工程款5_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款5_nud.ValueChanged 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value End Sub Private Sub 自動讀取_bt_Click(sender As Object, e As EventArgs) Handles 自動讀取_bt.Click If 客戶名稱_tb.Text = "" Then : MGB(系統語言字典("H102-104-" & 語言), 1) : Else : MGB(系統語言字典("H102-105-" & 語言), 1) : 合約_dgv.Enabled = False PA30 = 合約編號1_tb.Text : SQL_客戶資料讀取() : If dr.Read() Then : 合約編號1_tb.Text = dr("簡稱") : End If : conn.Close() If 合約編號_cb.Text = "" Or 合約編號1_tb.Text = "" Then : MGB(系統語言字典("H102-106-" & 語言), 1) : Else 合約編號2_tb.Enabled = False : 合約編號3_tb.Enabled = False PA = Strings.Mid(Strings.Format(Today(), "yyyy/MM/dd"), 3, 2) & Strings.Mid(Strings.Format(Today(), "yyyy/MM/dd"), 6, 2) & Strings.Right(Strings.Format(Today(), "yyyy/MM/dd"), 2) SQL_合約流水號_最後一筆資料() If dr.Read() Then If Val(Strings.Right(dr("合約編號").ToString, 2)) > 9 Then : EDR = Strings.Right(dr("合約編號").ToString, 2) : Else : EDR = Strings.Right(dr("合約編號").ToString, 1) : End If End If : conn.Close() : EDR += 1 : 合約編號2_tb.Text = PA : 合約編號3_tb.Text = EDR : 預設資料1() End If End If End Sub Private Sub 手動輸入_bt_Click(sender As Object, e As EventArgs) Handles 手動輸入_bt.Click MGB(系統語言字典("H102-105-" & 語言), 1) : 通知視窗.ShowDialog() : 合約_dgv.Enabled = False : 合約編號2_tb.Enabled = True : 合約編號3_tb.Enabled = True : 預設資料1() End Sub Private Sub 刪除合約_bt_Click(sender As Object, e As EventArgs) Handles 刪除合約_bt.Click MGB(系統語言字典("G000-213-" & 語言), 2) If 訊息回應 = "YES" Then : INB(系統語言字典("G000-214-" & 語言)) : PA = 訊息回應 If PA = "YES" Then : PA = 合約編號_tb.Text : SQL_合約刪除() : SQL_合約本文刪除_依合約() : SQL_合約明細刪除_全部() : SQL_合約附錄刪除_全部() SQL_合約總表刪除_全部() : SQL_合約報價明細刪除_全部() : SQL_合約報價係數刪除_全部() : SQL_合約試算分表刪除() : SQL_合約試算控制表刪除() SQL_合約試算明細表刪除() : SQL_合約請款刪除_全部() MGB(系統語言字典("G000-120-" & 語言), 2) : Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() : Set_合約清單() End If End If End Sub Private Sub 存檔_tb_Click(sender As Object, e As EventArgs) Handles 存檔_tb.Click Dim 合約編號條件 As Boolean = True If 合約種類_cb.Text = "" Then : MGB(系統語言字典("H102-107-" & 語言), 1) : Else If 合約編號_cb.Text = "" Then : MGB(系統語言字典("G000-202-" & 語言), 1) : 合約編號條件 = False : End If If 合約編號1_tb.Text = "" Then : MGB(系統語言字典("G000-203-" & 語言), 1) : 合約編號條件 = False : Else Dim d As Int32 For index = 0 To 合約編號1_tb.Text.Length - 1 d = Asc(合約編號1_tb.Text(index)) Dim 可能不行 As Boolean = False If (d < 65 Or d > 90) Then : 可能不行 = True : End If 'c變數若在65~90是大寫的英文字母 If 可能不行 = True Then If (d < 97 Or d > 122) Then : 可能不行 = True : Else : 可能不行 = False : End If 'c變數若在97~122是小寫的英文字母 If 可能不行 = True Then '然後查表, c變數若在48~57, 表示它是數字, If (d < 48 Or d > 57) Then : MGB(系統語言字典("G000-204-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : Exit For : End If End If End If Next End If If 合約編號2_tb.Text = "" Then : MGB(系統語言字典("G000-205-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : End If Dim c As Int32 '然後查表, c變數若在48~57, 表示它是數字, For index = 0 To 合約編號2_tb.Text.Length - 1 c = Asc(合約編號2_tb.Text(index)) If c < 48 Or c > 57 Then : MGB(系統語言字典("G000-206-" & 語言), 1) : 合約編號條件 = False : Exit For : Else If Len(合約編號2_tb.Text) <> 6 Then : MGB(系統語言字典("G000-207-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : Exit For : End If End If Next If 合約編號3_tb.Text = "" Then : MGB(系統語言字典("G000-208-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False ElseIf IsNumeric(合約編號3_tb.Text) = False Then : MGB(系統語言字典("G000-209-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : End If If 合約編號條件 = False Then : Else If 工程款6_nud.Value <> 100 Then : MGB(系統語言字典("H108-129-" & 語言), 1) : Else PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text : 合約編號_tb.Text = PA SQL_合約查詢() If dr.Read() Then : MGB(系統語言字典("H102-113-" & 語言), 2) : If 訊息回應 = "YES" Then : 合約存檔() : End If : Else 合約編號_tb.Text = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text 報價單合約編號_tb.Text = 合約編號_tb.Text : 報價單客戶名稱_cb.Text = 客戶名稱_tb.Text : 報價單客戶名稱1_cb.Text = 客戶名稱_tb.Text 報價單立約日期_dtp.Value = 立約日期_dtp.Value : 報價工程名稱_中_tb.Text = 工程名稱_中_tb.Text : 報價工程名稱_中1_tb.Text = 工程名稱_中_tb.Text 報價單合約編號1_tb.Text = 合約編號_tb.Text : 報價工程名稱_英_tb.Text = 工程名稱_英_tb.Text : 報價工程名稱_英1_tb.Text = 工程名稱_英_tb.Text 合約存檔() End If If 複製報價 = False Then PA = 合約編號_tb.Text : Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() PA = 合約編號_tb.Text : If 報價明細表_dgv.Rows.Count = 0 Then : For i As Integer = 1 To 3 : 新增資料2() : Next : End If : Set_合約報價明細表() '------比對總表無資料時開基本條例------------------------------------------------- 總表範例_bt.PerformClick() : 甲方條件下拉清單讀取() : 合約編號1_cb.Text = 條件選擇 End If End If End If End If End Sub Private Sub 新增資料2() If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else : 報價明細表存檔() PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = "" PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False : BL7 = False BL8 = False : BL9 = True : 明細表新增資料() End If End Sub Private Sub 合約存檔() '-----判斷是否新增客戶資料----------------------- PA30 = 合約編號1_tb.Text : Dim 供應商編號 As String : SQL_客戶資料讀取() If dr.Read() Then If 負責人_A_cb.Text <> dr("負責人").ToString And 負責人_A_cb.Text <> "" And dr("負責人").ToString <> "" Then MGB(系統語言字典("H102-127-" & 語言), 2) If 訊息回應 = "YES" Then : PA43 = 負責人_A_cb.Text : PA42 = 客戶名稱_tb.Text : conn.Close() : SQL_客戶資料表_修改負責人() : End If ElseIf 負責人_A_cb.Text <> "" And dr("負責人").ToString = "" Then PA43 = 負責人_A_cb.Text : PA42 = 客戶名稱_tb.Text : conn.Close() : SQL_客戶資料表_修改負責人() End If Else conn.Close() : SQL_客戶資料表_最後一筆資料() If dr.Read() Then : 供應商編號 = dr("流水號").ToString : Else : 供應商編號 = "CL000" : End If conn.Close() : Dim NUM1 As Integer NUM1 = Double.Parse(Strings.Right(供應商編號, 3)) + 1 If NUM1 < 10 Then : 供應商編號 = "CL" & "00" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號 = "CL" & "0" & NUM1 ElseIf NUM1 > 99 Then : 供應商編號 = "CL" & NUM1 : End If PA29 = 供應商編號 : PA41 = 合約編號1_tb.Text : PA40 = 客戶名稱_tb.Text : PA39 = 客戶地址_tb.Text : PA38 = 負責人_A_cb.Text SQL_合約系統中新增客戶資料() : conn.Close() End If : conn.Close() PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text SQL_合約種類查詢() : If dr.Read() Then : Else : SQL_合約種類新增() : conn.Close() : End If : conn.Close() PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text BL1 = 合約停止_ch.Checked : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣" ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If 匯率() : PA48 = 匯率1 SQL_合約查詢() : If dr.Read() Then : SQL_合約修改1() : conn.Close() : Else : SQL_合約新增() : conn.Close() : End If PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text MGB(系統語言字典("H102-128-" & 語言), 1) : Set_合約清單() : 合約_dgv.Enabled = True End Sub Private Sub 合約編號1_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_tb.TextChanged 合約編號1_tb.Text = 合約編號1_tb.Text.ToUpper : PA30 = 合約編號1_tb.Text : SQL_客戶資料讀取() If dr.Read() Then : 客戶名稱_tb.Text = dr("客戶名稱") : 負責人_A_cb.Text = dr("負責人") : 客戶地址_tb.Text = dr("地址") : End If : conn.Close() End Sub '------------------------------------------------------------------------------------------------------------------------------------------------------------ '-----------------合約報價總表------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------ Private Sub 合約報價總表_最後一筆資料() SQL_合約報價總表_最後一筆資料() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1 If EDR < 10 Then : ESTR = "GT" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "GT" & "0000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "GT" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "GT" & "00000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "GT" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "GT" & "000" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "GT" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "GT" & "0" & EDR ElseIf EDR > 99999999 Then : ESTR = "GT" & EDR : End If : PA9 = ESTR End Sub Private Sub 總表範例新增() 合約報價總表_最後一筆資料() : PA10 = "" SQL_合約報價總表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If SQL_合約報價總表_新增資料() End Sub Private Sub 總表範例新增_未稅() 合約報價總表_最後一筆資料() : PA10 = "" SQL_合約報價總表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) - 2 If NUM1 < 10 Then : PA1 = "00" & NUM1 & "-1" : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 & "-1" : ElseIf NUM1 > 99 Then : PA1 = NUM1 & "-1" : End If SQL_合約報價總表_新增資料() End Sub Private Sub 總表範例_bt_Click(sender As Object, e As EventArgs) Handles 總表範例_bt.Click If 報價總表_dgv.Rows.Count = 0 Then For I As Integer = 1 To 8 PA = 合約編號_tb.Text If I = 1 Then : PA2 = "" : PA3 = "" ElseIf I = 2 Then : PA2 = "" : PA3 = "" ElseIf I = 3 Then : PA2 = "#" : PA3 = "管理費 7%" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" ElseIf I = 4 Then : PA2 = "^" : PA3 = "折讓 Discount" : PA4 = "" : PA5 = "1" : PA6 = "0" : PA7 = "0" : PA8 = "" ElseIf I = 5 Then : PA2 = "$" : PA3 = "小計(未稅) Subtotal(Excluding Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" ElseIf I = 6 Then : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "" : PA6 = "0" : PA7 = "0" : PA8 = "" ElseIf I = 7 Then : PA2 = "*" : PA3 = "稅金 11% Tax" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" ElseIf I = 8 Then : PA2 = "@" : PA3 = "總計(含稅) Grand Total(Including Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" End If : 總表範例新增() Next Set_合約報價總表() Else Dim 新開1 As Boolean = True : Dim 新開2 As Boolean = True : Dim 新開3 As Boolean = True : Dim 新開4 As Boolean = True : Dim 新開5 As Boolean = True For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "^" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "管理" Then 新開1 = False : Exit For : End If : Next For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "*" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "稅金" Then 新開2 = False : Exit For : End If : Next For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "@" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then 新開3 = False : Exit For : End If : Next For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "#" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "折讓" Then 新開4 = False : Exit For : End If : Next For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "$" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "小計" Then 新開5 = False : Exit For : End If : Next If 新開1 = True Or 新開2 = True Or 新開3 = True Then : PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增() : End If If 新開1 = True Then : PA = 合約編號_tb.Text : PA2 = "^" : PA3 = "管理費 7%" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增() : End If If 新開4 = True Then : PA = 合約編號_tb.Text : PA2 = "#" : PA3 = "折讓 Discount" : PA4 = "" : PA5 = "1" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增() : End If If 新開2 = True Then : PA = 合約編號_tb.Text : PA2 = "*" : PA3 = "稅金 11% Tax" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增() : End If If 新開3 = True Then : PA = 合約編號_tb.Text : PA2 = "@" : PA3 = "總計(含稅) Grand Total(Including Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增() : End If If 新開5 = True Then : PA = 合約編號_tb.Text : PA2 = "$" : PA3 = "小計(未稅) Subtotal(Excluding Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" 總表範例新增_未稅() : PA2 = "" : PA3 = "" : 總表範例新增_未稅() : End If Set_合約報價總表() End If End Sub Private Sub 報價總表存檔() For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 For ii As Integer = 0 To 報價總表_存_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價總表_存_dgv.Rows(ii).Cells("流水號").Value.ToString Then If 報價總表_dgv.Rows(i).Cells("排序").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("排序").Value.ToString Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("ITEM").Value.ToString Or 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("DESCRIPTION").Value.ToString Or 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("UNIT").Value.ToString Or 報價總表_dgv.Rows(i).Cells("QTY").Value <> 報價總表_存_dgv.Rows(ii).Cells("QTY").Value Or 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value <> 報價總表_存_dgv.Rows(ii).Cells("UNIT PRICE" & 幣別).Value Or 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value <> 報價總表_存_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value Or 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("REMARKS").Value.ToString Or 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("明細連動").Value.ToString Then 報價總表_dgv.Rows(i).Cells("存檔").Value = True : Exit For End If End If Next Next For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("存檔").Value = True Then PA1 = 報價總表_dgv.Rows(i).Cells("排序").Value.ToString : PA2 = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString PA3 = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString : PA4 = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString PA5 = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString PA7 = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString : PA8 = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString PA9 = 報價總表_dgv.Rows(i).Cells("流水號").Value.ToString : PA10 = 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString SQL_合約報價總表_存檔() End If Next : SQL_合約修改_報價說明() End Sub Private Sub 新增資料() 報價總表存檔() For ia As Integer = 1 To PA20 PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : 合約報價總表_最後一筆資料() : PA10 = "" If 選擇項_tb.Text = "" Then SQL_合約報價總表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else : PA1 = 選擇項3_tb.Text & "-1" : End If : SQL_合約報價總表_新增資料() Next Set_合約報價總表() : 重新排序_總表() : 報價總表存檔() End Sub Private Sub 新增資料1_bt_Click(sender As Object, e As EventArgs) Handles 新增資料1_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else INB(系統語言字典("H102-129-" & 語言)) : PA20 = 訊息回應 If IsNumeric(PA20) = False Then : MGB(系統語言字典("H115-121-" & 語言), 1) : Else : 新增資料() : End If End If End Sub Private Sub 報價總表存檔按鈕() If 報價總表_dgv.Rows.Count = 0 Then : Else 報價總表存檔() : PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text : PA = 合約編號_tb.Text PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text BL1 = 合約停止_ch.Checked : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣" ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If 匯率() : PA48 = 匯率1 : SQL_合約修改1() : Set_合約報價總表() : Set_合約清單() End If End Sub Private Sub 報價總表存檔_bt_Click(sender As Object, e As EventArgs) Handles 報價總表存檔_bt.Click If 報價總表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : MGB(系統語言字典("G000-119-" & 語言), 1) End If End Sub Private Sub 總表選擇刪除_bt_Click(sender As Object, e As EventArgs) Handles 總表選擇刪除_bt.Click If 總表流水_tb.Text = "" Then : MGB(系統語言字典("H102-131-" & 語言), 1) : Else MGB(系統語言字典("H102-103-" & 語言), 2) : If 訊息回應 = "YES" Then : 報價總表存檔() : PA9 = 總表流水_tb.Text : SQL_合約報價總表_刪除資料() : Set_合約報價總表() : End If End If End Sub Private Sub 排序1_bt_Click(sender As Object, e As EventArgs) Handles 排序1_bt.Click If 報價總表_dgv.Rows.Count > 0 Then If 報價總表_dgv.Columns(0).Visible = False Then : 報價總表_dgv.Columns(0).Visible = True : Else : 報價總表_dgv.Columns(0).Visible = False : End If End If End Sub Private Sub 稅前歸零_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 稅前歸零_ch.Click If 稅前歸零_ch.Checked = False And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = True : 稅後歸零_ch.Checked = False ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = True Then : 稅前歸零_ch.Checked = True : 稅後歸零_ch.Checked = False : End If End Sub Private Sub 稅後歸零_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 稅後歸零_ch.Click If 稅前歸零_ch.Checked = False And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = True ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = True Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = True : End If End Sub Private Sub 折價計算_bt_Click(sender As Object, e As EventArgs) Handles 折價計算_bt.Click Dim SDF As Integer = CLng(未折價前_tb.Text).ToString().Length If 歸零位數_nud.Value >= SDF - 1 Then : MGB(系統語言字典("H102-132-" & 語言), 1) : Else Dim DD, 歸零前, 歸零後 As Long '----------------------折讓計算------------------------------------------------------------------------------------------- If 折讓比例_nud.Value > 0 Then DD = CLng(未折價前_tb.Text) / 100 * 折讓比例_nud.Value * -1 For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = DD : Exit For End If Next End If : 報價總表_dgv_自動計算() '----------------------歸零位數_nud------------------------------------------------------------------------------------------- If 歸零位數_nud.Value > 0 Then If 稅前歸零_ch.Checked = True Then 歸零數_tb.Text = Strings.Right(CLng(未折價前_tb.Text), 歸零位數_nud.Value) For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = DD - CLng(歸零數_tb.Text) : Exit For End If Next ElseIf 稅後歸零_ch.Checked = True Then For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Then 歸零前 = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString) : Exit For End If Next 歸零數_tb.Text = Strings.Right(歸零前, 歸零位數_nud.Value) : 歸零後 = 歸零前 - CLng(歸零數_tb.Text) If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後 / 110 * 100) ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後 / 111 * 100) : End If For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString) - DD : Exit For End If Next End If End If : 報價總表_dgv_自動計算() End If End Sub Private Sub 美金_ch_Click(sender As Object, e As EventArgs) Handles 美金_ch.Click 美金_ch.Checked = True : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False End Sub Private Sub 台幣_ch_Click(sender As Object, e As EventArgs) Handles 台幣_ch.Click 美金_ch.Checked = False : 台幣_ch.Checked = True : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False End Sub Private Sub 人民幣_ch_Click(sender As Object, e As EventArgs) Handles 人民幣_ch.Click 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = True : 印尼盾_ch.Checked = False End Sub Private Sub 印尼盾_ch_Click(sender As Object, e As EventArgs) Handles 印尼盾_ch.Click 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = True End Sub Private Sub 美金_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 美金_ch.CheckedChanged If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)" ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If End Sub Private Sub 台幣_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 台幣_ch.CheckedChanged If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)" ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If End Sub Private Sub 人民幣_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 人民幣_ch.CheckedChanged If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)" ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If End Sub Private Sub 印尼盾_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 印尼盾_ch.CheckedChanged If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)" ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If End Sub '-------------------------------------------------------------------------------------------------------------------------------------------------------------------- '-----------------合約報價總表編輯功能------------------------------------------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 總表編輯() If 視窗2_pl.Visible = False Then 視窗2_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗2_pl.Size.Width) / 2, (Me.Size.Height - 視窗2_pl.Size.Height) / 2) 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() 目前選擇 = "讀取資料" : 座標_lb.Text = 目前選擇 X_3_tb.Text = "" : Y_3_tb.Text = "" 中文大寫1_ch.Checked = True : 中文小寫1_ch.Checked = False : 數字1_ch.Checked = False 視窗2_pl.BringToFront() Else : End If End Sub Private Sub ITEM1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM1_cb.Click PPCC = ITEM1_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM1_cb.Text = PPAA End Sub Private Sub 合計項_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合計項_cb.SelectedIndexChanged 內容_tb.Text = 合計項_cb.Text : ITEM1_cb.Text = "" : 單位_tb.Text = "" If 合計項_cb.Text = "合 計 Total" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Then : ITEM1_cb.Text = "*" ElseIf Strings.Left(合計項_cb.Text, 3) = "管理費" Then : ITEM1_cb.Text = "^" ElseIf Strings.Left(合計項_cb.Text, 2) = "折讓" Then : ITEM1_cb.Text = "#" ElseIf Strings.Left(合計項_cb.Text, 2) = "小計" Then : ITEM1_cb.Text = "$" ElseIf 合計項_cb.Text = "總計 Grand Total" Or 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then : ITEM1_cb.Text = "@" : End If End Sub Private Sub 合計項_cb_Click(sender As Object, e As EventArgs) Handles 合計項_cb.Click CB選擇清單(合計項_cb, 合計項_cb.Text) End Sub Private Sub 總表編輯_bt_Click(sender As Object, e As EventArgs) Handles 總表編輯_bt.Click 總表編輯() : 視窗3_pl.Visible = False End Sub Private Sub 文字資料輸入1_bt_Click(sender As Object, e As EventArgs) Handles 文字資料輸入1_bt.Click If 選擇項_tb.Text = "" Then : MGB(系統語言字典("H102-133-" & 語言), 1) : Else Dim ZX As Integer = 選擇項_tb.Text 報價總表_dgv.Rows(ZX).Cells("ITEM").Value = ITEM1_cb.Text : 報價總表_dgv.Rows(ZX).Cells("UNIT").Value = 單位_tb.Text 報價總表_dgv.Rows(ZX).Cells("REMARKS").Value = 備註_tb.Text : 報價總表_dgv.Rows(ZX).Cells("DESCRIPTION").Value = 內容_tb.Text If IsNumeric(數量_tb.Text) = False Then : 報價總表_dgv.Rows(ZX).Cells("QTY").Value = 0 : Else : 報價總表_dgv.Rows(ZX).Cells("QTY").Value = 數量_tb.Text : End If 報價總表_dgv_自動計算() : 數量_tb.Text = "1" End If End Sub '-------------------------------------------------------------------------------------------------------------------------------------------------------------- '-----------------合約報價明細表------------------------------------------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub Set_合約報價明細表1() Dim ds14 As New DataSet : 報價明細表2_dgv.DataSource = Nothing : ds14.Clear() : 報價明細表2_dgv.Columns.Clear() 報價明細表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價明細表2_dgv.ColumnHeadersHeight = 40 : 報價明細表2_dgv.AllowUserToAddRows = False : 報價明細表2_dgv.RowTemplate.Height = 45 報價明細表2_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True PA = 合約編號_1_tb.Text : SQL_合約報價明細表() da.Fill(ds14) : 報價明細表2_dgv.DataSource = ds14.Tables(0) : conn.Close() 報價明細表2_dgv.Columns(0).FillWeight = 50 : 報價明細表2_dgv.Columns(1).FillWeight = 50 : 報價明細表2_dgv.Columns(2).FillWeight = 200 報價明細表2_dgv.Columns(3).FillWeight = 50 : 報價明細表2_dgv.Columns(4).FillWeight = 50 : 報價明細表2_dgv.Columns(5).FillWeight = 80 報價明細表2_dgv.Columns(6).FillWeight = 80 : 報價明細表2_dgv.Columns(7).FillWeight = 100 : 報價明細表2_dgv.Columns(8).FillWeight = 50 報價明細表2_dgv.Columns(34).FillWeight = 80 : 報價明細表2_dgv.Columns(33).FillWeight = 40 : 報價明細表2_dgv.Columns(6).FillWeight = 50 報價明細表2_dgv.Columns(42).FillWeight = 20 : 報價明細表2_dgv.Columns(43).FillWeight = 20 : 報價明細表2_dgv.Columns(44).FillWeight = 20 報價明細表2_dgv.Columns(45).FillWeight = 20 : 報價明細表2_dgv.Columns(46).FillWeight = 20 : 報價明細表2_dgv.Columns(47).FillWeight = 20 報價明細表2_dgv.Columns(48).FillWeight = 20 : 報價明細表2_dgv.Columns(49).FillWeight = 20 : 報價明細表2_dgv.Columns(50).FillWeight = 20 報價明細表2_dgv.Columns(50).FillWeight = 20 : 報價明細表2_dgv.Columns(表頭(9)).FillWeight = 30 : 報價明細表2_dgv.Columns(表頭(10)).Visible = False 報價明細表2_dgv.Columns(60).Visible = False : 報價明細表2_dgv.Columns(61).Visible = False : 報價明細表2_dgv.Columns(62).Visible = False 報價明細表2_dgv.Columns("地點_中").Visible = False : 報價明細表2_dgv.Columns("工資係數").Visible = False 報價明細表2_dgv.Columns("地點_印").Visible = False : 報價明細表2_dgv.Columns("主項_中").Visible = False : 報價明細表2_dgv.Columns("主項_印").Visible = False 報價明細表2_dgv.Columns("主名_中").Visible = False : 報價明細表2_dgv.Columns("主名_印").Visible = False : 報價明細表2_dgv.Columns("項名_中").Visible = False 報價明細表2_dgv.Columns("項名_印").Visible = False : 報價明細表2_dgv.Columns("描述_中").Visible = False : 報價明細表2_dgv.Columns("其他_中").Visible = False 報價明細表2_dgv.Columns("其他_印").Visible = False : 報價明細表2_dgv.Columns("描述_印").Visible = False : 報價明細表2_dgv.Columns("層級").Visible = False 報價明細表2_dgv.Columns("存檔").Visible = False For I As Integer = 0 To 58 : 報價明細表2_dgv.Columns(I).Visible = False : Next For I As Integer = 79 To 84 : 報價明細表2_dgv.Columns(I).Visible = False : Next 報價明細表2_dgv.Columns("工資單價").Visible = False : 報價明細表2_dgv.Columns(表頭(9)).Visible = False 報價明細表2_dgv.Columns("QTY").DefaultCellStyle.Format = "#,##0" 報價明細表2_dgv.Columns("UNIT").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 報價明細表2_dgv.Columns("QTY").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 報價明細表2_dgv.Columns("ITEM").Visible = True : 報價明細表2_dgv.Columns("DESCRIPTION").Visible = True : 報價明細表2_dgv.Columns("UNIT").Visible = True 報價明細表2_dgv.Columns("QTY").Visible = True 報價明細表2_dgv.Columns("ITEM").ReadOnly = True : 報價明細表2_dgv.Columns("DESCRIPTION").ReadOnly = True : 報價明細表2_dgv.Columns("UNIT").ReadOnly = True 報價明細表2_dgv.Columns("QTY").ReadOnly = True Set_合約選擇加入_勾選項() 報價明細表2_dgv.Columns(表頭(10)).FillWeight = 30 For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString = "" Then 報價明細表2_dgv.Rows(i).Cells("D1").Value = False : 報價明細表2_dgv.Rows(i).Cells("D2").Value = False 報價明細表2_dgv.Rows(i).Cells("D3").Value = False : 報價明細表2_dgv.Rows(i).Cells("D4").Value = False 報價明細表2_dgv.Rows(i).Cells("D5").Value = False : 報價明細表2_dgv.Rows(i).Cells("D6").Value = False 報價明細表2_dgv.Rows(i).Cells("D7").Value = False : 報價明細表2_dgv.Rows(i).Cells("D8").Value = False End If If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then If 報價明細表2_dgv.Rows(i).Cells("預設").Value = True Then 報價明細表2_dgv.Rows(i).Cells("D1").Value = 報價明細表2_dgv.Rows(i).Cells("S1").Value : 報價明細表2_dgv.Rows(i).Cells("D2").Value = 報價明細表2_dgv.Rows(i).Cells("S2").Value 報價明細表2_dgv.Rows(i).Cells("D3").Value = 報價明細表2_dgv.Rows(i).Cells("S3").Value : 報價明細表2_dgv.Rows(i).Cells("D4").Value = 報價明細表2_dgv.Rows(i).Cells("S4").Value 報價明細表2_dgv.Rows(i).Cells("D5").Value = 報價明細表2_dgv.Rows(i).Cells("S5").Value : 報價明細表2_dgv.Rows(i).Cells("D6").Value = 報價明細表2_dgv.Rows(i).Cells("S6").Value 報價明細表2_dgv.Rows(i).Cells("D7").Value = 報價明細表2_dgv.Rows(i).Cells("S7").Value : 報價明細表2_dgv.Rows(i).Cells("D8").Value = 報價明細表2_dgv.Rows(i).Cells("S8").Value End If Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = "" If 詳細資料_ch.Checked = True Then If 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D1").Value = True Then ZA1 = 報價明細表2_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D2").Value = True Then ZA2 = 報價明細表2_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D3").Value = True Then ZA3 = 報價明細表2_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D4").Value = True Then ZA4 = 報價明細表2_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D5").Value = True Then ZA5 = 報價明細表2_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D6").Value = True Then ZA6 = 報價明細表2_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D7").Value = True Then ZA7 = 報價明細表2_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D8").Value = True Then ZA8 = 報價明細表2_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If Else If 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D1").Value = True Then ZA1 = 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D2").Value = True Then ZA2 = 報價明細表2_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D3").Value = True Then ZA3 = 報價明細表2_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D4").Value = True Then ZA4 = 報價明細表2_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D5").Value = True Then ZA5 = 報價明細表2_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D6").Value = True Then ZA6 = 報價明細表2_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D7").Value = True Then ZA7 = 報價明細表2_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If If 報價明細表2_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D8").Value = True Then ZA8 = 報價明細表2_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If End If If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then 報價明細表2_dgv.Rows(i).Cells("DESCRIPTION").Value = 報價明細表2_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格 End If End If : 報價明細表2_dgv.Rows(i).Cells("預設").Value = False Next End Sub Private Sub Set_合約選擇加入_勾選項() Dim Col As New DataGridViewCheckBoxColumn With { .FillWeight = 30, .DataPropertyName = 表頭(10), .HeaderText = 表頭(10), .Name = 表頭(10) } 報價明細表2_dgv.Columns.Insert(0, Col) End Sub Private Sub 報價明細表2_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表2_dgv.CellClick If e.RowIndex = -1 Then : Else If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = False Else 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True End If 物料圖1_pb.Image = Nothing If 報價明細表2_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString = "" Then : Else PA2 = 報價明細表2_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte()) Dim oStream As New MemoryStream(bytes) 物料圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 物料圖1_pb.SizeMode = 4 End If '------------數字為0隱藏----------------------------------------------------------------------------------------------- For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 If 深色風格 = False Then If IsDBNull(報價明細表2_dgv.Rows(i).Cells("QTY").Value) Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White : Else If 報價明細表2_dgv.Rows(i).Cells("QTY").Value = 0 Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White Else : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black : End If : End If Else If IsDBNull(報價明細表2_dgv.Rows(i).Cells("QTY").Value) Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black : Else If 報價明細表2_dgv.Rows(i).Cells("QTY").Value = 0 Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black Else : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White : End If : End If End If Next If 深色風格 = False Then If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightGreen Else : 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White : End If Else If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Green Else : 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black : End If End If End If End Sub Private Sub 合約報價明細表_最後一筆資料() SQL_合約報價明細表_最後一筆資料() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1 If EDR < 10 Then : ESTR = "GT" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "GT" & "0000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "GT" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "GT" & "00000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "GT" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "GT" & "000" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "GT" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "GT" & "0" & EDR ElseIf EDR > 99999999 Then : ESTR = "GT" & EDR : End If : PA9 = ESTR End Sub Private Sub 報價明細表存檔() For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 For ii As Integer = 0 To 報價明細表_存_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表_存_dgv.Rows(ii).Cells("流水號").Value.ToString Then If 報價明細表_dgv.Rows(i).Cells("排序").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("排序").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("ITEM").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("DESCRIPTION").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("UNIT").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("QTY").Value <> 報價明細表_存_dgv.Rows(ii).Cells("QTY").Value Or 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value <> 報價明細表_存_dgv.Rows(ii).Cells("UNIT PRICE" & 幣別).Value Or 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value <> 報價明細表_存_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value Or 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("REMARKS").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("實際數量").Value <> 報價明細表_存_dgv.Rows(ii).Cells("實際數量").Value Or 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("工資成本單價").Value Or 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("工資報價單價").Value Or 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("材料報價單價").Value Or 報價明細表_dgv.Rows(i).Cells("不計").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("不計").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("材料係數").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D1").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D1").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D2").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D2").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D3").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D3").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D4").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D4").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D5").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D5").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D6").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D6").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D7").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D7").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("D8").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D8").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("層級").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("層級").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("地點_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("地點_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("地點_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("地點_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("主項_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主項_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("主項_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主項_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("主名_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主名_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("主名_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主名_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("項名_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("項名_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("項名_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("項名_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("描述_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("描述_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("描述_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("描述_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("其他_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("其他_中").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("其他_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("其他_印").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("工資係數").Value.ToString Or 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("工資單價").Value.ToString Or 報價明細表4_dgv.Rows(i).Cells(表頭(18)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(18)).Value.ToString Or 報價明細表4_dgv.Rows(i).Cells(表頭(20)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(20)).Value.ToString Or 報價明細表4_dgv.Rows(i).Cells(表頭(22)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(22)).Value.ToString Or 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(23)).Value Or 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(24)).Value Then 報價明細表_dgv.Rows(i).Cells("存檔").Value = True : Exit For End If End If Next Next For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("存檔").Value = True Then PA1 = 報價明細表_dgv.Rows(i).Cells("排序").Value.ToString : PA2 = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString PA3 = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString.Replace("'", "") : PA4 = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString PA5 = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString PA7 = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString : PA8 = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString PA9 = 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString : PA10 = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString PA11 = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value.ToString : PA12 = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString PA13 = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value.ToString : PA14 = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString PA15 = 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString : BL = 報價明細表_dgv.Rows(i).Cells("不計").Value PA16 = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString : BL1 = 報價明細表_dgv.Rows(i).Cells("D1").Value BL2 = 報價明細表_dgv.Rows(i).Cells("D2").Value : BL3 = 報價明細表_dgv.Rows(i).Cells("D3").Value : BL4 = 報價明細表_dgv.Rows(i).Cells("D4").Value BL5 = 報價明細表_dgv.Rows(i).Cells("D5").Value : BL6 = 報價明細表_dgv.Rows(i).Cells("D6").Value : BL7 = 報價明細表_dgv.Rows(i).Cells("D7").Value BL8 = 報價明細表_dgv.Rows(i).Cells("D8").Value : PB1 = 報價明細表_dgv.Rows(i).Cells("地點_中").Value.ToString PB2 = 報價明細表_dgv.Rows(i).Cells("地點_印").Value.ToString : PB3 = 報價明細表_dgv.Rows(i).Cells("主項_中").Value.ToString PB4 = 報價明細表_dgv.Rows(i).Cells("主項_印").Value.ToString : PB5 = 報價明細表_dgv.Rows(i).Cells("主名_中").Value.ToString PB6 = 報價明細表_dgv.Rows(i).Cells("主名_印").Value.ToString : PB7 = 報價明細表_dgv.Rows(i).Cells("項名_中").Value.ToString PB8 = 報價明細表_dgv.Rows(i).Cells("項名_印").Value.ToString : PB9 = 報價明細表_dgv.Rows(i).Cells("描述_中").Value.ToString PB10 = 報價明細表_dgv.Rows(i).Cells("描述_印").Value.ToString : PB11 = 報價明細表_dgv.Rows(i).Cells("其他_中").Value.ToString PB12 = 報價明細表_dgv.Rows(i).Cells("其他_印").Value.ToString : PB13 = 報價明細表_dgv.Rows(i).Cells("層級").Value.ToString PB14 = 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString : PB15 = 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString PB16 = 報價明細表4_dgv.Rows(i).Cells(表頭(18)).Value.ToString : PB17 = 報價明細表4_dgv.Rows(i).Cells(表頭(20)).Value.ToString PB18 = 報價明細表4_dgv.Rows(i).Cells(表頭(22)).Value.ToString : PB19 = 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value.ToString PB20 = 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value.ToString SQL_合約報價明細表_存檔() End If Next '-----------------預估利潤存檔------------------------------------------------------------------------------------------------------------------------------- If 預估工資總成本_tb.Text = "" Then : 預估工資總成本_tb.Text = "0" : End If : PA37 = 預估工資總成本_tb.Text : 預估利潤存檔() : 合約係數指定存檔() End Sub Private Sub 新增資料2_bt_Click(sender As Object, e As EventArgs) Handles 新增資料2_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else 報價明細表存檔() INB(系統語言字典("H102-129-" & 語言)) : PA20 = 訊息回應 If IsNumeric(PA20) = False Then : MGB(系統語言字典("H115-121-" & 語言), 1) : Else For ia As Integer = 1 To PA20 PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = "" PA13 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False BL7 = False : BL8 = False : BL9 = True 合約報價明細表_最後一筆資料() If 選擇項1_tb.Text = "" Then SQL_合約報價明細表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else PA1 = 選擇項2_tb.Text & "-1" End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text SQL_合約報價明細表_新增資料() Next : Set_合約報價明細表() 重新排序() : 報價明細表存檔() : 重置_bt.PerformClick() End If End If End Sub Private Sub 報價明細表存檔_bt_Click(sender As Object, e As EventArgs) Handles 報價明細表存檔_bt.Click If 報價明細表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : 重置_bt.PerformClick() : MGB(系統語言字典("H402-119-" & 語言), 1) End If End Sub Private Sub 報價明細表存檔1_bt_Click(sender As Object, e As EventArgs) Handles 報價明細表存檔1_bt.Click If 報價明細表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : 重置_bt.PerformClick() : MGB(系統語言字典("H402-119-" & 語言), 1) End If End Sub Private Sub 總表選擇刪除1_bt_Click(sender As Object, e As EventArgs) Handles 總表選擇刪除1_bt.Click If 啟用批量選擇_ch.Checked = False Then If 明細表流水_tb.Text = "" Then : MGB(系統語言字典("H102-131-" & 語言), 1) : Else MGB(系統語言字典("H102-103-" & 語言), 2) If 訊息回應 = "YES" Then 報價明細表存檔() : PA9 = 明細表流水_tb.Text : SQL_合約報價明細表_刪除資料() : Set_合約報價明細表() End If End If Else MGB(系統語言字典("H102-103-" & 語言), 2) If 訊息回應 = "YES" Then 報價明細表存檔() For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv(表頭(10), i).Value = True Then PA9 = 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString : SQL_合約報價明細表_刪除資料() End If Next : Set_合約報價明細表() : 啟用批量選擇_ch.Checked = False End If End If End Sub Private Sub 選取資料新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles 選取資料新增到明細表_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else 報價明細表存檔() For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 If 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True Then PA = 合約編號_tb.Text : PA2 = 報價明細表2_dgv.Rows(i).Cells("ITEM").Value.ToString : PA3 = 報價明細表2_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString PA4 = 報價明細表2_dgv.Rows(i).Cells("UNIT").Value.ToString : PA5 = 報價明細表2_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = "0" : PA7 = "0" : PA8 = "" PA10 = 報價明細表2_dgv.Rows(i).Cells("QTY").Value.ToString : PA11 = "" : PA12 = "" : PA14 = "" : PA15 = 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString PA16 = "" For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString() = 報價明細表2_dgv.Rows(i).Cells("材料係數").Value.ToString Then PA16 = 報價明細表2_dgv.Rows(i).Cells("材料係數").Value.ToString : Exit For End If Next BL = 報價明細表2_dgv.Rows(i).Cells("不計").Value : BL1 = 報價明細表2_dgv.Rows(i).Cells("D1").Value BL2 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL3 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL4 = 報價明細表2_dgv.Rows(i).Cells("D1").Value BL5 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL6 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL7 = 報價明細表2_dgv.Rows(i).Cells("D1").Value BL8 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL9 = 報價明細表2_dgv.Rows(i).Cells("預設").Value 合約報價明細表_最後一筆資料() If 選擇項1_tb.Text = "" Then SQL_合約報價明細表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else : PA1 = 選擇項2_tb.Text & "-" & i + 1 : End If PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料() End If Next : Set_合約報價明細表() 重新排序() : 報價明細表存檔() 全部取消_bt.PerformClick() End If End Sub Private Sub 選擇材料新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles 選擇材料新增到明細表_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H102-107-" & 語言), 1) : Else If 料號_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else If 歷史單價_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else 報價明細表存檔() PA = 合約編號_tb.Text : PA2 = ITEM2_cb.Text : PA3 = "" : PA4 = 單位1_tb.Text : PA5 = 實際數量_nud.Value : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = 實際數量_nud.Value PA11 = 工資成本_nud.Value PA12 = "" : PA14 = "" : PA15 = 料號_tb.Text : PA16 = 係數清單_cb.Text : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False BL6 = False : BL7 = False : BL8 = False : BL9 = True If 帶上歷史單價_ch.Checked = True Then : PA13 = 歷史單價_tb.Text : 材料成本_nud.Value = 歷史單價_tb.Text : Else : PA13 = "0" : 材料成本_nud.Value = 0 : End If 明細表新增資料() : 重置_bt.PerformClick() End If End If End If End Sub Private Sub 明細表新增資料() 合約報價明細表_最後一筆資料() If 選擇項1_tb.Text = "" Then SQL_合約報價明細表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else : PA1 = 選擇項2_tb.Text & "-1" : End If PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料() If 複製報價 = False Then Set_合約報價明細表() 重新排序() : 報價明細表存檔() End If End Sub Private Sub 修改明細表上的材料指定_bt_Click(sender As Object, e As EventArgs) Handles 修改明細表上的材料指定_bt.Click If 明細表流水_tb.Text = "" Then : MGB(系統語言字典("H115-123-" & 語言), 1) : Else If 料號_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else : 報價明細表存檔() PA = 合約編號_tb.Text : PA9 = 明細表流水_tb.Text : PA15 = 料號_tb.Text : PA2 = ITEM2_cb.Text : PA5 = 實際數量_nud.Value : PA4 = 單位1_tb.Text If 帶上歷史單價_ch.Checked = True Then : SQL6 = ", 材料成本單價 = N'" & 歷史單價_tb.Text & "' " : 材料成本_nud.Value = 歷史單價_tb.Text Else : SQL6 = "" : End If SQL_合約報價明細表_存檔_料號() : Set_合約報價明細表() : 重置_bt.PerformClick() End If End If End Sub Private Sub 排序2_bt_Click(sender As Object, e As EventArgs) Handles 排序2_bt.Click If 報價明細表_dgv.Rows.Count > 0 Then If 報價明細表_dgv.Columns(0).Visible = False Then : 報價明細表_dgv.Columns(0).Visible = True : Else : 報價明細表_dgv.Columns(0).Visible = False : End If End If : Set_合約報價明細表格式() End Sub Private Sub 全部選擇_bt_Click(sender As Object, e As EventArgs) Handles 全部選擇_bt.Click For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 If 深色風格 = False Then 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen Else 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Green End If Next i End Sub Private Sub 全部取消_bt_Click(sender As Object, e As EventArgs) Handles 全部取消_bt.Click For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 : 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = False If 深色風格 = False Then : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White Else : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Black : End If Next End Sub '------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '-----------------合約報價明細表表編輯功能------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Private Sub 明細表編輯() If 視窗3_pl.Visible = False Then 視窗3_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗3_pl.Size.Width) / 2, (Me.Size.Height - 視窗3_pl.Size.Height) / 2) : 視窗3_pl.Visible = True 目前選擇 = "讀取資料" : 座標1_lb.Text = 目前選擇 X_2_tb.Text = "" : Y_2_tb.Text = "" Set_報價明細表_dgv_利潤表開啟() : 視窗3_pl.BringToFront() Else : 視窗3_pl.Visible = False : End If End Sub Private Sub 項目_tb_TextChanged(sender As Object, e As EventArgs) Handles 項目_tb.TextChanged SQL合約主項下拉() 主項_中_cb.Items.Clear() : 主項_印_cb.Items.Clear() While (dr.Read()) : 主項_中_cb.Items.Add(dr("主項_中")) : 主項_印_cb.Items.Add(dr("主項_印")) : End While : conn.Close() 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 項名_中_cb.Text = "" : 項名_印_cb.Text = "" 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" If 項目_tb.Text = "第一項" Or 項目_tb.Text = "第二項" Or 項目_tb.Text = "第三項" Then 實際數量_nud.Value = 0 : 材料成本_nud.Value = 0 : 工資成本_nud.Value = 0 : 工資系數_cb.Text = "" : 係數清單_cb.Text = "" End If End Sub Private Sub ITEM2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM2_cb.Click PPCC = ITEM2_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM2_cb.Text = PPAA : 項目_tb.Text = PB : PPAA = PPCC End Sub Private Sub 合計項1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合計項1_cb.SelectedIndexChanged 項目_tb.Text = "" : 主項_中_cb.Text = "" : 主項_印_cb.Text = "" 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 地點_中_tb.Text = "" 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 地點_印_tb.Text = "" 內容1_tb.Text = 合計項1_cb.Text : ITEM2_cb.Text = "" : 單位1_tb.Text = "" : If 合計項1_cb.Text <> "" Then : ITEM2_cb.Text = "*" : Else : End If End Sub Private Sub 工資單價_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工資單價_cb.SelectedIndexChanged For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 工資單價_cb.Text = 報價係數_dgv.Rows(i).Cells("項目").Value.ToString And 報價係數_dgv.Rows(i).Cells("單位").Value.ToString = "RP" Then 工資成本_nud.Value = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : Exit For End If Next End Sub Private Sub 合計項1_cb_Click(sender As Object, e As EventArgs) Handles 合計項1_cb.Click CB選擇清單_可選空白(合計項1_cb) End Sub Private Sub 明細表編輯_bt_Click(sender As Object, e As EventArgs) Handles 明細表編輯_bt.Click 明細表編輯() : 視窗2_pl.Visible = False End Sub Private Sub 文字資料輸入2_bt_Click(sender As Object, e As EventArgs) Handles 文字資料輸入2_bt.Click If 選擇項1_tb.Text = "" Then : MGB(系統語言字典("H102-136-" & 語言), 1) : Else 'If (主項_中_cb.Text <> "" And 主項_印_cb.Text = "") Or (主項_中_cb.Text = "" And 主項_印_cb.Text <> "") Then : MGB("第一項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If 'If (主名_中_cb.Text <> "" And 主名_印_cb.Text = "") Or (主名_中_cb.Text = "" And 主名_印_cb.Text <> "") Then : MGB("第二項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If 'If (項名_中_cb.Text <> "" And 項名_印_cb.Text = "") Or (項名_中_cb.Text = "" And 項名_印_cb.Text <> "") Then : MGB("第三項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If 'If (其他_中_cb.Text <> "" And 其他_印_cb.Text = "") Or (其他_中_cb.Text = "" And 其他_印_cb.Text <> "") Then : MGB("其他選項中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If 'If (地點_中_tb.Text <> "" And 地點_印_tb.Text = "") Or (地點_中_tb.Text = "" And 地點_印_tb.Text <> "") Then : MGB("工程地點中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If 'If (描述_中_cb.Text <> "" And 描述_印_cb.Text = "") Or (描述_中_cb.Text = "" And 描述_印_cb.Text <> "") Then : MGB("項目描述中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If '-----------------------------項目選項存檔--------------------------------------------------------------------------------------------------------------- Dim 執行存檔 As Boolean = False 'If ITEM2_cb.Text = "" Then : MGB("項次不可以空白!!", 1) : Else ' 'If 項目_tb.Text = "第一項" Then ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If : End If ' 'If 項目_tb.Text = "第二項" Then ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else ' ' If 其他_中_cb.Text = "" Then ' ' If 主名_中_cb.Text = "" Then : MGB("第二項目(中文)不可以空白!!", 1) : Else ' ' If 主名_印_cb.Text = "" Then : MGB("第二項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If ' ' Else ' ' If 其他_中_cb.Text = "" Then : MGB("其他選項(中文)不可以空白!!", 1) : Else ' ' If 其他_印_cb.Text = "" Then : MGB("其他選項(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If ' ' End If ' ' End If ' ' End If ' 'End If ' 'If 項目_tb.Text = "第三項" Then ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else ' ' If 其他_中_cb.Text = "" Then ' ' If 主名_中_cb.Text = "" Then : MGB("第二項目(中文)不可以空白!!", 1) : Else ' ' If 主名_印_cb.Text = "" Then : MGB("第二項目(印尼文)不可以空白!!", 1) : Else ' ' If 項名_中_cb.Text = "" Then : MGB("第三項目(中文)不可以空白!!", 1) : Else ' ' If 項名_印_cb.Text = "" Then : MGB("第三項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If : End If : End If ' ' Else ' ' If 其他_中_cb.Text = "" Then : MGB("其他選項(中文)不可以空白!!", 1) : Else ' ' If 其他_印_cb.Text = "" Then : MGB("其他選項(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If ' ' End If ' ' End If ' ' End If ' 'End If ' 'If 執行存檔 = True Then ' ' If 項目_tb.Text = "第一項" Then ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = "" : PB4 = "" : PB9 = "" : PB10 = "" ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text ' ' ElseIf 項目_tb.Text = "第二項" Then ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = 主名_中_cb.Text : PB4 = 主名_印_cb.Text : PB9 = "" : PB10 = "" ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text ' ' ElseIf 項目_tb.Text = "第三項" Then ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = 主名_中_cb.Text : PB4 = 主名_印_cb.Text : PB9 = 項名_中_cb.Text : PB10 = 項名_印_cb.Text ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text ' ' End If ' ' SQL_合約項目查詢() : If dr.Read Then : Else : SQL_合約項目新增() : End If ' 'End If 'End If '-----------------------------資料帶入明細表--------------------------------------------------------------------------------------------------------------- Dim ZX As Integer = 選擇項1_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("不計").Value = 不計_ch.Checked 報價明細表_dgv.Rows(ZX).Cells("ITEM").Value = ITEM2_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("REMARKS").Value = 備註1_tb.Text 報價明細表_dgv.Rows(ZX).Cells("DESCRIPTION").Value = 內容1_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("UNIT").Value = 單位1_tb.Text 報價明細表_dgv.Rows(ZX).Cells("實際數量").Value = 實際數量_nud.Value : 報價明細表_dgv.Rows(ZX).Cells("工資成本單價").Value = 工資成本_nud.Value 報價明細表_dgv.Rows(ZX).Cells("材料成本單價").Value = 材料成本_nud.Value : 報價明細表_dgv.Rows(ZX).Cells("工資係數").Value = 工資系數_cb.Text 報價明細表_dgv.Rows(ZX).Cells("材料係數").Value = 係數清單_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("工資單價").Value = 工資單價_cb.Text 報價明細表_dgv.Rows(ZX).Cells("層級").Value = 項目_tb.Text 報價明細表_dgv.Rows(ZX).Cells("地點_中").Value = 地點_中_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("地點_印").Value = 地點_印_tb.Text 報價明細表_dgv.Rows(ZX).Cells("主項_中").Value = 主項_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("主項_印").Value = 主項_印_cb.Text 報價明細表_dgv.Rows(ZX).Cells("主名_中").Value = 主名_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("主名_印").Value = 主名_印_cb.Text 報價明細表_dgv.Rows(ZX).Cells("項名_中").Value = 項名_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("項名_印").Value = 項名_印_cb.Text 報價明細表_dgv.Rows(ZX).Cells("描述_中").Value = 描述_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("描述_印").Value = 描述_印_cb.Text 報價明細表_dgv.Rows(ZX).Cells("其他_中").Value = 其他_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("其他_印").Value = 其他_印_cb.Text 報價明細表_dgv_自動計算() End If End Sub Private Sub 主項_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_中_cb.TextChanged If 系統語言 = "繁體中文" Then 主項_印_cb.SelectedIndex = 主項_中_cb.SelectedIndex PB1 = 主項_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" SQL合約項目下拉() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear() While (dr.Read()) : 主名_中_cb.Items.Add(dr("主名_中")) : 主名_印_cb.Items.Add(dr("主名_印")) : End While : conn.Close() 項目其他下拉清單讀取() End If End Sub Private Sub 主項_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_印_cb.TextChanged If 系統語言 <> "繁體中文" Then 主項_中_cb.SelectedIndex = 主項_印_cb.SelectedIndex PB1 = 主項_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" SQL合約項目下拉() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear() While (dr.Read()) : 主名_中_cb.Items.Add(dr("主名_中")) : 主名_印_cb.Items.Add(dr("主名_印")) : End While : conn.Close() 項目其他下拉清單讀取() End If End Sub Private Sub 主名_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主名_中_cb.TextChanged If 系統語言 = "繁體中文" Then 主名_印_cb.SelectedIndex = 主名_中_cb.SelectedIndex PB1 = 主項_中_cb.Text : PB2 = 主名_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" SQL合約項目2下拉() : 項名_中_cb.Items.Clear() : 項名_印_cb.Items.Clear() While (dr.Read()) : 項名_中_cb.Items.Add(dr("項名_中")) : 項名_印_cb.Items.Add(dr("項名_印")) : End While : conn.Close() 項目其他下拉清單讀取() : 合併項目() End If End Sub Private Sub 主名_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主名_印_cb.TextChanged If 系統語言 <> "繁體中文" Then 主名_中_cb.SelectedIndex = 主名_印_cb.SelectedIndex PB1 = 主項_中_cb.Text : PB2 = 主名_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" SQL合約項目2下拉() : 項名_中_cb.Items.Clear() : 項名_印_cb.Items.Clear() While (dr.Read()) : 項名_中_cb.Items.Add(dr("項名_中")) : 項名_印_cb.Items.Add(dr("項名_印")) : End While : conn.Close() 項目其他下拉清單讀取() : 合併項目() End If End Sub Private Sub 項名_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 項名_中_cb.TextChanged If 系統語言 = "繁體中文" Then 項名_印_cb.SelectedIndex = 項名_中_cb.SelectedIndex 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 項名_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 項名_印_cb.TextChanged If 系統語言 <> "繁體中文" Then 項名_中_cb.SelectedIndex = 項名_印_cb.SelectedIndex 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 描述_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 描述_中_cb.TextChanged If 系統語言 = "繁體中文" Then 描述_印_cb.SelectedIndex = 描述_中_cb.SelectedIndex 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 描述_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 描述_印_cb.TextChanged If 系統語言 <> "繁體中文" Then 描述_中_cb.SelectedIndex = 描述_印_cb.SelectedIndex 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 其他_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 其他_中_cb.TextChanged If 系統語言 = "繁體中文" Then 其他_印_cb.SelectedIndex = 其他_中_cb.SelectedIndex 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 其他_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 其他_印_cb.TextChanged If 系統語言 <> "繁體中文" Then 其他_中_cb.SelectedIndex = 其他_印_cb.SelectedIndex 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 合併項目() End If End Sub Private Sub 地點_中_tb_TextChanged(sender As Object, e As EventArgs) Handles 地點_中_tb.TextChanged 合併項目() End Sub Private Sub 地點_印_tb_TextChanged(sender As Object, e As EventArgs) Handles 地點_印_tb.TextChanged 合併項目() End Sub Private Sub 合併項目() If 項目_tb.Text = "第一項" Then If 地點_印_tb.Text <> "" And 其他_中_cb.Text = "" Then 內容1_tb.Text = 地點_印_tb.Text & 主項_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主項_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 地點_印_tb.Text = "" And 其他_中_cb.Text = "" Then 內容1_tb.Text = 地點_印_tb.Text & 主項_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主項_印_cb.Text ElseIf 地點_印_tb.Text <> "" And 其他_中_cb.Text <> "" Then 內容1_tb.Text = 地點_印_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 地點_印_tb.Text = "" And 其他_中_cb.Text <> "" Then 內容1_tb.Text = 地點_印_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text End If ElseIf 項目_tb.Text = "第二項" Then If 描述_中_cb.Text <> "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 地點_中_tb.Text & 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主名_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 地點_中_tb.Text & 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主名_印_cb.Text ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 主名_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 主名_印_cb.Text ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 其他_印_cb.Text ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 其他_印_cb.Text End If ElseIf 項目_tb.Text = "第三項" Then If 描述_中_cb.Text <> "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 項名_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text <> "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 項名_印_cb.Text ElseIf 描述_中_cb.Text = "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 項名_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 描述_中_cb.Text = "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 項名_印_cb.Text ElseIf 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text ElseIf 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text End If End If End Sub '------------------------------------------------------------------------------------------------------------------------------------------------------------ '-----------------合約係數功能------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------ Private Sub Set_合約報價係數_範本() Dim ds13, ds14, ds15, ds16 As New DataSet 報價係數1_dgv.DataSource = Nothing : ds16.Clear() 報價係數1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數1_dgv.ColumnHeadersHeight = 25 : 報價係數1_dgv.AllowUserToAddRows = False PA = "" : SQL_合約報價係數() da.Fill(ds16) : 報價係數1_dgv.DataSource = ds16.Tables(0) : conn.Close() 報價係數1_dgv.Columns(0).Visible = False : 報價係數1_dgv.Columns(1).Visible = False : 報價係數1_dgv.Columns(2).FillWeight = 80 報價係數1_dgv.Columns(3).FillWeight = 40 : 報價係數1_dgv.Columns(4).FillWeight = 30 報價係數1_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數1_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" 報價係數1_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價係數1_dgv.Columns(2).ReadOnly = True : 報價係數1_dgv.Columns(3).ReadOnly = False : 報價係數1_dgv.Columns(4).ReadOnly = False 報價係數2_dgv.DataSource = Nothing : ds15.Clear() 報價係數2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數2_dgv.ColumnHeadersHeight = 25 : 報價係數2_dgv.AllowUserToAddRows = False PA = "辦公樓用" : SQL_合約報價係數() da.Fill(ds15) : 報價係數2_dgv.DataSource = ds15.Tables(0) : conn.Close() 報價係數2_dgv.Columns(0).Visible = False : 報價係數2_dgv.Columns(1).Visible = False : 報價係數2_dgv.Columns(2).FillWeight = 80 報價係數2_dgv.Columns(3).FillWeight = 40 : 報價係數2_dgv.Columns(4).FillWeight = 30 報價係數2_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數2_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" 報價係數2_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價係數2_dgv.Columns(2).ReadOnly = True : 報價係數2_dgv.Columns(3).ReadOnly = False : 報價係數2_dgv.Columns(4).ReadOnly = False 報價係數3_dgv.DataSource = Nothing : ds14.Clear() 報價係數3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數3_dgv.ColumnHeadersHeight = 25 : 報價係數3_dgv.AllowUserToAddRows = False PA = "宿舍用" : SQL_合約報價係數() da.Fill(ds14) : 報價係數3_dgv.DataSource = ds14.Tables(0) : conn.Close() 報價係數3_dgv.Columns(0).Visible = False : 報價係數3_dgv.Columns(1).Visible = False : 報價係數3_dgv.Columns(2).FillWeight = 80 報價係數3_dgv.Columns(3).FillWeight = 40 : 報價係數3_dgv.Columns(4).FillWeight = 30 報價係數3_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數3_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" 報價係數3_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價係數3_dgv.Columns(2).ReadOnly = True : 報價係數3_dgv.Columns(3).ReadOnly = False : 報價係數3_dgv.Columns(4).ReadOnly = False 報價係數4_dgv.DataSource = Nothing : ds13.Clear() 報價係數4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數4_dgv.ColumnHeadersHeight = 25 : 報價係數4_dgv.AllowUserToAddRows = False PA = "廠房用" : SQL_合約報價係數() da.Fill(ds13) : 報價係數4_dgv.DataSource = ds13.Tables(0) : conn.Close() 報價係數4_dgv.Columns(0).Visible = False : 報價係數4_dgv.Columns(1).Visible = False : 報價係數4_dgv.Columns(2).FillWeight = 80 報價係數4_dgv.Columns(3).FillWeight = 40 : 報價係數4_dgv.Columns(4).FillWeight = 30 報價係數4_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數4_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" 報價係數4_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價係數4_dgv.Columns(2).ReadOnly = True : 報價係數4_dgv.Columns(3).ReadOnly = False : 報價係數4_dgv.Columns(4).ReadOnly = False End Sub Private Sub Set_合約報價係數() Dim ds16 As New DataSet 報價係數_dgv.DataSource = Nothing : ds16.Clear() 報價係數_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數_dgv.ColumnHeadersHeight = 25 : 報價係數_dgv.AllowUserToAddRows = False SQL_合約報價係數() da.Fill(ds16) : 報價係數_dgv.DataSource = ds16.Tables(0) : conn.Close() If 合約編號_tb.Text = "" Then : Else Dim 新增係數 As Boolean For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1 新增係數 = True For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString Then : 新增係數 = False : Exit For End If Next If 新增係數 = True Then : PA = 合約編號_tb.Text PA2 = 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString : PA3 = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString PA4 = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString : 係數流水號() : SQL_合約報價係數_新增() End If Next End If 報價係數_dgv.DataSource = Nothing : ds16.Clear() 報價係數_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 報價係數_dgv.ColumnHeadersHeight = 25 : 報價係數_dgv.AllowUserToAddRows = False SQL_合約報價係數() da.Fill(ds16) : 報價係數_dgv.DataSource = ds16.Tables(0) : conn.Close() 報價係數_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數_dgv.Columns(0).Visible = False : 報價係數_dgv.Columns(1).Visible = False : 報價係數_dgv.Columns(2).FillWeight = 80 報價係數_dgv.Columns(3).FillWeight = 40 : 報價係數_dgv.Columns(4).FillWeight = 30 報價係數_dgv.EditMode = DataGridViewEditMode.EditOnEnter 報價係數_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" 報價係數_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 報價係數_dgv.Columns(2).ReadOnly = True : 報價係數_dgv.Columns(3).ReadOnly = False : 報價係數_dgv.Columns(4).ReadOnly = False 工資與材料系數清單() End Sub Private Sub 報價係數_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價係數_dgv.MouseUp 'If 報價總表_dgv.SelectedCells.Count = 1 Then : 通知訊息 = 報價總表_dgv.SelectedCells(0).ColumnIndex & " " & 報價總表_dgv.SelectedCells(0).RowIndex) : End If If 報價係數_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If If 報價係數_dgv.SelectedCells.Count > 0 Then If 報價係數_dgv.SelectedCells(0).ColumnIndex = 4 Then 係數單位_cb.Text = 報價係數_dgv.Rows(報價係數_dgv.SelectedCells(0).RowIndex).Cells(4).Value.ToString : CB選擇清單(係數單位_cb, 係數單位_cb.Text) 報價係數_dgv.Rows(報價係數_dgv.SelectedCells(0).RowIndex).Cells(4).Value = 係數單位_cb.Text : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End If End If End Sub Private Sub 報價係數1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價係數1_dgv.CellClick If e.RowIndex = -1 Then : Else If IsDBNull(報價係數1_dgv.Rows(e.RowIndex).Cells(3).Value) Then : 數值4_tb.Text = 0 : Else : 數值4_tb.Text = 報價係數1_dgv.Rows(e.RowIndex).Cells(3).Value : End If End If End Sub Private Sub 係數範本_tb_Click(sender As Object, e As EventArgs) Handles 重新計算_tb.Click 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End Sub Private Sub 新增係數_bt_Click(sender As Object, e As EventArgs) Handles 新增係數_bt.Click 合約係數新增.ShowDialog() : Set_合約報價係數_範本() : Set_合約報價係數() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End Sub Private Sub 係數範本選擇_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 係數範本選擇_cb.SelectedIndexChanged If 初次讀檔 = False Then If 係數範本選擇_cb.Text = "" Then For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1 For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString() 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For End If Next Next ElseIf 係數範本選擇_cb.Text = "辦公樓用" Then For i As Integer = 0 To 報價係數2_dgv.Rows.Count - 1 For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數2_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數2_dgv.Rows(i).Cells("係數").Value.ToString() 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數2_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For End If Next Next ElseIf 係數範本選擇_cb.Text = "宿舍用" Then For i As Integer = 0 To 報價係數3_dgv.Rows.Count - 1 For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數3_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數3_dgv.Rows(i).Cells("係數").Value.ToString() 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數3_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For End If Next Next ElseIf 係數範本選擇_cb.Text = "廠房用" Then For i As Integer = 0 To 報價係數4_dgv.Rows.Count - 1 For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數4_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數4_dgv.Rows(i).Cells("係數").Value.ToString() 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數4_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For End If Next Next End If : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End If End Sub Private Sub 編輯係數_bt_Click(sender As Object, e As EventArgs) Handles 係數存檔_bt.Click For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 : PA = 報價單合約編號_tb.Text PA1 = 報價係數_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1 : PA = "" PA1 = 報價係數1_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next For i As Integer = 0 To 報價係數2_dgv.Rows.Count - 1 : PA = "辦公樓用" PA1 = 報價係數2_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數2_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數2_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next For i As Integer = 0 To 報價係數3_dgv.Rows.Count - 1 : PA = "宿舍用" PA1 = 報價係數3_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數3_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數3_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next For i As Integer = 0 To 報價係數4_dgv.Rows.Count - 1 : PA = "廠房用" PA1 = 報價係數4_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數4_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數4_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next MGB(系統語言字典("H402-120-" & 語言), 1) : 工資與材料系數清單() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End Sub Private Sub 合約係數指定存檔() If 係數範本選擇_cb.Text = "" Then : Else : PA = 報價單合約編號_tb.Text : PA36 = 係數範本選擇_cb.Text : SQL_合約係數指定修改() For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 : PA = 報價單合約編號_tb.Text PA1 = 報價係數_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString() PA3 = 報價係數_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改() Next End If End Sub Private Sub 係數流水號() SQL_合約報價係數_最後一筆資料() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If conn.Close() : EDR += 1 If EDR < 10 Then : ESTR = "CF" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CF" & "0000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CF" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CF" & "00000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CF" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CF" & "000" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CF" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CF" & "0" & EDR ElseIf EDR > 99999999 Then : ESTR = "CF" & EDR : End If PA1 = ESTR End Sub Private Sub 工資與材料系數清單() 係數清單_cb.Items.Clear() : 係數清單_cb.Items.Add("") For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1 Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If Not 項目值 Like "*工資*" And Not 項目值 Like "*工资*" Then : 係數清單_cb.Items.Add(項目值) : End If Next 工資系數_cb.Items.Clear() : 工資系數_cb.Items.Add("") For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數_dgv.Rows(I).Cells("單位").Value.ToString = "%" Then Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If 項目值 Like "*工資*" Or 項目值 Like "*工资*" Then : 工資系數_cb.Items.Add(項目值) : End If End If Next 工資單價_cb.Items.Clear() : 工資單價_cb.Items.Add("") For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1 If 報價係數_dgv.Rows(I).Cells("單位").Value.ToString = "RP" Then Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If 項目值 Like "*工資*" Or 項目值 Like "*工资*" Then : 工資單價_cb.Items.Add(項目值) : End If End If Next End Sub '-------------------------------------------------------------------------------------------------------------------------------------------------------------- '-----------------合約試算表功能------------------------------------------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 重置_bt_Click(sender As Object, e As EventArgs) Handles 重置_bt.Click 編輯_ch.Checked = False : 編輯1_ch.Checked = False : 鎖定_ch.Checked = False : 鎖定1_ch.Checked = False 目前_tb.Text = "" : 目前X_tb.Text = "" : 目前X1_tb.Text = "" : 目前1_tb.Text = "" End Sub Private Sub 報價明細表4_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表4_dgv.CellClick If e.RowIndex = -1 Then : Else : 選擇項1_tb.Text = e.RowIndex : DGV位置2.Value = 選擇項1_tb.Text : DGV_X = 選擇項1_tb.Text : DGV_Y = 選擇項1_tb.Text 報價明細表選擇() If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Or DGV_X = 8 Or DGV_X = 9 Or DGV_X = 10 Or DGV_X = 11 Or DGV_X = 12 Or DGV_X = 13 Or DGV_X = 14 Or DGV_X = 15 Or DGV_X = 16 Or DGV_X = 17 Then If 目前選擇 = "寫入資料" Then : X_2_tb.Text = e.ColumnIndex : Y_2_tb.Text = 選擇項1_tb.Text : Else If IsDBNull(報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value) Then : 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value = 0 : End If 數值4_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value End If End If End If End Sub Private Sub 報價明細表4_dgv_Scroll(ByVal sender As Object, ByVal e As ScrollEventArgs) Handles 報價明細表4_dgv.Scroll Y軸_dgv.FirstDisplayedScrollingRowIndex = 報價明細表4_dgv.FirstDisplayedScrollingRowIndex End Sub Private Sub 報價明細表4_dgv_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles 報價明細表4_dgv.ColumnHeaderMouseClick 報價明細表4_dgv.Columns(e.ColumnIndex).SortMode = DataGridViewColumnSortMode.NotSortable End Sub Private Sub 報價明細表4_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價明細表4_dgv.RowPostPaint If 深色風格 = False Then Dim linePen As New Pen(Color.Blue, 3) If e.RowIndex = 報價明細表4_dgv.Rows.Count - 1 Then : Exit Sub : Else If Strings.Left(報價明細表4_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then Dim startX As Integer = IIf(報價明細表4_dgv.RowHeadersVisible, 報價明細表4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 報價明細表4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表4_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub End If End If Else Dim linePen As New Pen(Color.Yellow, 3) If e.RowIndex = 報價明細表4_dgv.Rows.Count - 1 Then : Exit Sub : Else If Strings.Left(報價明細表4_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then Dim startX As Integer = IIf(報價明細表4_dgv.RowHeadersVisible, 報價明細表4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 報價明細表4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表4_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub End If End If End If End Sub Private Sub 報價明細表4_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 報價明細表4_dgv.KeyDown If e.KeyCode = Keys.Oemplus Then : e.SuppressKeyPress = True : 鎖定1_ch.Checked = True : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length : End If If e.Control AndAlso e.KeyCode = Keys.S Then : 報價明細表存檔_bt.PerformClick() : End If End Sub Private Sub 報價明細表4_dgv_KeyUp(sender As Object, e As KeyEventArgs) Handles 報價明細表4_dgv.KeyUp If e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down OrElse e.KeyCode = Keys.Left OrElse e.KeyCode = Keys.Right Then e.SuppressKeyPress = True : Me.BeginInvoke(Sub() 處理DGV選中改變()) End If End Sub Private Sub 報價明細表4_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表4_dgv.CellEndEdit If e.RowIndex = -1 Then : Else : 計算2() : End If End Sub Private Sub 報價明細表4_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價明細表4_dgv.MouseUp 處理DGV選中改變() End Sub Private Sub Y軸_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles Y軸_dgv.CellClick If e.RowIndex >= 0 Then 報價明細表4_dgv.ClearSelection() : 報價明細表4_dgv.Rows(e.RowIndex).Selected = True End If End Sub Private Sub 處理DGV選中改變() If 報價明細表4_dgv.SelectedCells.Count > 0 Then For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 If 深色風格 = False Then If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.White 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.White 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.White Else 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Gainsboro 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Gainsboro 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Gainsboro End If '------------數字為0隱藏----------------------------------------------------------------------------------------------- If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : End If End If End If Else If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.DimGray 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.DimGray 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.DimGray Else 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Black 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Black 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Black End If '------------數字為0隱藏----------------------------------------------------------------------------------------------- If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.White : End If : End If End If If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.White : End If End If End If End If Next Dim 位置 As Integer = 報價明細表4_dgv.SelectedCells(0).RowIndex : Dim 位置Y As Integer = 報價明細表4_dgv.SelectedCells(0).ColumnIndex Y軸_dgv.ClearSelection() : Y軸_dgv.Rows(位置).Selected = True : 目前X1_tb.Text = 位置Y : 計算位置() If 報價明細表4_dgv.Rows(位置).Cells("料號原則").Value.ToString <> "" Then 首次開啟 = True AA1_lb.Text = "A[1] " & 報價明細表4_dgv.Rows(位置).Cells("AA1").Value.ToString : AA1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A1").Value.ToString AA2_lb.Text = "A[2] " & 報價明細表4_dgv.Rows(位置).Cells("AA2").Value.ToString : AA2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A2").Value.ToString AA3_lb.Text = "A[3] " & 報價明細表4_dgv.Rows(位置).Cells("AA3").Value.ToString : AA3_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A3").Value.ToString AA4_lb.Text = "A[4] " & 報價明細表4_dgv.Rows(位置).Cells("AA4").Value.ToString : AA4_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A4").Value.ToString AA5_lb.Text = "A[5] " & 報價明細表4_dgv.Rows(位置).Cells("AA5").Value.ToString : AA5_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A5").Value.ToString AA6_lb.Text = "A[6] " & 報價明細表4_dgv.Rows(位置).Cells("AA6").Value.ToString : AA6_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A6").Value.ToString AA7_lb.Text = "A[7] " & 報價明細表4_dgv.Rows(位置).Cells("AA7").Value.ToString : AA7_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A7").Value.ToString AA8_lb.Text = "A[8] " & 報價明細表4_dgv.Rows(位置).Cells("AA8").Value.ToString : AA8_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A8").Value.ToString BB1_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數1").Value.ToString : BB2_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數2").Value.ToString BB3_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數3").Value.ToString : 位置_tb.Text = 位置 + 1 : 首次開啟 = False If 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString.StartsWith("=") Then 算式2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString.Substring(1) Else 算式2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString End If : 材料工資算式() End If If 位置Y <> 3 Then If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else : 目前X_tb.Text = 位置Y : 修改樓層_迴圈() If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then : 試算表_cb.Text = 報價明細表4_dgv.Rows(位置).Cells("流水號").Value.ToString PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢() If dr.Read() Then : 係數_nud.Value = dr("係數") : 表號_tb.Text = dr("表號").ToString : End If : 新增試算表_bt.PerformClick() : Set_試算明細表() Else : 表號_tb.Text = "" : 試算表_cb.Text = "" : 樓層_迴路_cb.Text = "" : Set_試算明細表() : End If If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then If 試算表_dgv.Rows.Count > 0 Then : 計算位置() If X軸 = "A" Then : 報價明細表4_dgv.Rows(位置).Cells(表頭(18)).Value = 系統語言字典("G000-291-" & 語言) : End If End If : 表頭_tb.Text = "" End If End If If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then If X軸 = "A" Then : If 試算表_dgv.Rows.Count > 0 Then : 算式1_tb.Enabled = False : Else : 算式1_tb.Enabled = True : End If Else : 算式1_tb.Enabled = True : End If Else : 算式1_tb.Enabled = False : End If End If End If If 位置Y = 1 Then PPCC = ITEM2_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM2_cb.Text = PPAA : 項目_tb.Text = PB 報價明細表4_dgv.Rows(位置).Cells("ITEM").Value = PPAA : 報價明細表_dgv.Rows(位置).Cells("ITEM").Value = PPAA : PPAA = PPCC If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value) = False Then 報價明細表_dgv.Rows(位置).Cells(32).Value = "" : 報價明細表_dgv.Rows(位置).Cells(77).Value = "" 報價明細表_dgv.Rows(位置).Cells(78).Value = "" : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() Else If 報價明細表_dgv.Rows(位置).Cells(32).Value.ToString = "" Then : 報價明細表_dgv.Rows(位置).Cells(32).Value = "其他材料利潤" : End If If 報價明細表_dgv.Rows(位置).Cells(77).Value.ToString = "" Then : 報價明細表_dgv.Rows(位置).Cells(77).Value = "工資利潤" : End If 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End If ElseIf 位置Y = 2 Then If 視窗3_pl.Visible = False Then : 明細表編輯() : 視窗2_pl.Visible = False : Else : End If ElseIf 位置Y = 79 Then If 視窗3_pl.Visible = False Then : 式算表編輯() : Else : End If ElseIf 位置Y = 80 Then If 鎖定1_ch.Checked = True Then If 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "A[" & (位置 + 1) & "]") If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length End If End If Else If 編輯1_ch.Checked = True Then 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString Else If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString : Else If 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "A[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If End If : End If : End If : End If : End If ElseIf 位置Y = 81 Then If 報價明細表4_dgv.Rows(位置).Cells("料號原則").Value.ToString <> "" Then If 物料工資計算式_P.Visible = False Then : 物料工資計算編輯() : Else : End If Else : 物料工資計算式_P.Visible = False : End If ElseIf 位置Y = 82 Then If 鎖定1_ch.Checked = True Then If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Then Dim 同格 As Boolean = False If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Or 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("A", 位置, 82) End If Else : 循環二層判斷("A", 位置, 82) : End If 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("A", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If ElseIf 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Then Dim 同格 As Boolean = False If 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Or 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("B", 位置, 82) End If Else : 循環二層判斷("B", 位置, 82) : End If 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("B", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If ElseIf 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Then Dim 同格 As Boolean = False If 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Or 目前X_tb.Text = "83" Or 目前X_tb.Text = "84" Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("C", 位置, 82) End If Else : 循環二層判斷("C", 位置, 82) : End If 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("C", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If End If Else If 編輯1_ch.Checked = True Then 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString Else If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString : Else If 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "B[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If End If : End If : End If : End If : End If ElseIf 位置Y = 83 Or 位置Y = 84 Then If 鎖定1_ch.Checked = True Then If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Then Dim 同格 As Boolean = False If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Or 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("A", 位置, 84) End If Else : 循環二層判斷("A", 位置, 84) : End If ElseIf 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Then Dim 同格 As Boolean = False If 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Or 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("B", 位置, 84) End If Else : 循環二層判斷("B", 位置, 84) : End If ElseIf 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Then Dim 同格 As Boolean = False If (目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84") And (目前X_tb.Text = "83" Or 目前X_tb.Text = "84") Then : 同格 = True : End If If 同格 = True And 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 循環二層判斷("C", 位置, 84) End If Else : 循環二層判斷("C", 位置, 84) : End If End If Else If 編輯1_ch.Checked = True Then 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString Else If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString : Else If 目前1_tb.Text <> 位置 Then If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "C[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If End If : End If : End If : End If : End If End If End If End Sub Private Sub 材料工資算式() If 算式2_tb.Text <> "" Then Try Dim A As String = 算式2_tb.Text : If A.StartsWith("=") Then A = A.Substring(1) Dim pattern As String = "[AB]\[(\d+)\]" : Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(A) Dim SD As Integer = 0 : Dim values(99) As Double For Each match As Match In matches Dim index As Integer = Integer.Parse(match.Groups(1).Value) : Dim cellValue As Double If match.Value.StartsWith("A") Then Select Case index Case 1 : cellValue = 單位去除模組.轉換為雙精確度(AA1_tb.Text) : Case 2 : cellValue = 單位去除模組.轉換為雙精確度(AA2_tb.Text) Case 3 : cellValue = 單位去除模組.轉換為雙精確度(AA3_tb.Text) : Case 4 : cellValue = 單位去除模組.轉換為雙精確度(AA4_tb.Text) Case 5 : cellValue = 單位去除模組.轉換為雙精確度(AA5_tb.Text) : Case 6 : cellValue = 單位去除模組.轉換為雙精確度(AA6_tb.Text) Case 7 : cellValue = 單位去除模組.轉換為雙精確度(AA7_tb.Text) : Case 8 : cellValue = 單位去除模組.轉換為雙精確度(AA8_tb.Text) End Select ElseIf match.Value.StartsWith("B") Then Select Case index Case 1 : cellValue = 單位去除模組.轉換為雙精確度(BB1_nud.Value) : Case 2 : cellValue = 單位去除模組.轉換為雙精確度(BB2_nud.Value) Case 3 : cellValue = 單位去除模組.轉換為雙精確度(BB3_nud.Value) End Select End If : values(SD) = cellValue : SD += 1 Next Dim replacedA As String = A For i As Integer = 0 To SD - 1 replacedA = replacedA.Replace(matches(i).Value, values(i).ToString()) Next : 算式3_tb.Text = replacedA Console.WriteLine(replacedA) Dim dt As New System.Data.DataTable() dt.Columns.Add("Result", GetType(Double)) dt.Rows.Add(dt.Compute(replacedA, "")) 解答_tb.Text = Strings.Format(CDbl(Convert.ToDouble(dt.Rows(0)("Result"))), "#,##0") Catch ex As Exception : 解答_tb.Text = "公式有誤" : End Try Else : 算式3_tb.Text = "" : 解答_tb.Text = "" : End If End Sub Private Sub 算式2_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式2_tb.TextChanged If 首次開啟 = False Then : 材料工資算式() : End If End Sub Private Sub BB1_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB1_nud.ValueChanged If 首次開啟 = False Then : 材料工資算式() : End If End Sub Private Sub BB2_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB2_nud.ValueChanged If 首次開啟 = False Then : 材料工資算式() : End If End Sub Private Sub BB3_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB3_nud.ValueChanged If 首次開啟 = False Then : 材料工資算式() : End If End Sub Private Sub 循環二層判斷(X01 As String, Rows位置 As Integer, Cells位置 As Integer) If 報價明細表4_dgv.Rows(Rows位置).Cells(Cells位置).Value.ToString.Contains(X軸 & "[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else Dim cellValue As String = 報價明細表4_dgv.Rows(Rows位置).Cells(Cells位置).Value.ToString() : Dim pattern As String = "[A-Z]\[\d+\]" Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(cellValue) : Dim existsB2 As Boolean = False : Dim i As Integer = 0 For Each match As Match In matches : Dim letter As String = match.Value(0).ToString() : Dim letter1 As String = matches(i).Value().ToString() Dim number As Integer : Dim column As Integer : Dim startIndex As Integer = letter1.IndexOf("[") : Dim endIndex As Integer = letter1.IndexOf("]") If startIndex > -1 AndAlso endIndex > startIndex Then : Dim result As String = letter1.Substring(2, letter1.Length - 3) : number = CInt(result) : End If Select Case letter : Case "A" : column = 80 : Case "B" : column = 82 : Case "C" : column = 84 : Case Else : Continue For : End Select Dim nestedCellValue As String = 報價明細表4_dgv.Rows(number - 1).Cells(column).Value.ToString() : Dim nestedMatches As MatchCollection = regex.Matches(nestedCellValue) For Each nestedMatch As Match In nestedMatches If nestedMatch.Value = X軸 & "[" & CInt(目前1_tb.Text) + 1 & "]" Then : existsB2 = True : Exit For : End If Next : If existsB2 Then : Exit For : End If Next If existsB2 Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else : 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, X01 & "[" & (Rows位置 + 1) & "]") If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length End If End If End Sub Private Sub 計算位置() If 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 解答位置 = 79 : 公式位置 = 80 : X軸 = "A" ElseIf 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 解答位置 = 81 : 公式位置 = 82 : X軸 = "B" ElseIf 目前X_tb.Text = "83" Or 目前X_tb.Text = "84" Then : 解答位置 = 83 : 公式位置 = 84 : X軸 = "C" : End If End Sub Private Sub 計算1_bt_Click(sender As Object, e As EventArgs) Handles 計算1_bt.Click For K As Integer = 1 To 3 If K = 1 Then : 公式位置 = 80 : 解答位置 = 79 : ElseIf K = 2 Then : 公式位置 = 82 : 解答位置 = 81 : ElseIf K = 3 Then : 公式位置 = 84 : 解答位置 = 83 : End If For J As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 For G As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 不寫入 = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(G).Cells(公式位置).Value.ToString : 不寫入 = False 計算位置() : If X軸 = "A" And 算式1_tb.Text = "" Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = "0" : End If If 算式1_tb.Text <> "" Then '-----去除等號與備註------- If 算式1_tb.Text.StartsWith("=") Then : 算式1_tb.Text = 算式1_tb.Text.Substring(1) : End If Dim input As String = 算式1_tb.Text : Dim pattern1 As String = "#.*?#" : Dim regex1 As New Regex(pattern1) Dim result As String = regex1.Replace(input, String.Empty) If result <> "" Then Try Dim A As String = result : Dim PP(99) As Integer : Dim RR(99) As String : Dim pattern As String = "[A-Z]\[(\d+)\]" ' 匹配字母[數字] 格式 Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(A) : Dim SD As Integer = 0 For Each match As Match In matches RR(SD) = match.Value(0).ToString() Dim value As Integer = Integer.Parse(match.Groups(1).Value) : PP(SD) = value : If PP(SD) = 0 Then : Exit For : End If : SD += 1 Next Dim builder As New System.Text.StringBuilder() : Dim lastIndex As Integer = 0 For i As Integer = 0 To SD - 1 Dim match As Match = matches(i) : builder.Append(A.Substring(lastIndex, match.Index - lastIndex)) : Dim XX As Integer Select Case RR(i) Case "A" : XX = 79 : Case "B" : XX = 81 : Case "C" : XX = 83 : Case Else : Continue For End Select builder.Append(CDbl(報價明細表4_dgv.Rows(PP(i) - 1).Cells(XX).Value.ToString)) : lastIndex = match.Index + match.Length Next builder.Append(A.Substring(lastIndex)) : Dim replacedA As String = builder.ToString() Console.WriteLine(replacedA) : 不寫入 = True : result = replacedA : 不寫入 = False Dim dt As New System.Data.DataTable() : dt.Columns.Add("Result", GetType(Double)) : dt.Rows.Add(dt.Compute(result, "")) 結果1_tb.Text = Convert.ToDouble(dt.Rows(0)("Result")) 計算位置() : If X軸 = "A" Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = 結果1_tb.Text Else : If CDbl(結果1_tb.Text) > 0 Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = 結果1_tb.Text : End If : End If Catch ex As Exception : 計算位置() : 計算1() MGB(系統語言字典("G000-289-" & 語言) & 系統語言字典("G000-369-" & 語言) & G + 1 & 系統語言字典("G000-370-" & 語言), 1) : Exit Sub : End Try End If End If Next Next : 計算1() Next : 計算位置() End Sub Private Sub 計算1() If 目前1_tb.Text <> "" Then Dim XC As Integer = 目前1_tb.Text If XC > 報價明細表4_dgv.Rows.Count - 1 Then : Else : 不寫入 = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(XC).Cells(公式位置).Value.ToString : 不寫入 = False : End If Else : 算式1_tb.Text = "" : End If : 目前1_tb.Text = "" : 編輯1_ch.Checked = False : 鎖定1_ch.Checked = False : 結果1_tb.Text = "0" For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 結果1_tb.Text = CDbl(結果1_tb.Text) + CDbl(報價明細表4_dgv.Rows(i).Cells(解答位置).Value.ToString) Next 計算2() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End Sub Private Sub 計算2() For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 For j As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表4_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表_dgv.Rows(j).Cells("流水號").Value.ToString Then If X軸 = "A" Then 報價明細表_dgv.Rows(j).Cells("實際數量").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(17)).Value.ToString ElseIf X軸 = "B" Then 報價明細表_dgv.Rows(j).Cells("工資成本單價").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(19)).Value.ToString ElseIf X軸 = "C" Then 報價明細表_dgv.Rows(j).Cells("材料成本單價").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(21)).Value.ToString End If 報價明細表_dgv.Rows(j).Cells("UNIT").Value = 報價明細表4_dgv.Rows(i).Cells("UNIT").Value.ToString End If Next Next End Sub Private Sub 算式1_tb_KeyDown(sender As Object, e As KeyEventArgs) Handles 算式1_tb.KeyDown If e.KeyCode = Keys.Enter Then : e.SuppressKeyPress = True : 計算1_bt.PerformClick() : 報價明細表4_dgv.Focus() : 算式1_tb.Text = "" : End If If e.KeyCode = Keys.Escape Then : e.SuppressKeyPress = True : 報價明細表4_dgv.Focus() : 重置_bt.PerformClick() : End If End Sub Private Sub 算式1_tb_Click(sender As Object, e As EventArgs) Handles 算式1_tb.Click If 目前1_tb.Text <> "" Then : 鎖定1_ch.Checked = True : End If End Sub Private Sub 算式1_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式1_tb.TextChanged If 不寫入 = False Then : 計算位置() If 目前1_tb.Text = "" Then : Else : Dim XC As Integer = 目前1_tb.Text : 報價明細表4_dgv.Rows(XC).Cells(公式位置).Value = 算式1_tb.Text If 試算表_dgv.Rows.Count > 0 Then : If X軸 = "A" Then : 算式1_tb.Enabled = False : End If : Else If IsNumeric(報價明細表4_dgv.Rows(XC).Cells("ITEM").Value.ToString) Then : 算式1_tb.Enabled = True : Else If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else : 算式1_tb.Enabled = False : End If End If End If End If End If End Sub Private Sub 導入_bt_Click(sender As Object, e As EventArgs) Handles 導入_bt.Click If 解答_tb.Text = "" Or 解答_tb.Text = "公式有誤" Then : Else 報價明細表4_dgv.Rows(CDbl(位置_tb.Text) - 1).Cells(82).Value = 算式3_tb.Text : 計算1_bt.PerformClick() End If End Sub Private Sub 物料公式存檔_bt_Click(sender As Object, e As EventArgs) Handles 物料公式存檔_bt.Click SQL_物料資料庫公式存檔(算式2_tb.Text, 報價明細表4_dgv.Rows(CInt(位置_tb.Text) - 1).Cells("料號原則").Value.ToString) SQL_物料規格表係數存檔(BB1_nud.Value, BB2_nud.Value, BB3_nud.Value, 報價明細表4_dgv.Rows(CInt(位置_tb.Text) - 1).Cells(表頭(9)).Value.ToString) MGB(系統語言字典("G000-119-" & 語言), 1) End Sub Private Sub Set_合約試算控制表_查詢() Dim ds5 As New DataSet : 試算控制表_dgv.DataSource = Nothing : ds5.Clear() 試算控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 試算控制表_dgv.ColumnHeadersHeight = 25 : 試算控制表_dgv.AllowUserToAddRows = False SQL_合約試算控制表_查詢() da.Fill(ds5) : 試算控制表_dgv.DataSource = ds5.Tables(0) : conn.Close() Set_試算明細表() End Sub Private Sub 試算表_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyDown If e.KeyCode = Keys.Oemplus Then : e.SuppressKeyPress = True : 鎖定_ch.Checked = True : 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length : End If If e.Control AndAlso e.KeyCode = Keys.S Then : 修改樓層_迴圈_bt.PerformClick() : End If End Sub Private Sub 試算表_dgv_KeyUp(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyUp If e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down OrElse e.KeyCode = Keys.Left OrElse e.KeyCode = Keys.Right Then e.SuppressKeyPress = True : Me.BeginInvoke(Sub() 處理DGV選中改變1()) End If End Sub Private Sub 試算表_dgv_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyDown If e.KeyCode = Keys.Oemplus Then : 鎖定_ch.Checked = True : 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length : End If If e.Control AndAlso e.KeyCode = Keys.S Then : 修改樓層_迴圈_bt.PerformClick() : End If End Sub Private Sub 試算表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 試算表_dgv.MouseUp 處理DGV選中改變1() End Sub Private Sub 算式_tb_KeyDown(sender As Object, e As KeyEventArgs) Handles 算式_tb.KeyDown If e.KeyCode = Keys.Enter Then : 計算_bt.PerformClick() : 試算表_dgv.Focus() : 算式_tb.Text = "" : End If If e.KeyCode = Keys.Escape Then : e.SuppressKeyPress = True : 試算表_dgv.Focus() : 重置_bt.PerformClick() : End If End Sub Private Sub 式算表編輯() 式算明細表_P.Location = New System.Drawing.Point((Me.Size.Width - 式算明細表_P.Size.Width) / 2, (Me.Size.Height - 式算明細表_P.Size.Height) / 2) : 式算明細表_P.Visible = True 式算明細表_P.BringToFront() End Sub Private Sub 物料工資計算編輯() 物料工資計算式_P.Location = New System.Drawing.Point((Me.Size.Width - 物料工資計算式_P.Size.Width) / 2, (Me.Size.Height - 物料工資計算式_P.Size.Height) / 2) 物料工資計算式_P.Visible = True : 物料工資計算式_P.BringToFront() End Sub Private Sub Set_試算明細表() Dim DS7, DS8 As New DataSet 試算表_dgv.DataSource = Nothing : DS7.Clear() 試算表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 試算表_dgv.ColumnHeadersHeight = 40 : 試算表_dgv.AllowUserToAddRows = False 試算表_存_dgv.DataSource = Nothing : DS8.Clear() 試算表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 試算表_存_dgv.ColumnHeadersHeight = 40 : 試算表_存_dgv.AllowUserToAddRows = False If 小間距2_ch.Checked = False And 中間距2_ch.Checked = False And 大間距2_ch.Checked = True Then : 試算表_dgv.RowTemplate.Height = 85 ElseIf 小間距2_ch.Checked = False And 中間距2_ch.Checked = True And 大間距2_ch.Checked = False Then : 試算表_dgv.RowTemplate.Height = 65 ElseIf 小間距2_ch.Checked = True And 中間距2_ch.Checked = False And 大間距2_ch.Checked = False Then : 試算表_dgv.RowTemplate.Height = 45 : End If SQL_合約試算明細表_查詢1() da.Fill(DS7) : 試算表_dgv.DataSource = DS7.Tables(0) : conn.Close() : da.Fill(DS8) : 試算表_存_dgv.DataSource = DS8.Tables(0) : conn.Close() For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 : 試算表_dgv.Rows(i).Cells(0).Value = i + 1 : Next 試算表_dgv.Columns(0).FillWeight = 30 : 試算表_dgv.Columns(1).FillWeight = 100 : 試算表_dgv.Columns(2).FillWeight = 40 試算表_dgv.Columns(3).FillWeight = 150 : 試算表_dgv.Columns(4).Visible = False : 試算表_dgv.Columns(5).Visible = False : 試算表_dgv.Columns("存檔").Visible = False 試算表_dgv.EditMode = DataGridViewEditMode.EditOnEnter 試算表_dgv.Columns(0).ReadOnly = True : 試算表_dgv.Columns(2).ReadOnly = True : 試算表_dgv.Columns(3).ReadOnly = True For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 If 試算表_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_dgv.Rows(i).Cells("數量").Value = "0" : End If 試算表_dgv.Rows(i).Cells("數量").Value = Strings.Format(CDbl(試算表_dgv.Rows(i).Cells("數量").Value.ToString), "#,##0.00") If 試算表_存_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_存_dgv.Rows(i).Cells("數量").Value = "0" : End If 試算表_存_dgv.Rows(i).Cells("數量").Value = Strings.Format(CDbl(試算表_存_dgv.Rows(i).Cells("數量").Value.ToString), "#,##0.00") 試算表_存_dgv.Rows(i).Cells("存檔").Value = "" Next : 計算_bt.PerformClick() End Sub Private Sub 處理DGV選中改變1() If 試算表_dgv.SelectedCells.Count > 0 Then Dim 位置 As Integer = 試算表_dgv.SelectedCells(0).RowIndex 表頭_tb.Text = 試算表_dgv.Rows(位置).Cells("表頭").Value.ToString If 試算表_dgv.SelectedCells(0).ColumnIndex = 1 Then DGV編輯模式滑鼠點擊不要將文字全選使用(試算表_dgv, 位置, 1) ElseIf 試算表_dgv.SelectedCells(0).ColumnIndex = 2 Or 試算表_dgv.SelectedCells(0).ColumnIndex = 3 Then If 鎖定_ch.Checked = True Then If 目前_tb.Text <> 位置 Then If 試算表_dgv.Rows(位置).Cells(3).Value.ToString.Contains("A[" & CInt(目前_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) Else 算式_tb.Text = 檢查前一運算子是否可運算(算式_tb.Text, "A[" & (位置 + 1) & "]") If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length End If End If Else If 編輯_ch.Checked = True Then 計算_bt.PerformClick() : 目前_tb.Text = 位置 : 編輯_ch.Checked = True : 算式_tb.Text = 試算表_dgv.Rows(位置).Cells(3).Value.ToString Else If 目前_tb.Text = "" Then 目前_tb.Text = 位置 : 編輯_ch.Checked = True : 算式_tb.Text = 試算表_dgv.Rows(位置).Cells(3).Value.ToString Else If 目前_tb.Text <> 位置 Then If 試算表_dgv.Rows(位置).Cells(3).Value.ToString.Contains("A[" & CInt(目前_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) Else 算式_tb.Text = 檢查前一運算子是否可運算(算式_tb.Text, "A[" & (位置 + 1) & "]") If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If End If End If End If End If End If End If End If End Sub Private Sub 計算_bt_Click(sender As Object, e As EventArgs) Handles 計算_bt.Click For J As Integer = 0 To 試算表_dgv.Rows.Count - 1 For G As Integer = 0 To 試算表_dgv.Rows.Count - 1 不寫入 = True : 算式_tb.Text = 試算表_dgv.Rows(G).Cells(3).Value.ToString : 不寫入 = False If 算式_tb.Text <> "" Then '-----去除等號與備註------- If 算式_tb.Text.StartsWith("=") Then : 算式_tb.Text = 算式_tb.Text.Substring(1) : End If Dim input As String = 算式_tb.Text : Dim pattern1 As String = "#.*?#" : Dim regex1 As New Regex(pattern1) Dim result As String = regex1.Replace(input, String.Empty) Try Dim A As String = result ' 或是 "A[0]+A[1]-A[2]+A[3]-A[4]+A[5]-A[6]+A[7]" Dim PP(99) As Integer : Dim pattern As String = "A\[(\d+)\]" : Dim regex As New Regex(pattern) Dim matches As MatchCollection = regex.Matches(A) : Dim SD As Integer = 0 For Each match As Match In matches Dim value As Integer = Integer.Parse(match.Groups(1).Value) : PP(SD) = value : If PP(SD) = 0 Then : Exit For : End If : SD += 1 Next Dim replacedA As String = A For i As Integer = 0 To PP.Length - 1 If PP(i) = 0 Then : Exit For : End If : replacedA = replacedA.Replace("A[" & PP(i) & "]", CDbl(試算表_dgv.Rows(PP(i) - 1).Cells(2).Value.ToString)) Next : Console.WriteLine(replacedA) : 不寫入 = True : result = replacedA : 不寫入 = False Dim dt As New System.Data.DataTable() dt.Columns.Add("Result", GetType(Double)) dt.Rows.Add(dt.Compute(result, "")) 結果_tb.Text = Convert.ToDouble(dt.Rows(0)("Result")) : 試算表_dgv.Rows(G).Cells(2).Value = Strings.Format(CDbl(結果_tb.Text), "#,##0.00") Catch ex As Exception : MGB(系統語言字典("G000-289-" & 語言), 1) : End Try End If Next Next If 目前_tb.Text <> "" Then Dim XC As Integer = 目前_tb.Text If XC > 試算表_dgv.Rows.Count - 1 Then : Else : 不寫入 = True : 算式_tb.Text = 試算表_dgv.Rows(XC).Cells(3).Value.ToString : 不寫入 = False : End If Else : 算式_tb.Text = "" : End If : 目前_tb.Text = "" : 編輯_ch.Checked = False : 鎖定_ch.Checked = False : 結果_tb.Text = "0" For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 結果_tb.Text = CDbl(結果_tb.Text) + CDbl(試算表_dgv.Rows(i).Cells(2).Value.ToString) Next : If 結果_tb.Text = "" Then : Else : 結果_tb.Text = Strings.Format(CDbl(結果_tb.Text), "#,##0.00") : End If For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1 If 試算表_cb.Text <> "" And 試算表_cb.Text = 報價明細表4_dgv.Rows(i).Cells("流水號").Value.ToString Then If 試算表_dgv.Rows.Count > 0 Then 報價明細表_dgv.Rows(i).Cells("實際數量").Value = 結果_tb.Text : 報價明細表4_dgv.Rows(i).Cells("實際數量").Value = 結果_tb.Text 報價明細表4_dgv.Rows(i).Cells(表頭(17)).Value = 結果_tb.Text End If End If Next : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() End Sub Private Sub 算式_tb_Click(sender As Object, e As EventArgs) Handles 算式_tb.Click If 目前_tb.Text <> "" Then : 鎖定_ch.Checked = True : End If End Sub Private Sub 算式_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式_tb.TextChanged If 不寫入 = False Then : If 目前_tb.Text = "" Then : Else : Dim XC As Integer = 目前_tb.Text : 試算表_dgv.Rows(XC).Cells(3).Value = 算式_tb.Text : End If : End If End Sub Private Sub 樓層_迴路_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 樓層_迴路_cb.SelectedIndexChanged PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢() : If dr.Read() Then : 表頭_tb.Text = dr("表頭") : End If End Sub Private Sub 表號_tb_TextChanged(sender As Object, e As EventArgs) Handles 表號_tb.TextChanged PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : Set_合約試算控制表_查詢() End Sub Private Sub 新增試算表_bt_Click(sender As Object, e As EventArgs) Handles 新增試算表_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢() If dr.Read() Then : Else '------生成表號--------------------------------------------------------------------------------------- Dim 表號 As String : PA = 合約編號_tb.Text conn.Close() : SQL_合約試算分表_最後一筆資料() If dr.Read() Then : 表號 = dr("表號").ToString : Else : 表號 = "B00" : End If : conn.Close() Dim NUM1 As Integer NUM1 = Double.Parse(Strings.Right(表號, 2)) + 1 If NUM1 < 10 Then : 表號 = "B" & "0" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 表號 = "B" & NUM1 : End If '------新增試算表--------------------------------------------------------------------------------------- 表號_tb.Text = 表號 : PA1 = 試算表_cb.Text : PA2 = 表號_tb.Text : SQL_合約試算分表_新增() '------重新載入下拉清單--------------------------------------------------------------------------------------- 合約試算分下拉清單() End If : conn.Close() End If End Sub Private Sub 新增物件_bt_Click(sender As Object, e As EventArgs) Handles 新增物件_bt.Click If 試算控制表_dgv.Rows.Count = 40 Then : MGB(系統語言字典("H102-141-" & 語言), 1) : Else If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else If 試算表_cb.Text = "" Then : MGB(系統語言字典("G000-268-" & 語言), 1) : Else INB("請輸入 [樓層/迴路] 的資料!!") : 樓層_迴路_cb.Text = 訊息回應 PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢() If dr.Read() Then : MGB(系統語言字典("H102-140-" & 語言), 1) : Else '------生成表號--------------------------------------------------------------------------------------- Dim 表頭 As String : PA = 合約編號_tb.Text : PA2 = 表號_tb.Text conn.Close() : SQL_合約試算控制表_最後一筆資料() If dr.Read() Then : 表頭 = dr("表頭").ToString : Else : 表頭 = "A00" : End If : conn.Close() Dim NUM1 As Integer NUM1 = Double.Parse(Strings.Right(表頭, 2)) + 1 If NUM1 < 10 Then : 表頭 = "A" & "0" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 表頭 = "A" & NUM1 : End If '------新增試算表--------------------------------------------------------------------------------------- 表頭_tb.Text = 表頭 : PA4 = 樓層_迴路_cb.Text : PA2 = 表號_tb.Text : PA5 = 表頭_tb.Text : SQL_合約試算控制表_新增() '------重新載入下拉清單--------------------------------------------------------------------------------------- 合約試算控制下拉清單() : Set_合約試算控制表_查詢() : MGB(系統語言字典("G000-118-" & 語言), 1) 算式1_tb.Text = "" : 編輯1_ch.Checked = True : 鎖定1_ch.Checked = True : 計算1_bt.PerformClick() : 算式1_tb.Enabled = False End If : conn.Close() End If End If End If End Sub Private Sub 修改樓層_迴圈() If 試算表_dgv.Rows.Count > 0 Then For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 For ii As Integer = 0 To 試算表_存_dgv.Rows.Count - 1 If 試算表_存_dgv.Rows(i).Cells("數量").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("數量").Value.ToString Or 試算表_存_dgv.Rows(i).Cells("公式").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("公式").Value.ToString Or 試算表_存_dgv.Rows(i).Cells("備註").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("備註").Value.ToString Then 試算表_存_dgv.Rows(i).Cells("存檔").Value = "1" : Exit For End If Next Next For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 If 試算表_存_dgv.Rows(i).Cells("存檔").Value = "1" Then If 試算表_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_dgv.Rows(i).Cells("數量").Value = "0" : End If PA4 = 試算表_dgv.Rows(i).Cells("樓層/迴路").Value.ToString() : PA5 = 試算表_dgv.Rows(i).Cells("表頭").Value.ToString() PA6 = 試算表_dgv.Rows(i).Cells("數量").Value.ToString() : PA7 = 試算表_dgv.Rows(i).Cells("公式").Value.ToString() PA8 = 試算表_dgv.Rows(i).Cells("備註").Value.ToString() PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : SQL_合約試算控制表_樓層迴路修改() End If Next End If End Sub Private Sub 修改樓層_迴圈_bt_Click(sender As Object, e As EventArgs) Handles 修改樓層_迴圈_bt.Click If 試算表_dgv.Rows.Count > 0 Then 修改樓層_迴圈() : 合約試算控制下拉清單() : Set_合約試算控制表_查詢() : 報價總表存檔按鈕() : 報價明細表存檔() : 預估利潤存檔() : MGB(系統語言字典("H299-128-" & 語言), 1) End If End Sub Private Sub 刪除1_bt_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click If 合約編號_tb.Text = "" Or 表頭_tb.Text = "" Or 表號_tb.Text = "" Then : MGB(系統語言字典("G000-152-" & 語言), 1) : Else MGB(系統語言字典("H402-121-" & 語言), 2) If 訊息回應 = "YES" Then PA = 合約編號_tb.Text : PA5 = 表頭_tb.Text : PA2 = 表號_tb.Text SQL_合約試算控制表_刪除() : MGB(系統語言字典("H402-122-" & 語言), 1) : Set_試算明細表() End If End If End Sub Private Sub 小間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距2_ch.Click 小間距2_ch.Checked = True : 中間距2_ch.Checked = False : 大間距2_ch.Checked = False : Set_試算明細表() End Sub Private Sub 中間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距2_ch.Click 小間距2_ch.Checked = False : 中間距2_ch.Checked = True : 大間距2_ch.Checked = False : Set_試算明細表() End Sub Private Sub 大間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距2_ch.Click 小間距2_ch.Checked = False : 中間距2_ch.Checked = False : 大間距2_ch.Checked = True : Set_試算明細表() End Sub '------------------------------------------------------------------------------------------------------------------------------------------------------------ '-----------------預估利潤存檔------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------ Private Sub 預估利潤存檔() 'Or 預估利潤_tb.Text = "0" Or 利潤比3_tb.Text = "0 %" If 預估利潤_tb.Text = "" Then Else If 預估工資總成本_tb.Text = "" Then : 預估工資總成本_tb.Text = "0" : End If If 預估工資總報價_tb.Text = "" Then : 預估工資總報價_tb.Text = "0" : End If If 利潤比1_tb.Text = "" Then : 利潤比1_tb.Text = "0 %" : End If If 預估材料總成本_tb.Text = "" Then : 預估材料總成本_tb.Text = "0" : End If If 預估材料總報價_tb.Text = "" Then : 預估材料總報價_tb.Text = "0" : End If If 利潤比2_tb.Text = "" Then : 利潤比2_tb.Text = "0 %" : End If If 總成本_tb.Text = "" Then : 總成本_tb.Text = "0" : End If If 總報價_tb.Text = "" Then : 總報價_tb.Text = "0" : End If If 利潤比3_tb.Text = "" Then : 利潤比3_tb.Text = "0 %" : End If If 利潤比4_tb.Text = "" Then : 利潤比4_tb.Text = "0 %" : End If If 預估利潤_tb.Text = "" Then : 預估利潤_tb.Text = "0" : End If PA37 = 預估工資總成本_tb.Text : PA38 = 預估工資總報價_tb.Text : PA39 = Replace(Replace(利潤比1_tb.Text, " ", ""), "%", "") PA40 = 預估材料總成本_tb.Text : PA41 = 預估材料總報價_tb.Text : PA42 = Replace(Replace(利潤比2_tb.Text, " ", ""), "%", "") : PA47 = 預估利潤_tb.Text PA43 = 總成本_tb.Text : PA44 = 總報價_tb.Text : PA45 = Replace(Replace(利潤比3_tb.Text, " ", ""), "%", "") : PA46 = Replace(Replace(利潤比4_tb.Text, " ", ""), "%", "") SQL_合約控制表預估利潤存檔() End If End Sub '----------------------------------------------------------------------------------------------------------------------------------------------------------- '---------------------其他雜項功能-------------------------------------------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 不印工資_全選_bt_Click(sender As Object, e As EventArgs) Handles 不印工資_全選_bt.Click For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(85).Value = True : Next End Sub Private Sub 不印工資_取消_bt_Click(sender As Object, e As EventArgs) Handles 不印工資_取消_bt.Click For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(85).Value = False : Next End Sub Private Sub 不印材料_全選_bt_Click(sender As Object, e As EventArgs) Handles 不印材料_全選_bt.Click For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(86).Value = True : Next End Sub Private Sub 不印材料_取消_bt_Click(sender As Object, e As EventArgs) Handles 不印材料_取消_bt.Click For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(86).Value = False : Next End Sub Private Sub TabControl1_Selecting(sender As Object, e As TabControlCancelEventArgs) Handles TabControl1.Selecting Dim selectedIndex As Integer = e.TabPageIndex Select Case selectedIndex Case 0 If 空間1.Visible = True Then A3 = 空間2.Size.Width : B3 = 空間2.Size.Height 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3) End If : CanceL3_bt.PerformClick() Case 1 If 空間1.Visible = True Then A3 = 空間2.Size.Width : B3 = 空間2.Size.Height 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3) End If : CanceL3_bt.PerformClick() Case 2 縮放_bt.PerformClick() End Select End Sub Private Sub Set_合約文件圖庫資料庫狀態() Dim ds9 As New DataSet : 圖庫清單_dgv.DataSource = Nothing : ds9.Clear() 圖庫清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 圖庫清單_dgv.ColumnHeadersHeight = 25 : 圖庫清單_dgv.AllowUserToAddRows = False 表頭(165) = "資料庫" : 表頭(166) = "狀態" SQL_工程文件資料庫管理查詢() da.Fill(ds9) : 圖庫清單_dgv.DataSource = ds9.Tables(0) : conn.Close() 圖庫清單_dgv.Columns(0).FillWeight = 100 : 圖庫清單_dgv.Columns(1).FillWeight = 20 End Sub Private Sub 彙總存檔_bt_Click(sender As Object, e As EventArgs) Handles 彙總存檔_bt.Click PA = 合約編號_tb.Text : 預估利潤存檔() : MGB(系統語言字典("G000-119-" & 語言), 1) End Sub Private Sub ITEM4_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM4_cb.Click PPCC = ITEM4_cb.Text : 合約報價單項次選擇.ShowDialog() If IsNumeric(PPAA) = True Then : MGB("這裡只能選擇中文數字,不能選擇阿拉伯數字!!", 1) : Else : ITEM4_cb.Text = PPAA : End If : PPAA = PPCC End Sub Private Sub 物料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 物料_ch.Click 物料_ch.Checked = True : BOM_ch.Checked = False : 合約_ch.Checked = False : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False If 切換_ts.Value = True Then : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront() : Else : 新式_P.Visible = False : End If End Sub Private Sub BOM_ch_CheckedChanged(sender As Object, e As EventArgs) Handles BOM_ch.Click 物料_ch.Checked = False : BOM_ch.Checked = True : 合約_ch.Checked = False : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False End Sub Private Sub 合約_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 合約_ch.Click 物料_ch.Checked = False : BOM_ch.Checked = False : 合約_ch.Checked = True : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True End Sub Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged 條件選擇 = 合約編號1_cb.Text : Set_合約清單() End Sub Private Sub 工程期1_ch_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程期1_ch.SelectedIndexChanged 條件選擇 = 合約編號1_cb.Text : Set_合約清單() End Sub Private Sub 規格顯示修改_bt_Click(sender As Object, e As EventArgs) Handles 規格顯示修改_bt.Click If 報價明細表_dgv.Columns(43).Visible = False Then : For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = True : Next ElseIf 報價明細表_dgv.Columns(43).Visible = True Then : For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = False : Next : End If Set_合約報價明細表格式() End Sub Private Sub 單位1_tb_TextChanged(sender As Object, e As EventArgs) Handles 單位1_tb.Click CB選擇清單(單位_cb, 單位1_tb.Text) : 單位1_tb.Text = 單位_cb.Text End Sub Private Sub 單位_tb_TextChanged(sender As Object, e As EventArgs) Handles 單位_tb.Click CB選擇清單(單位_cb, 單位_tb.Text) : 單位_tb.Text = 單位_cb.Text End Sub Private Sub 合約編號清單_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單_bt.Click If 合約_dgv.Rows.Count > 2999 Then : MGB(系統語言字典("G000-153-" & 語言), 1) : Else For I As Integer = 0 To 3000 : PPBB(I) = "" : Next For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : PPBB(I) = 合約_dgv(表頭(7), I).Value.ToString : NN1 = I : Next 下拉清單_1.ShowDialog() For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : If PPAA = 合約_dgv(表頭(7), I).Value.ToString Then : 選取位置 = I : Exit For : End If : Next : 合約讀取() End If End Sub Private Sub 縮放_bt_Click_1(sender As Object, e As EventArgs) Handles 縮放_bt.Click If 空間1.Visible = True Then A3 = 空間2.Size.Width : B3 = 空間2.Size.Height 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3) Else A3 = 空間2.Size.Width : B3 = 空間2.Size.Height 空間1.Visible = True : 空間2.Location = New System.Drawing.Point(空間1.Size.Width, 0) : 空間2.Size = New System.Drawing.Point(A3 - 空間1.Size.Width, B3) If 物料_ch.Checked = True Then : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False 物料_ch.Checked = True : BOM_ch.Checked = False : 合約_ch.Checked = False : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False If 切換_ts.Value = True Then : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront() : Else : 新式_P.Visible = False : End If ElseIf BOM_ch.Checked = True Then : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False 物料_ch.Checked = False : BOM_ch.Checked = True : 合約_ch.Checked = False : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False ElseIf 合約_ch.Checked = True Then : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True 物料_ch.Checked = False : BOM_ch.Checked = False : 合約_ch.Checked = True : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True End If End If End Sub Private Sub 新建_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 新建_ch.Click 新建_ch.Checked = True : 改版_ch.Checked = False : 轉移_ch.Checked = False 合約編號_n_cb.Text = "" : 合約編號1_n_tb.Text = "" : 合約編號2_n_tb.Text = "" : 合約編號3_n_tb.Text = "" 合約編號_n_cb.Enabled = True : 合約編號1_n_tb.Enabled = True : 合約編號2_n_tb.Enabled = True If 深色風格 = False Then 新建_ch.ForeColor = Color.Red : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Black Else 新建_ch.ForeColor = Color.LightPink : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.White End If End Sub Private Sub 改版_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 改版_ch.Click 新建_ch.Checked = False : 改版_ch.Checked = True : 轉移_ch.Checked = False 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = "" 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = True If 深色風格 = False Then 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Red : 轉移_ch.ForeColor = Color.Black Else 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.LightPink : 轉移_ch.ForeColor = Color.White End If End Sub Private Sub 轉移_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 轉移_ch.Click 新建_ch.Checked = False : 改版_ch.Checked = False : 轉移_ch.Checked = True 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = "" 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = True If 深色風格 = False Then 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Red Else 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.LightPink End If End Sub Private Sub 啟用批量出貨_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 啟用批量選擇_ch.Click For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(i).Cells(表頭(10)).Value = False : Next End Sub Private Sub 查閱文件_bt_Click(sender As Object, e As EventArgs) Handles 查閱文件_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else If 簽回檔 = False Then : MGB(系統語言字典("H106-111-" & 語言), 1) : Else PA1 = 合約編號_tb.Text : PA2 = "報價" : 文件查閱視窗.ShowDialog() End If End If End Sub Private Sub 詳細資料1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料1_ch.Click If 詳細資料1_ch.Checked = True Then : 詳細資料1_ch.Checked = True : Else : 詳細資料1_ch.Checked = False : End If : Set_BOM表明細() End Sub Private Sub 詳細資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料_ch.Click If 詳細資料_ch.Checked = True Then : 詳細資料_ch.Checked = True : Else : 詳細資料_ch.Checked = False : End If : Set_合約報價明細表1() End Sub Private Sub 詳細資料2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料2_ch.Click If 詳細資料2_ch.Checked = True Then : 詳細資料2_ch.Checked = True : Else : 詳細資料2_ch.Checked = False : End If : Set_合約報價明細表() End Sub Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click If 合約_dgv.Visible = True Then AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height : 合約_dgv.Visible = False AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height If 不再動作1 = False Then 空間3.Location = New System.Drawing.Point(AA1, BB2) : 空間3.Size = New System.Drawing.Point((AA2 - AA1) + AA3, BB3) 總表空間_P.Location = New System.Drawing.Point(AA1 + 基本資料_P.Size.Width, BB4) : 總表空間_P.Size = New System.Drawing.Point((AA2 - AA1) + AA5, BB5) End If Else 合約_dgv.Visible = True If 不再動作1 = False Then 空間3.Location = New System.Drawing.Point(AA2, BB2) : 空間3.Size = New System.Drawing.Point(AA3, BB3) 總表空間_P.Location = New System.Drawing.Point(AA2 + 基本資料_P.Size.Width, BB4) : 總表空間_P.Size = New System.Drawing.Point(AA5, BB5) End If End If End Sub Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click Dim NX, NY As Integer : NX = 合約_dgv.Size.Width : NY = 合約_dgv.Size.Height If 合約_dgv.Visible = False Then : 縮放1_bt.PerformClick() : End If If 放大 = True Then 合約_dgv.Size = New System.Drawing.Point(NX - 400, NY) : 放大 = False 合約_dgv.Columns(表頭(8)).Visible = False : 合約_dgv.Columns("審核通過").Visible = False : 合約_dgv.Columns("停止").Visible = False Else 合約_dgv.Size = New System.Drawing.Point(NX + 400, NY) : 放大 = True 合約_dgv.Columns(表頭(8)).Visible = True : 合約_dgv.Columns("審核通過").Visible = True : 合約_dgv.Columns("停止").Visible = True End If End Sub Private Sub 合約作廢_bt_Click(sender As Object, e As EventArgs) Handles 合約作廢_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else Dim 是否作廢 As Boolean : PA = 合約編號_tb.Text : SQL_合約作廢查詢() If dr.Read Then : If dr("作廢") = False Then : 是否作廢 = False : Else : 是否作廢 = True : End If : End If If 是否作廢 = False Then : MGB(系統語言字典("H102-144-" & 語言), 2) : Else : MGB(系統語言字典("H102-145-" & 語言), 2) : End If If 訊息回應 = "YES" Then : If 是否作廢 = False Then : PA1 = "1" : Else : PA1 = "0" : End If : SQL_合約作廢查詢修改() : Set_合約清單() : End If End If End Sub Private Sub 發送_bt_Click(sender As Object, e As EventArgs) Handles 發送_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else MGB(系統語言字典("H102-146-" & 語言), 2) If 訊息回應 = "YES" Then PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text : PA = 合約編號_tb.Text PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text BL1 = False : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣" ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If 匯率() : PA48 = 匯率1 : SQL_合約修改1() '---LINE_AUTO 部門主管------------------------------------------------------------------------------------------------------------------------------------------ If 登入人IP = 測試IP Then : Else LIN訊息通知("CC201", "李協叡", 合約編號_tb.Text & " ][ " & 工程名稱_中_tb.Text) LIN訊息通知("CC201", "LIN HSING HAO", 合約編號_tb.Text & " ][ " & 工程名稱_中_tb.Text) End If End If End If End Sub Private Sub 物料圖1_pb_Click(sender As Object, e As EventArgs) Handles 物料圖1_pb.Click If IsNothing(物料圖1_pb.Image) = False Then : 圖片傳遞 = 物料圖1_pb.Image : 圖片放大視窗.ShowDialog() : End If End Sub Private Sub 工資_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 工資_ch.Click If 工資_ch.Checked = True Then : 工資_ch.Checked = True : Else : 工資_ch.Checked = False : End If If 報價明細表_dgv.Columns(8).Visible = False Then : Else : Set_報價明細表_dgv_利潤表開啟() : End If : Set_合約報價明細表格式() End Sub Private Sub 材料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 材料_ch.Click If 材料_ch.Checked = True Then : 材料_ch.Checked = True : Else : 材料_ch.Checked = False : End If If 報價明細表_dgv.Columns(8).Visible = False Then : Else : Set_報價明細表_dgv_利潤表開啟() : End If : Set_合約報價明細表格式() End Sub Private Sub 利潤表_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 利潤表_ch.Click If 利潤表_ch.Checked = True Then : 利潤表_ch.Checked = True : Set_報價明細表_dgv_利潤表開啟() : Else : End If Set_合約報價明細表格式() End Sub Private Sub 合約改版_bt_Click(sender As Object, e As EventArgs) Handles 合約改版_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H102-147-" & 語言), 1) : Else Dim SS1, SS2, SS3, SS4, SS5 As String If 系統語言 = "繁體中文" Then SS1 = "合約報價單改版後將發生下列變化,確認下列問題!!" SS2 = "1、系統將依照舊版合約報價內容複製出新的合約報價。" SS3 = "2、舊版合約報價將停用關閉,不在後續功能中顯示。" SS4 = "3、請購、採購、入庫、出庫、工程等系統中與原編號" SS5 = " 相連的資料都將歸檔到新的合約編號中。" Else SS1 = "Perubahan berikut akan terjadi setelah revisi kutipan kontrak, mohon konfirmasi masalah berikut!!" SS2 = "1. Sistem akan menyalin kutipan kontrak baru sesuai dengan isi kutipan kontrak lama." SS3 = "2. Versi lama dari kutipan kontrak akan dinonaktifkan dan tidak akan ditampilkan dalam fungsi tindak lanjut." SS4 = "3. Data yang terkait dengan nomor asli dalam sistem permintaan, pengadaan, penyimpanan, pengiriman, teknik dan sistem lainnya akan diarsipkan dalam nomor kontrak baru." SS5 = "" End If 通知訊息 = SS1 & vbCrLf & SS2 & vbCrLf & SS3 & vbCrLf & SS4 & vbCrLf & SS5 : 訊息類型 = "2" : 通知視窗.ShowDialog() If 訊息回應 = "YES" Then If 視窗4_pl.Visible = False Then 新建_ch.Checked = False : 改版_ch.Checked = False : 轉移_ch.Checked = False 合約編號_n_cb.Text = "" : 合約編號1_n_tb.Text = "" : 合約編號2_n_tb.Text = "" : 合約編號3_n_tb.Text = "" 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = False 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = "" If 深色風格 = False Then 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Black Else 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.White End If 視窗4_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗4_pl.Size.Width) / 2, (Me.Size.Height - 視窗4_pl.Size.Height) / 2) 視窗4_pl.Visible = True : 視窗4_pl.BringToFront() Else : 視窗4_pl.Visible = False : End If End If End If End Sub Private Sub 複製轉移_bt_Click(sender As Object, e As EventArgs) Handles 複製轉移_bt.Click If 新建_ch.Checked = False And 改版_ch.Checked = False And 轉移_ch.Checked = False Then : MGB(系統語言字典("H102-148-" & 語言), 1) If 深色風格 = False Then 新建_ch.ForeColor = Color.Red : 改版_ch.ForeColor = Color.Red : 轉移_ch.ForeColor = Color.Red Else 新建_ch.ForeColor = Color.LightPink : 改版_ch.ForeColor = Color.LightPink : 轉移_ch.ForeColor = Color.LightPink End If Else If 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("H102-149-" & 語言), 1) : Else If 合約編號_n_cb.Text = "" Or 合約編號1_n_tb.Text = "" Or 合約編號2_n_tb.Text = "" Or 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("H102-150-" & 語言), 1) : Else Dim 合約編號條件 As Boolean = True If 合約編號_n_cb.Text = "" Then : MGB(系統語言字典("G000-202-" & 語言), 1) : 合約編號條件 = False : End If If 合約編號1_n_tb.Text = "" Then : MGB(系統語言字典("G000-203-" & 語言), 1) : 合約編號條件 = False : Else Dim d As Int32 For index = 0 To 合約編號1_n_tb.Text.Length - 1 d = Asc(合約編號1_n_tb.Text(index)) Dim 可能不行 As Boolean = False If (d < 65 Or d > 90) Then : 可能不行 = True : End If 'c變數若在65~90是大寫的英文字母 If 可能不行 = True Then If (d < 97 Or d > 122) Then : 可能不行 = True : Else : 可能不行 = False : End If 'c變數若在97~122是小寫的英文字母 If 可能不行 = True Then '然後查表, c變數若在48~57, 表示它是數字, If (d < 48 Or d > 57) Then : MGB(系統語言字典("G000-204-" & 語言), 1) : 合約編號條件 = False : Exit For : End If End If End If Next End If If 合約編號2_n_tb.Text = "" Then : MGB(系統語言字典("G000-205-" & 語言), 1) : 合約編號條件 = False : End If Dim c As Int32 '然後查表, c變數若在48~57, 表示它是數字, For index = 0 To 合約編號2_n_tb.Text.Length - 1 c = Asc(合約編號2_n_tb.Text(index)) If c < 48 Or c > 57 Then : MGB(系統語言字典("G000-206-" & 語言), 1) : 合約編號條件 = False : Exit For : Else If Len(合約編號2_n_tb.Text) <> 6 Then : MGB(系統語言字典("G000-207-" & 語言), 1) : 合約編號條件 = False : Exit For : End If End If Next If 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("G000-208-" & 語言), 1) : 合約編號條件 = False ElseIf IsNumeric(合約編號3_n_tb.Text) = False Then : MGB(系統語言字典("G000-209-" & 語言), 1) : 合約編號條件 = False : End If If 合約編號條件 = False Then : Else If 轉移_ch.Checked = True Then '-----------這裡是以轉移為前提-------------------------------------------------------------------------------------------------------- PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約查詢() If dr.Read() Then : MGB(系統語言字典("H102-151-" & 語言), 1) : Else PA17 = 合約編號_tb.Text : PA18 = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text PA19 = 合約編號1_n_tb.Text : PA20 = 合約編號2_n_tb.Text : PA21 = 合約編號3_n_tb.Text : PA22 = 合約編號_n_cb.Text SQL_合約編號修改() : 視窗4_pl.Visible = False : MGB(系統語言字典("H102-152-" & 語言), 1) : Set_合約清單() End If Else '-----------這裡是以新建為前提-------------------------------------------------------------------------------------------------------- PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約查詢() If dr.Read() Then : MGB(系統語言字典("H102-153-" & 語言), 1) : Else PA1 = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text PA = 合約編號_tb.Text : PA2 = 合約編號_n_cb.Text : PA3 = 合約編號1_n_tb.Text : PA4 = 合約編號2_n_tb.Text : PA5 = 合約編號3_n_tb.Text If 改版_ch.Checked = True Then BL1 = True : SQL_合約停用() '-----原合約停用--------------------- SQL_請購單改合約號() '-----請採購、倉儲,合約號變更------- SQL_工程系統改合約號() '-----工程合約號變更----------------- For i As Integer = 0 To 圖庫清單_dgv.Rows.Count - 1 圖片庫 = 圖庫清單_dgv.Rows(i).Cells("資料庫").Value.ToString : SQL_圖庫系統改合約號() '-----圖庫合約號變更----------------- Next ElseIf 新建_ch.Checked = True Then 'BL1 = True : SQL_合約停用() End If Dim 數量, 位置(20), 總表位置(20) As Integer : Dim 新編號, 連動(20) As String : 數量 = 0 新編號 = PA1 PA = 新編號 : 選擇項1_tb.Text = "" : 複製報價 = True '-----取出舊總表連動位置-------------------------------------------------------------------- For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString() <> "" Then 總表位置(數量) = i For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString() = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString() Then 位置(數量) = ii : Exit For End If Next : 數量 += 1 End If Next '-----生成新的報價係數---------------------------------------------------------------------- For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 PA2 = 報價係數_dgv("項目", i).Value.ToString : PA3 = 報價係數_dgv("係數", i).Value.ToString : PA4 = 報價係數_dgv("單位", i).Value.ToString SQL_合約報價係數資料不重複() : If dr.Read Then : Else : 係數流水號() : SQL_合約報價係數_新增() : End If Next : Set_合約報價係數() '-----生成新的合約明細---------------------------------------------------------------------- For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 PA2 = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString() : PA3 = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() PA4 = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString() : PA5 = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString() PA6 = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() : PA7 = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString() PA8 = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString() PA10 = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString() : PA11 = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value.ToString() PA12 = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString() : PA13 = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value.ToString() PA14 = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString() : PA15 = 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString() PA16 = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString() : BL = 報價明細表_dgv.Rows(i).Cells("不計").Value BL1 = 報價明細表_dgv.Rows(i).Cells("D1").Value : BL2 = 報價明細表_dgv.Rows(i).Cells("D2").Value : BL3 = 報價明細表_dgv.Rows(i).Cells("D3").Value BL4 = 報價明細表_dgv.Rows(i).Cells("D4").Value : BL5 = 報價明細表_dgv.Rows(i).Cells("D5").Value : BL6 = 報價明細表_dgv.Rows(i).Cells("D6").Value BL7 = 報價明細表_dgv.Rows(i).Cells("D7").Value : BL8 = 報價明細表_dgv.Rows(i).Cells("D8").Value : BL9 = 報價明細表_dgv.Rows(i).Cells("預設").Value 明細表新增資料() Next : 合約編號_tb.Text = 新編號 : Set_合約報價明細表() '-----算出新明細連動編號-------------------------------------------------------------------- For i As Integer = 0 To 數量 For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If ii = 位置(i) Then 連動(i) = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString() : Exit For End If Next Next '-----生成新的合約總表---------------------------------------------------------------------- For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 PA = 合約編號_tb.Text PA2 = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() : PA3 = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() PA4 = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString() : PA5 = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString() PA6 = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() : PA7 = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString() PA8 = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString() For ii As Integer = 0 To 數量 If 總表位置(ii) = i Then 報價總表_dgv.Rows(i).Cells("明細連動").Value = 連動(ii) : PA10 = 連動(ii) : Exit For Else PA10 = "" End If Next 合約報價總表_最後一筆資料() SQL_合約報價總表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If SQL_合約報價總表_新增資料() Next : Set_合約報價總表() : 報價總表_dgv_自動計算() '-----生成新的合約控制---------------------------------------------------------------------- 合約_dgv.Enabled = False : 合約編號2_tb.Enabled = True : 合約編號3_tb.Enabled = True If 新建_ch.Checked = True Then : 預設資料1() : End If 合約編號_cb.Text = 合約編號_n_cb.Text : 合約編號1_tb.Text = 合約編號1_n_tb.Text : 合約編號2_tb.Text = 合約編號2_n_tb.Text : 合約編號3_tb.Text = 合約編號3_n_tb.Text 存檔_tb.PerformClick() : 複製報價 = False If 改版_ch.Checked = True Then PA = 合約編號_o_cb.Text & "-" & 合約編號1_o_tb.Text & " " & 合約編號2_o_tb.Text & "-" & 合約編號3_o_tb.Text SQL_合約控制表讀取() If dr.Read Then PA1 = dr("報價說明").ToString : PA11 = dr("驗收開始日期").ToString : PA12 = dr("驗收完成日期").ToString PA14 = dr("驗收備註").ToString : PA16 = dr("保固地址").ToString : PA18 = dr("結案備註").ToString PA19 = dr("工程主管").ToString : PA20 = dr("工地驗收備註").ToString : PA32 = dr("簽回檔圖庫").ToString If dr("追加減").ToString = "" Then : PA2 = "0" : Else : PA2 = dr("追加減").ToString : End If If dr("結算金額").ToString = "" Then : PA3 = "0" : Else : PA3 = dr("結算金額").ToString : End If If dr("已請款").ToString = "" Then : PA4 = "0" : Else : PA4 = dr("已請款").ToString : End If If dr("剩餘款").ToString = "" Then : PA5 = "0" : Else : PA5 = dr("剩餘款").ToString : End If If dr("預付款").ToString = "" Then : PA6 = "0" : Else : PA6 = dr("預付款").ToString : End If If dr("到貨款").ToString = "" Then : PA7 = "0" : Else : PA7 = dr("到貨款").ToString : End If If dr("施工款").ToString = "" Then : PA8 = "0" : Else : PA8 = dr("施工款").ToString : End If If dr("驗收款").ToString = "" Then : PA9 = "0" : Else : PA9 = dr("驗收款").ToString : End If If dr("保留款").ToString = "" Then : PA10 = "0" : Else : PA10 = dr("保留款").ToString : End If If dr("保固期限").ToString = "" Then : PA15 = "0" : Else : PA15 = dr("保固期限").ToString : End If If dr("預估工資成本").ToString = "" Then : PA21 = "0" : Else : PA21 = dr("預估工資成本").ToString : End If If dr("預估工資報價").ToString = "" Then : PA22 = "0" : Else : PA22 = dr("預估工資報價").ToString : End If If dr("工資利潤比").ToString = "" Then : PA23 = "0" : Else : PA23 = dr("工資利潤比").ToString : End If If dr("預估材料成本").ToString = "" Then : PA24 = "0" : Else : PA24 = dr("預估材料成本").ToString : End If If dr("預估材料報價").ToString = "" Then : PA25 = "0" : Else : PA25 = dr("預估材料報價").ToString : End If If dr("材料利潤比").ToString = "" Then : PA26 = "0" : Else : PA26 = dr("材料利潤比").ToString : End If If dr("總成本").ToString = "" Then : PA27 = "0" : Else : PA27 = dr("總成本").ToString : End If If dr("總報價").ToString = "" Then : PA28 = "0" : Else : PA28 = dr("總報價").ToString : End If If dr("利潤比1").ToString = "" Then : PA29 = "0" : Else : PA29 = dr("利潤比1").ToString : End If If dr("利潤比2").ToString = "" Then : PA30 = "0" : Else : PA30 = dr("利潤比2").ToString : End If If dr("預估利潤").ToString = "" Then : PA31 = "0" : Else : PA31 = dr("預估利潤").ToString : End If If IsDBNull(dr("驗收結果")) = True Then : PA13 = "False" : Else : PA13 = dr("驗收結果") : End If If IsDBNull(dr("合約停止")) = True Then : PA17 = "False" : Else : PA17 = dr("合約停止") : End If If IsDBNull(dr("報價簽回")) = True Then : PA33 = "False" : Else : PA33 = dr("報價簽回") : End If If IsDBNull(dr("合約簽回")) = True Then : PA34 = "False" : Else : PA34 = dr("合約簽回") : End If If IsDBNull(dr("請款簽回")) = True Then : PA35 = "False" : Else : PA35 = dr("請款簽回") : End If If IsDBNull(dr("驗收簽回")) = True Then : PA36 = "False" : Else : PA36 = dr("驗收簽回") : End If If IsDBNull(dr("保固簽回")) = True Then : PA37 = "False" : Else : PA37 = dr("保固簽回") : End If If IsDBNull(dr("報價放行")) = True Then : PA38 = "False" : Else : PA38 = dr("報價放行") : End If If IsDBNull(dr("其他文件")) = True Then : PA39 = "False" : Else : PA39 = dr("其他文件") : End If End If PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約控制表_改版修正() End If PA = "" : 視窗4_pl.Visible = False : MGB(系統語言字典("H102-152-" & 語言), 1) : Set_合約清單() End If End If End If End If End If End If End Sub Private Sub 合約編號2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號2_cb.SelectedIndexChanged SQL6 = "" : Set_合約清單1() End Sub Private Sub 合約編號2_cb_Click(sender As Object, e As EventArgs) Handles 合約編號2_cb.Click CB選擇清單(合約編號2_cb, 合約編號2_cb.Text) End Sub Private Sub 甲方_cb_Click(sender As Object, e As EventArgs) Handles 甲方_cb.Click CB選擇清單(甲方_cb, 甲方_cb.Text) End Sub Private Sub 查詢1_bt_Click(sender As Object, e As EventArgs) Handles 查詢1_bt.Click MGB(系統語言字典("H115-118-" & 語言), 1) End Sub Private Sub 預估利潤計算_bt_Click(sender As Object, e As EventArgs) Handles 預估利潤計算_bt.Click INB(系統語言字典("H102-154-" & 語言)) : PA50 = 訊息回應 : 報價明細表_dgv_自動計算() : 預估利潤存檔() : PA50 = "" End Sub '----------------------自創視窗滑鼠拖曳功能--------------------------------------------------------------------------------------------------------- Dim OldX, OldY As Long : Dim drag As Boolean Private Sub CanceL2_bt_Click(sender As Object, e As EventArgs) Handles CanceL2_bt.Click If 視窗2_pl.Visible = False Then : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() : Else 視窗2_pl.Visible = False : End If End Sub Private Sub CanceL3_bt_Click(sender As Object, e As EventArgs) Handles CanceL3_bt.Click If 視窗3_pl.Visible = False Then : 視窗3_pl.Visible = True : 視窗3_pl.BringToFront() : Else 視窗3_pl.Visible = False : End If End Sub Private Sub CanceL4_bt_Click(sender As Object, e As EventArgs) Handles CanceL4_bt.Click If 視窗4_pl.Visible = False Then : 視窗4_pl.Visible = True : 視窗4_pl.BringToFront() : Else 視窗4_pl.Visible = False : End If End Sub Private Sub CanceL5_bt_Click(sender As Object, e As EventArgs) Handles CanceL5_bt.Click If 式算明細表_P.Visible = False Then : 式算明細表_P.Visible = True : 式算明細表_P.BringToFront() : Else 式算明細表_P.Visible = False : End If End Sub Private Sub CanceL6_bt_Click(sender As Object, e As EventArgs) Handles CanceL6_bt.Click If 物料工資計算式_P.Visible = False Then : 物料工資計算式_P.Visible = True : 物料工資計算式_P.BringToFront() : Else 物料工資計算式_P.Visible = False : End If End Sub Private Sub 視窗2_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 視窗2_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseMove If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If End Sub Private Sub 視窗2_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseUp drag = False End Sub Private Sub 視窗3_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 視窗3_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseMove If drag Then : 視窗3_pl.Left = 視窗3_pl.Left + e.X - OldX : 視窗3_pl.Top = 視窗3_pl.Top + e.Y - OldY : End If End Sub Private Sub 視窗3_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseUp drag = False End Sub Private Sub 視窗4_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 視窗4_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseMove If drag Then : 視窗4_pl.Left = 視窗4_pl.Left + e.X - OldX : 視窗4_pl.Top = 視窗4_pl.Top + e.Y - OldY : End If End Sub Private Sub 視窗4_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseUp drag = False End Sub Private Sub 式算明細表_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 式算明細表_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseMove If drag Then : 式算明細表_P.Left = 式算明細表_P.Left + e.X - OldX : 式算明細表_P.Top = 式算明細表_P.Top + e.Y - OldY : End If End Sub Private Sub 式算明細表_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseUp drag = False End Sub Private Sub 物料工資計算式_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 物料工資計算式_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseMove If drag Then : 物料工資計算式_P.Left = 物料工資計算式_P.Left + e.X - OldX : 物料工資計算式_P.Top = 物料工資計算式_P.Top + e.Y - OldY : End If End Sub Private Sub 物料工資計算式_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseUp drag = False End Sub Private Sub 物料工資計算式_lb_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseDown If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If End Sub Private Sub 物料工資計算式_lb_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseMove If drag Then : 物料工資計算式_P.Left = 物料工資計算式_P.Left + e.X - OldX : 物料工資計算式_P.Top = 物料工資計算式_P.Top + e.Y - OldY : End If End Sub Private Sub 物料工資計算式_lb_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseUp drag = False End Sub Private Sub 帶上歷史單價1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 帶上歷史單價1_ch.CheckedChanged 帶上歷史單價_ch.Checked = 帶上歷史單價1_ch.Checked Dim CCC1 As Boolean = 帶上歷史單價1_ch.Checked Dim CCC2 As Boolean = 帶上歷史單價_ch.Checked End Sub Private Sub 合約編號1_n_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_n_tb.TextChanged 合約編號1_n_tb.Text = 合約編號1_n_tb.Text.ToUpper End Sub Private Sub 合約編號1_o_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_o_tb.TextChanged 合約編號1_o_tb.Text = 合約編號1_o_tb.Text.ToUpper End Sub Private Sub 切換_ts_ValueChanged(sender As Object, e As EventArgs) Handles 切換_ts.ValueChanged If 切換_ts.Value = True Then : 新式_P.Visible = True : Else : 新式_P.Visible = False : End If End Sub Private Sub 待送報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 待送報價_ch.Click 待送報價_ch.Checked = True : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單() End Sub Private Sub 待審報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 待審報價_ch.Click 待送報價_ch.Checked = False : 待審報價_ch.Checked = True : 報價放行_ch.Checked = False 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單() End Sub Private Sub 報價放行_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 報價放行_ch.Click 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = True 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單() End Sub Private Sub 作廢報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢報價_ch.Click 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False 作廢報價_ch.Checked = True : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單() End Sub Private Sub 報價簽回_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 報價簽回_ch.Click 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = True : 合約簽回_ch.Checked = False : Set_合約清單() End Sub Private Sub 合約簽回_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 合約簽回_ch.Click 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = True : Set_合約清單() End Sub Private Sub 重新讀取_bt_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click Set_BOM表控制() End Sub Private Sub 回首頁_bt_Click(sender As Object, e As EventArgs) Handles 回首頁_bt.Click 主頁_p.BringToFront() End Sub Private Sub 回次頁_bt_Click(sender As Object, e As EventArgs) Handles 回次頁_bt.Click If 頁面 = "1" Then : 主頁_p.BringToFront() ElseIf 頁面 = "2" Then : 次頁_p.BringToFront() Else : 主頁_p.BringToFront() : End If End Sub '----------------------------------------------------------------------------------------------------------------------------------------------------------- '---------------------BOM表讀取----------------------------------------------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub Set_BOM表控制() Dim ds6 As New DataSet : BOM表控制_dgv.DataSource = Nothing : ds6.Clear() BOM表控制_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing BOM表控制_dgv.ColumnHeadersHeight = 25 : BOM表控制_dgv.AllowUserToAddRows = False : BOM表控制_dgv.RowTemplate.Height = 45 Dim 群組碼 As String If 群組碼_cb.Text = "%%" Then 群組碼 = " WHERE (群組碼 IS NULL) OR (群組碼 LIKE N'%%') " Else 群組碼 = " WHERE (群組碼 LIKE N'" & 群組碼_cb.Text & "') " End If SQL_BOM表控制1(群組碼) da.Fill(ds6) : BOM表控制_dgv.DataSource = ds6.Tables(0) : conn.Close() BOM表控制_dgv.Columns(0).FillWeight = 15 : BOM表控制_dgv.Columns(1).FillWeight = 100 : BOM表控制_dgv.Columns(2).Visible = False BOM表控制_dgv.Columns(0).ReadOnly = True : BOM表控制_dgv.Columns(1).ReadOnly = True For i As Integer = 0 To BOM表控制_dgv.Rows.Count - 1 : BOM表控制_dgv.Rows(i).Cells("項次").Value = i + 1 : Next End Sub Private Sub BOM表控制_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles BOM表控制_dgv.CellClick If e.RowIndex = -1 Then : Else 主項目_tb.Text = BOM表控制_dgv.Rows(e.RowIndex).Cells("項目").Value.ToString : 項目流水_tb.Text = BOM表控制_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString PA = 項目流水_tb.Text : Set_BOM表明細() End If End Sub Private Sub BOM表明細_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles BOM表明細_dgv.CellClick If e.RowIndex = -1 Then : Else If BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = False Then BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = True If 深色風格 = False Then : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightGreen Else : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkGreen : End If Else BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = False If 深色風格 = False Then : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White Else : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black : End If End If 物料圖1_pb.Image = Nothing If BOM表明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString = "" Then : Else PA2 = BOM表明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte()) Dim oStream As New MemoryStream(bytes) 物料圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 物料圖1_pb.SizeMode = 4 End If End If End Sub Private Sub Set_BOM表明細() Dim ds6 As New DataSet BOM表明細_dgv.DataSource = Nothing : ds6.Clear() BOM表明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing BOM表明細_dgv.ColumnHeadersHeight = 25 : BOM表明細_dgv.AllowUserToAddRows = False : BOM表明細_dgv.RowTemplate.Height = 45 SQL_BOM表明細1() da.Fill(ds6) : BOM表明細_dgv.DataSource = ds6.Tables(0) : conn.Close() BOM表明細_dgv.Columns(0).FillWeight = 30 : BOM表明細_dgv.Columns(0).Visible = False : BOM表明細_dgv.Columns(1).FillWeight = 30 BOM表明細_dgv.Columns(2).FillWeight = 250 : BOM表明細_dgv.Columns(3).FillWeight = 30 : BOM表明細_dgv.Columns(4).FillWeight = 30 BOM表明細_dgv.Columns(5).Visible = False : BOM表明細_dgv.Columns(6).Visible = False : BOM表明細_dgv.Columns(35).FillWeight = 30 BOM表明細_dgv.Columns(36).Visible = False For i As Integer = 7 To 34 : BOM表明細_dgv.Columns(i).Visible = False : Next BOM表明細_dgv.Columns(表頭(5)).DefaultCellStyle.Format = "#,##0" BOM表明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter BOM表明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter For i As Integer = 0 To 5 : BOM表明細_dgv.Columns(i).ReadOnly = True : Next For i As Integer = 3 To 4 : BOM表明細_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : Next For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1 BOM表明細_dgv.Rows(i).Cells(35).Value = False : BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value = i + 1 BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value = BOM表明細_dgv.Rows(i).Cells(36).Value * 計算基數_nud.Value If BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString <> "" Then Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = "" If 詳細資料1_ch.Checked = True Then If BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then ZA1 = BOM表明細_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If If BOM表明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then ZA2 = BOM表明細_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A2").Value If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then ZA3 = BOM表明細_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A3").Value If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then ZA4 = BOM表明細_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A4").Value If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then ZA5 = BOM表明細_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A5").Value If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then ZA6 = BOM表明細_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A6").Value If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then ZA7 = BOM表明細_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A7").Value If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then ZA8 = BOM表明細_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A8").Value If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If Else If BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then ZA1 = BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If If BOM表明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then ZA2 = BOM表明細_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then ZA3 = BOM表明細_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then ZA4 = BOM表明細_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then ZA5 = BOM表明細_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then ZA6 = BOM表明細_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then ZA7 = BOM表明細_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If If BOM表明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then ZA8 = BOM表明細_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If End If If BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString <> "" Then BOM表明細_dgv.Rows(i).Cells(表頭(3)).Value = BOM表明細_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格 End If End If Next End Sub Private Sub 計算基數_nud_ValueChanged(sender As Object, e As EventArgs) Handles 計算基數_nud.ValueChanged For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1 BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value = BOM表明細_dgv.Rows(i).Cells(36).Value * 計算基數_nud.Value Next End Sub Private Sub BOM新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles BOM新增到明細表_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Exit Sub : Else PA = 合約編號_tb.Text If 是否帶入主項目_ch.Checked = True Then If ITEM4_cb.Text = "" Then : MGB(系統語言字典("H102-134-" & 語言), 1) : Exit Sub : Else If 主項目_tb.Text = "" Then : MGB(系統語言字典("H102-135-" & 語言), 1) : Exit Sub : Else PA2 = ITEM4_cb.Text : PA3 = 主項目_tb.Text : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" PA12 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False BL7 = False : BL8 = False : BL9 = True 合約報價明細表_最後一筆資料() If 選擇項1_tb.Text = "" Then : SQL_合約報價明細表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close() NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else : PA1 = 選擇項2_tb.Text & "-00" : End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料() End If End If End If 報價明細表存檔() For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1 If BOM表明細_dgv.Rows(i).Cells(35).Value = True Then PA2 = BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString : PA3 = BOM表明細_dgv.Rows(i).Cells(表頭(3)).Value.ToString PA4 = BOM表明細_dgv.Rows(i).Cells(表頭(4)).Value.ToString : PA5 = BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value.ToString : PA6 = "0" : PA7 = "0" : PA8 = "" PA10 = BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value.ToString : PA11 = "" : PA12 = "" : PA14 = "" : PA15 = BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString 合約報價明細表_最後一筆資料() If 選擇項1_tb.Text = "" Then SQL_合約報價明細表_最後一筆排序() If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close() NUM1 = Double.Parse(PA1) + 1 If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If Else If CInt(BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString) < 10 Then PA1 = 選擇項2_tb.Text & "-0" & BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString ElseIf CInt(BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString) > 9 Then PA1 = 選擇項2_tb.Text & "-" & BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString End If End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料() End If Next : Set_合約報價明細表() : 重新排序() : 報價明細表存檔() End If End Sub '----------------------------------------------------------------------------------------------------------------------------------------------------------- '---------------------物料資料庫---------------------------------------------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 物料規格_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料規格_dgv.CellClick If e.RowIndex = -1 Then : Else 料號_tb.Text = 物料規格_dgv.Rows(e.RowIndex).Cells("Nomor_Bagian").Value.ToString PA47 = 料號_tb.Text : SQL_採購單價查詢() If dr.Read Then : 最後採購日_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2) 歷史單價_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0") : Else : 最後採購日_tb.Text = "" : 歷史單價_tb.Text = "0" End If End If End Sub Private Sub 物料規格1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料規格1_dgv.CellClick If e.RowIndex = -1 Then : Else 料號_tb.Text = 物料規格1_dgv.Rows(e.RowIndex).Cells("Nomor_Bagian").Value.ToString PA47 = 料號_tb.Text : SQL_採購單價查詢() If dr.Read Then 最後採購日_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2) 歷史單價_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0") 最後採購日1_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2) 歷史單價1_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0") Else 最後採購日_tb.Text = "" : 歷史單價_tb.Text = "0" : 最後採購日1_tb.Text = "" : 歷史單價1_tb.Text = "0" End If End If End Sub Private Sub Set_DGV1載入前設定() 物料清單_dgv.DataSource = Nothing : ds4.Clear() 物料清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 物料清單_dgv.ColumnHeadersHeight = 25 : 物料清單_dgv.AllowUserToAddRows = False If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 物料清單_dgv.RowTemplate.Height = 65 ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 物料清單_dgv.RowTemplate.Height = 45 ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 物料清單_dgv.RowTemplate.Height = 25 : End If : ConnOpen() End Sub Private Sub Set_清單1_1() Dim ds4 As New DataSet : 物料清單1_dgv.DataSource = Nothing : ds4.Clear() 物料清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 物料清單1_dgv.ColumnHeadersHeight = 25 : 物料清單1_dgv.AllowUserToAddRows = False : 物料清單1_dgv.RowTemplate.Height = 45 ConnOpen() : SQL_建築物料請購單申請_物料清單一() : CmdSet_For_DGV() da.Fill(ds4) : 物料清單1_dgv.DataSource = ds4.Tables(0) : conn.Close() 物料清單1_dgv.Columns(0).FillWeight = 20 : 物料清單1_dgv.Columns(1).Visible = False : 物料清單1_dgv.Columns(2).FillWeight = 175 物料清單1_dgv.Columns(4).Visible = False : 物料清單1_dgv.Columns(5).FillWeight = 45 : 物料清單1_dgv.Columns(3).Visible = False 物料清單1_dgv.Columns(0).ReadOnly = True : 物料清單1_dgv.Columns(1).ReadOnly = True : 物料清單1_dgv.Columns(2).ReadOnly = True For i As Integer = 0 To 物料清單1_dgv.Rows.Count - 1 物料清單1_dgv(0, i).Value = i + 1 Next If 低網速模式 = False Then 物料清單1_dgv.Columns(6).FillWeight = 50 : 物料清單1_dgv.Columns(6).Visible = True Dim mycol As DataGridViewImageColumn = 物料清單1_dgv.Columns("圖檔") : mycol.ImageLayout = DataGridViewImageCellLayout.Zoom Else : If 物料清單1_dgv.Columns.Count = 7 Then : 物料清單1_dgv.Columns(6).Visible = False : End If : End If End Sub Private Sub Set_DG1載入後設定() CmdSet_For_DGV() : da.Fill(ds4) : 物料清單_dgv.DataSource = ds4.Tables(0) : conn.Close() 物料清單_dgv.Columns(0).Visible = False : 物料清單_dgv.Columns(1).FillWeight = 80 : 物料清單_dgv.Columns(2).FillWeight = 175 : 物料清單_dgv.Columns(3).Visible = False 物料清單_dgv.Columns(4).Visible = False : 物料清單_dgv.Columns(5).FillWeight = 45 物料清單_dgv.Columns(0).ReadOnly = True : 物料清單_dgv.Columns(1).ReadOnly = True : 物料清單_dgv.Columns(2).ReadOnly = True For i As Integer = 0 To 物料清單_dgv.Rows.Count - 1 : 物料清單_dgv(0, i).Value = i + 1 : Next If 低網速模式 = False Then 物料清單_dgv.Columns(6).FillWeight = 50 : 物料清單_dgv.Columns(6).Visible = True Dim mycol As DataGridViewImageColumn = 物料清單_dgv.Columns("圖檔") : mycol.ImageLayout = DataGridViewImageCellLayout.Zoom Else : If 物料清單_dgv.Columns.Count = 7 Then : 物料清單_dgv.Columns(6).Visible = False : End If : End If End Sub Private Sub Set_清單1() PA1 = 群組碼_tb.Text : Set_DGV1載入前設定() : SQL_合約試算分表_物料清單一() : Set_DG1載入後設定() End Sub Private Sub 搜尋_bt_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click INB(系統語言字典("H402-123-" & 語言)) : PA = 訊息回應 If PA = "" Then : Else : Set_DGV1載入前設定() : SQL_建築物料請購單申請_物料清單三() : Set_DG1載入後設定() : End If End Sub Private Sub 物料清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單_dgv.CellClick If e.RowIndex = -1 Then : Else PA = 物料清單_dgv(1, e.RowIndex).Value.ToString PA1 = 物料清單_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 物料清單_dgv.Rows(e.RowIndex).Cells("料號原則").Value SQL_物料圖庫_圖檔讀取() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte()) Dim oStream As New MemoryStream(bytes) 物料圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 物料圖1_pb.SizeMode = 4 SQL_建築物料請購單申請_物料規格讀取() If dr.Read() Then : KKK2 = dr("規格庫編號") : PA3 = dr("規格庫抬頭指定") : PA4 = dr("群組碼") : End If : conn.Close() SQL_規格庫抬頭讀取() If dr.Read() Then : AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8") : End If conn.Close() Dim ds3 As New DataSet 物料規格_dgv.DataSource = Nothing : ds3.Clear() 物料規格_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 物料規格_dgv.ColumnHeadersHeight = 25 : 物料規格_dgv.AllowUserToAddRows = False : 物料規格_dgv.RowTemplate.Height = 20 If KKK2 = "SQLB03" Then : SQL_物料規格_SQLB03() : ElseIf KKK2 = "SQLB04" Then : SQL_物料規格_SQLB04() : ElseIf KKK2 = "SQLB05" Then : SQL_物料規格_SQLB05() ElseIf KKK2 = "SQLB06" Then : SQL_物料規格_SQLB06() : ElseIf KKK2 = "SQLB07" Then : SQL_物料規格_SQLB07() : ElseIf KKK2 = "SQLB08" Then : SQL_物料規格_SQLB08() : End If da.Fill(ds3) : 物料規格_dgv.DataSource = ds3.Tables(0) : conn.Close() 物料規格_dgv.Columns(0).Visible = False : 物料規格_dgv.Columns(1).Visible = False : 物料規格_dgv.Columns(3).Visible = False 物料規格_dgv.Columns(2).Width = 17 : 物料規格_dgv.Columns(12).Visible = False : 物料規格_dgv.Columns(13).Visible = False : 物料規格_dgv.Columns(14).Visible = False 物料規格_dgv.Columns(15).Visible = False If KKK2 = "SQLB03" Then 物料規格_dgv.Columns(7).Visible = False : 物料規格_dgv.Columns(8).Visible = False : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False 物料規格_dgv.Columns(11).Visible = False 物料規格_dgv.Columns(4).FillWeight = 213 : 物料規格_dgv.Columns(5).FillWeight = 213 : 物料規格_dgv.Columns(6).FillWeight = 214 ElseIf KKK2 = "SQLB04" Then 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = False : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False 物料規格_dgv.Columns(11).Visible = False 物料規格_dgv.Columns(4).FillWeight = 160 : 物料規格_dgv.Columns(5).FillWeight = 160 : 物料規格_dgv.Columns(6).FillWeight = 160 : 物料規格_dgv.Columns(7).FillWeight = 160 ElseIf KKK2 = "SQLB05" Then 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False 物料規格_dgv.Columns(11).Visible = False 物料規格_dgv.Columns(4).FillWeight = 128 : 物料規格_dgv.Columns(5).FillWeight = 128 : 物料規格_dgv.Columns(6).FillWeight = 128 : 物料規格_dgv.Columns(7).FillWeight = 128 物料規格_dgv.Columns(8).FillWeight = 128 ElseIf KKK2 = "SQLB06" Then 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = False 物料規格_dgv.Columns(11).Visible = False 物料規格_dgv.Columns(4).FillWeight = 106 : 物料規格_dgv.Columns(5).FillWeight = 107 : 物料規格_dgv.Columns(6).FillWeight = 106 : 物料規格_dgv.Columns(7).FillWeight = 107 物料規格_dgv.Columns(8).FillWeight = 106 : 物料規格_dgv.Columns(9).FillWeight = 108 ElseIf KKK2 = "SQLB07" Then 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = True 物料規格_dgv.Columns(11).Visible = False 物料規格_dgv.Columns(4).FillWeight = 91 : 物料規格_dgv.Columns(5).FillWeight = 92 : 物料規格_dgv.Columns(6).FillWeight = 91 : 物料規格_dgv.Columns(7).FillWeight = 92 物料規格_dgv.Columns(8).FillWeight = 91 : 物料規格_dgv.Columns(9).FillWeight = 92 : 物料規格_dgv.Columns(10).FillWeight = 91 ElseIf KKK2 = "SQLB08" Then 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = True 物料規格_dgv.Columns(11).Visible = True 物料規格_dgv.Columns(4).FillWeight = 80 : 物料規格_dgv.Columns(5).FillWeight = 80 : 物料規格_dgv.Columns(6).FillWeight = 80 : 物料規格_dgv.Columns(7).FillWeight = 80 物料規格_dgv.Columns(8).FillWeight = 80 : 物料規格_dgv.Columns(9).FillWeight = 80 : 物料規格_dgv.Columns(10).FillWeight = 80 : 物料規格_dgv.Columns(11).FillWeight = 80 End If 物料規格_dgv.EditMode = DataGridViewEditMode.EditOnEnter For i As Integer = 0 To 11 : 物料規格_dgv.Columns(i).ReadOnly = True : Next For i As Integer = 0 To 物料規格_dgv.Rows.Count - 1 物料規格_dgv.Rows(i).Cells("No").Value = i + 1 : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = 0 If Not IsNumeric(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1) ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格_dgv.Rows(i).Cells("Pilih").Value = True ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0" 物料規格_dgv.Rows(i).Cells("Pilih").Value = False End If Next i End If End Sub Private Sub 物料規格_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 物料規格_dgv.CellEnter For i As Integer = 0 To 物料規格_dgv.Rows.Count - 1 If Not IsNumeric(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1) 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0" : 物料規格_dgv.Rows(i).Cells("Pilih").Value = False ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格_dgv.Rows(i).Cells("Pilih").Value = True ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0" 物料規格_dgv.Rows(i).Cells("Pilih").Value = False End If Next i End Sub Private Sub 物料清單1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單1_dgv.CellClick If e.RowIndex = -1 Then : Else : PA = 物料清單1_dgv(1, e.RowIndex).Value.ToString PA1 = 物料清單1_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 物料清單1_dgv.Rows(e.RowIndex).Cells("料號原則").Value SQL_物料圖庫_圖檔讀取() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte()) Dim oStream As New MemoryStream(bytes) 物料圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 物料圖1_pb.SizeMode = 4 SQL_建築物料請購單申請_物料規格讀取() If dr.Read() Then : KKK2 = dr("規格庫編號") : PA3 = dr("規格庫抬頭指定") : PA4 = dr("群組碼") : End If : conn.Close() SQL_規格庫抬頭讀取() If dr.Read() Then : AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8") : End If conn.Close() Dim ds3 As New DataSet 物料規格1_dgv.DataSource = Nothing : ds3.Clear() 物料規格1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 物料規格1_dgv.ColumnHeadersHeight = 25 : 物料規格1_dgv.AllowUserToAddRows = False : 物料規格1_dgv.RowTemplate.Height = 20 If KKK2 = "SQLB03" Then : SQL_物料規格_SQLB03() : ElseIf KKK2 = "SQLB04" Then : SQL_物料規格_SQLB04() : ElseIf KKK2 = "SQLB05" Then : SQL_物料規格_SQLB05() ElseIf KKK2 = "SQLB06" Then : SQL_物料規格_SQLB06() : ElseIf KKK2 = "SQLB07" Then : SQL_物料規格_SQLB07() : ElseIf KKK2 = "SQLB08" Then : SQL_物料規格_SQLB08() : End If da.Fill(ds3) : 物料規格1_dgv.DataSource = ds3.Tables(0) : conn.Close() 物料規格1_dgv.Columns(0).Visible = False : 物料規格1_dgv.Columns(1).Visible = False : 物料規格1_dgv.Columns(3).Visible = False 物料規格1_dgv.Columns(2).Width = 17 : 物料規格1_dgv.Columns(12).Visible = False : 物料規格1_dgv.Columns(13).Visible = False : 物料規格1_dgv.Columns(14).Visible = False 物料規格1_dgv.Columns(15).Visible = False If KKK2 = "SQLB03" Then 物料規格1_dgv.Columns(7).Visible = False : 物料規格1_dgv.Columns(8).Visible = False : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False 物料規格1_dgv.Columns(11).Visible = False 物料規格1_dgv.Columns(4).FillWeight = 213 : 物料規格1_dgv.Columns(5).FillWeight = 213 : 物料規格1_dgv.Columns(6).FillWeight = 214 ElseIf KKK2 = "SQLB04" Then 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = False : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False 物料規格1_dgv.Columns(11).Visible = False 物料規格1_dgv.Columns(4).FillWeight = 160 : 物料規格1_dgv.Columns(5).FillWeight = 160 : 物料規格1_dgv.Columns(6).FillWeight = 160 : 物料規格1_dgv.Columns(7).FillWeight = 160 ElseIf KKK2 = "SQLB05" Then 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False 物料規格1_dgv.Columns(11).Visible = False 物料規格1_dgv.Columns(4).FillWeight = 128 : 物料規格1_dgv.Columns(5).FillWeight = 128 : 物料規格1_dgv.Columns(6).FillWeight = 128 : 物料規格1_dgv.Columns(7).FillWeight = 128 物料規格1_dgv.Columns(8).FillWeight = 128 ElseIf KKK2 = "SQLB06" Then 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = False 物料規格1_dgv.Columns(11).Visible = False 物料規格1_dgv.Columns(4).FillWeight = 106 : 物料規格1_dgv.Columns(5).FillWeight = 107 : 物料規格1_dgv.Columns(6).FillWeight = 106 : 物料規格1_dgv.Columns(7).FillWeight = 107 物料規格1_dgv.Columns(8).FillWeight = 106 : 物料規格1_dgv.Columns(9).FillWeight = 108 ElseIf KKK2 = "SQLB07" Then 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = True 物料規格1_dgv.Columns(11).Visible = False 物料規格1_dgv.Columns(4).FillWeight = 91 : 物料規格1_dgv.Columns(5).FillWeight = 92 : 物料規格1_dgv.Columns(6).FillWeight = 91 : 物料規格1_dgv.Columns(7).FillWeight = 92 物料規格1_dgv.Columns(8).FillWeight = 91 : 物料規格1_dgv.Columns(9).FillWeight = 92 : 物料規格1_dgv.Columns(10).FillWeight = 91 ElseIf KKK2 = "SQLB08" Then 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = True 物料規格1_dgv.Columns(11).Visible = True 物料規格1_dgv.Columns(4).FillWeight = 80 : 物料規格1_dgv.Columns(5).FillWeight = 80 : 物料規格1_dgv.Columns(6).FillWeight = 80 : 物料規格1_dgv.Columns(7).FillWeight = 80 物料規格1_dgv.Columns(8).FillWeight = 80 : 物料規格1_dgv.Columns(9).FillWeight = 80 : 物料規格1_dgv.Columns(10).FillWeight = 80 : 物料規格1_dgv.Columns(11).FillWeight = 80 End If 物料規格1_dgv.EditMode = DataGridViewEditMode.EditOnEnter For i As Integer = 0 To 11 : 物料規格1_dgv.Columns(i).ReadOnly = True : Next For i As Integer = 0 To 物料規格1_dgv.Rows.Count - 1 物料規格1_dgv.Rows(i).Cells("No").Value = i + 1 : 物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value = 0 If Not IsNumeric(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1) ElseIf Val(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格1_dgv.Rows(i).Cells("Pilih").Value = True ElseIf Val(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0" 物料規格1_dgv.Rows(i).Cells("Pilih").Value = False End If Next i End If End Sub Private Sub 小間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click 小間距_ch.Checked = True : 中間距_ch.Checked = False : 中間距_ch.Checked = False : Set_清單1() End Sub Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click 小間距_ch.Checked = False : 中間距_ch.Checked = True : 中間距_ch.Checked = False : Set_清單1() End Sub Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click 小間距_ch.Checked = False : 中間距_ch.Checked = False : 中間距_ch.Checked = True : Set_清單1() End Sub Private Sub Set_群組清單() Dim ds1 As New DataSet : 群組分類_dgv.DataSource = Nothing : ds1.Clear() 群組分類_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 群組分類_dgv.ColumnHeadersHeight = 25 : 群組分類_dgv.AllowUserToAddRows = False : 群組分類_dgv.RowTemplate.Height = 45 SQL_物料群組() da.Fill(ds1) : 群組分類_dgv.DataSource = ds1.Tables(0) : conn.Close() 次項變形() End Sub Private Sub 次項變形() For i As Integer = 1 To 21 : Dim 選擇 As Panel = CType(Me.Controls.Find("AP" & i, True)(0), Panel) : 選擇.Visible = False : Next Dim SS As Integer If 群組分類_dgv.Rows.Count > 21 Then : SS = 21 : Else : SS = 群組分類_dgv.Rows.Count : End If For i As Integer = 1 To SS : Dim 選擇 As Panel = CType(Me.Controls.Find("AP" & i, True)(0), Panel) : 選擇.Visible = True : Next Dim 轉檔 As Boolean For i As Integer = 0 To 群組分類_dgv.Rows.Count - 1 Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB_" & i + 1, True)(0), PictureBox) If IsDBNull(群組分類_dgv.Rows(i).Cells(2).Value) = True Then : 轉檔 = False : Else : 轉檔 = True : End If While 轉檔 = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(群組分類_dgv.Rows(i).Cells(2).Value, Byte()) Dim oStream As New MemoryStream(bytes) 選擇.Image = Bitmap.FromStream(oStream) : 轉檔 = False End While : conn.Close() : 選擇.SizeMode = 4 Dim 選擇1 As System.Windows.Forms.TextBox = CType(Me.Controls.Find("TB_" & i + 1, True)(0), System.Windows.Forms.TextBox) 選擇1.Text = 群組分類_dgv.Rows(i).Cells(1).Value.ToString '---------未做換頁計算--------------------------------------------- 群組碼(i + 1) = 群組分類_dgv.Rows(i).Cells(0).Value.ToString Next End Sub Private Sub 管材_bt_Click(sender As Object, e As EventArgs) Handles 管材_bt.Click 頁面 = "1" : PA1 = "管材" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 電線_bt_Click(sender As Object, e As EventArgs) Handles 電線_bt.Click 頁面 = "1" : PA1 = "電線" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 電料_bt_Click(sender As Object, e As EventArgs) Handles 電料_bt.Click 頁面 = "1" : PA1 = "電料" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 槽架_bt_Click(sender As Object, e As EventArgs) Handles 槽架_bt.Click 頁面 = "1" : PA1 = "槽架" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 建材_bt_Click(sender As Object, e As EventArgs) Handles 建材_bt.Click 頁面 = "1" : PA1 = "建材" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 五金_bt_Click(sender As Object, e As EventArgs) Handles 五金_bt.Click 頁面 = "1" : PA1 = "五金" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 設備_bt_Click(sender As Object, e As EventArgs) Handles 設備_bt.Click 頁面 = "1" : PA1 = "設備" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 工具_bt_Click(sender As Object, e As EventArgs) Handles 工具_bt.Click 頁面 = "1" : PA1 = "工具" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 日用_bt_Click(sender As Object, e As EventArgs) Handles 日用_bt.Click 頁面 = "1" : PA1 = "日用" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub 其他_bt_Click(sender As Object, e As EventArgs) Handles 其他_bt.Click 頁面 = "1" : PA1 = "其他" : Set_群組清單() : 次頁_p.BringToFront() End Sub Private Sub PB_1_Click(sender As Object, e As EventArgs) Handles PB_1.Click 頁面 = "2" : PA1 = 群組碼(1) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_2_Click(sender As Object, e As EventArgs) Handles PB_2.Click 頁面 = "2" : PA1 = 群組碼(2) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_3_Click(sender As Object, e As EventArgs) Handles PB_3.Click 頁面 = "2" : PA1 = 群組碼(3) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_4_Click(sender As Object, e As EventArgs) Handles PB_4.Click 頁面 = "2" : PA1 = 群組碼(4) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_5_Click(sender As Object, e As EventArgs) Handles PB_5.Click 頁面 = "2" : PA1 = 群組碼(5) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_6_Click(sender As Object, e As EventArgs) Handles PB_6.Click 頁面 = "2" : PA1 = 群組碼(6) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_7_Click(sender As Object, e As EventArgs) Handles PB_7.Click 頁面 = "2" : PA1 = 群組碼(7) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_8_Click(sender As Object, e As EventArgs) Handles PB_8.Click 頁面 = "2" : PA1 = 群組碼(8) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_9_Click(sender As Object, e As EventArgs) Handles PB_9.Click 頁面 = "2" : PA1 = 群組碼(9) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_10_Click(sender As Object, e As EventArgs) Handles PB_10.Click 頁面 = "2" : PA1 = 群組碼(10) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_11_Click(sender As Object, e As EventArgs) Handles PB_11.Click 頁面 = "2" : PA1 = 群組碼(11) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_12_Click(sender As Object, e As EventArgs) Handles PB_12.Click 頁面 = "2" : PA1 = 群組碼(12) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_13_Click(sender As Object, e As EventArgs) Handles PB_13.Click 頁面 = "2" : PA1 = 群組碼(13) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_14_Click(sender As Object, e As EventArgs) Handles PB_14.Click 頁面 = "2" : PA1 = 群組碼(14) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_15_Click(sender As Object, e As EventArgs) Handles PB_15.Click 頁面 = "2" : PA1 = 群組碼(15) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_16_Click(sender As Object, e As EventArgs) Handles PB_16.Click 頁面 = "2" : PA1 = 群組碼(16) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_17_Click(sender As Object, e As EventArgs) Handles PB_17.Click 頁面 = "2" : PA1 = 群組碼(17) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_18_Click(sender As Object, e As EventArgs) Handles PB_18.Click 頁面 = "2" : PA1 = 群組碼(18) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_19_Click(sender As Object, e As EventArgs) Handles PB_19.Click 頁面 = "2" : PA1 = 群組碼(19) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_20_Click(sender As Object, e As EventArgs) Handles PB_20.Click 頁面 = "2" : PA1 = 群組碼(20) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub PB_21_Click(sender As Object, e As EventArgs) Handles PB_21.Click 頁面 = "2" : PA1 = 群組碼(21) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_1_TextChanged(sender As Object, e As EventArgs) Handles TB_1.Click 頁面 = "2" : PA1 = 群組碼(1) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_2_TextChanged(sender As Object, e As EventArgs) Handles TB_2.Click 頁面 = "2" : PA1 = 群組碼(2) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_3_TextChanged(sender As Object, e As EventArgs) Handles TB_3.Click 頁面 = "2" : PA1 = 群組碼(3) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_4_TextChanged(sender As Object, e As EventArgs) Handles TB_4.Click 頁面 = "2" : PA1 = 群組碼(4) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_5_TextChanged(sender As Object, e As EventArgs) Handles TB_5.Click 頁面 = "2" : PA1 = 群組碼(5) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_6_TextChanged(sender As Object, e As EventArgs) Handles TB_6.Click 頁面 = "2" : PA1 = 群組碼(6) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_7_TextChanged(sender As Object, e As EventArgs) Handles TB_7.Click 頁面 = "2" : PA1 = 群組碼(7) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_8_TextChanged(sender As Object, e As EventArgs) Handles TB_8.Click 頁面 = "2" : PA1 = 群組碼(8) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_9_TextChanged(sender As Object, e As EventArgs) Handles TB_9.Click 頁面 = "2" : PA1 = 群組碼(9) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_10_TextChanged(sender As Object, e As EventArgs) Handles TB_10.Click 頁面 = "2" : PA1 = 群組碼(10) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_11_TextChanged(sender As Object, e As EventArgs) Handles TB_11.Click 頁面 = "2" : PA1 = 群組碼(11) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_12_TextChanged(sender As Object, e As EventArgs) Handles TB_12.Click 頁面 = "2" : PA1 = 群組碼(12) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_13_TextChanged(sender As Object, e As EventArgs) Handles TB_13.Click 頁面 = "2" : PA1 = 群組碼(13) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_14_TextChanged(sender As Object, e As EventArgs) Handles TB_14.Click 頁面 = "2" : PA1 = 群組碼(14) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_15_TextChanged(sender As Object, e As EventArgs) Handles TB_15.Click 頁面 = "2" : PA1 = 群組碼(15) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_16_TextChanged(sender As Object, e As EventArgs) Handles TB_16.Click 頁面 = "2" : PA1 = 群組碼(16) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_17_TextChanged(sender As Object, e As EventArgs) Handles TB_17.Click 頁面 = "2" : PA1 = 群組碼(17) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_18_TextChanged(sender As Object, e As EventArgs) Handles TB_18.Click 頁面 = "2" : PA1 = 群組碼(18) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_19_TextChanged(sender As Object, e As EventArgs) Handles TB_19.Click 頁面 = "2" : PA1 = 群組碼(19) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_20_TextChanged(sender As Object, e As EventArgs) Handles TB_20.Click 頁面 = "2" : PA1 = 群組碼(20) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub TB_21_TextChanged(sender As Object, e As EventArgs) Handles TB_21.Click 頁面 = "2" : PA1 = 群組碼(21) : Set_清單1_1() : 物料清單_P.BringToFront() End Sub Private Sub 回首頁_bt_MouseEnter(sender As Object, e As EventArgs) Handles 回首頁_bt.MouseEnter ToolTip1.SetToolTip(Me.回首頁_bt, 系統語言字典("G000-183-" & 語言)) End Sub Private Sub 回次頁_bt_MouseEnter(sender As Object, e As EventArgs) Handles 回次頁_bt.MouseEnter ToolTip1.SetToolTip(Me.回次頁_bt, 系統語言字典("G000-184-" & 語言)) End Sub Private Sub 管材_bt_MouseEnter(sender As Object, e As EventArgs) Handles 管材_bt.MouseEnter ToolTip1.SetToolTip(Me.管材_bt, 系統語言字典("G000-185-" & 語言)) End Sub Private Sub 電線_bt_MouseEnter(sender As Object, e As EventArgs) Handles 電線_bt.MouseEnter ToolTip1.SetToolTip(Me.電線_bt, 系統語言字典("G000-186-" & 語言)) End Sub Private Sub 電料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 電料_bt.MouseEnter ToolTip1.SetToolTip(Me.電料_bt, 系統語言字典("G000-187-" & 語言)) End Sub Private Sub 槽架_bt_MouseEnter(sender As Object, e As EventArgs) Handles 槽架_bt.MouseEnter ToolTip1.SetToolTip(Me.槽架_bt, 系統語言字典("G000-188-" & 語言)) End Sub Private Sub 建材_bt_MouseEnter(sender As Object, e As EventArgs) Handles 建材_bt.MouseEnter ToolTip1.SetToolTip(Me.建材_bt, 系統語言字典("G000-189-" & 語言)) End Sub Private Sub 五金_bt_MouseEnter(sender As Object, e As EventArgs) Handles 五金_bt.MouseEnter ToolTip1.SetToolTip(Me.五金_bt, 系統語言字典("G000-190-" & 語言)) End Sub Private Sub 設備_bt_MouseEnter(sender As Object, e As EventArgs) Handles 設備_bt.MouseEnter ToolTip1.SetToolTip(Me.設備_bt, 系統語言字典("G000-191-" & 語言)) End Sub Private Sub 群組碼中_cb_Click(sender As Object, e As EventArgs) Handles 群組碼中_cb.Click CB選擇清單(群組碼中_cb, 群組碼中_cb.Text) End Sub Private Sub 群組碼中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組碼中_cb.TextChanged If 系統語言 = "繁體中文" Then 群組碼印_cb.SelectedIndex = 群組碼中_cb.SelectedIndex : 群組碼_cb.SelectedIndex = 群組碼中_cb.SelectedIndex : Set_BOM表控制() End If End Sub Private Sub 群組碼印_cb_Click(sender As Object, e As EventArgs) Handles 群組碼印_cb.Click CB選擇清單(群組碼印_cb, 群組碼印_cb.Text) End Sub Private Sub 群組碼印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組碼印_cb.TextChanged If 系統語言 <> "繁體中文" Then 群組碼中_cb.SelectedIndex = 群組碼印_cb.SelectedIndex : 群組碼_cb.SelectedIndex = 群組碼印_cb.SelectedIndex : Set_BOM表控制() End If End Sub Private Sub 工具_bt_MouseEnter(sender As Object, e As EventArgs) Handles 工具_bt.MouseEnter ToolTip1.SetToolTip(Me.工具_bt, 系統語言字典("G000-192-" & 語言)) End Sub Private Sub 日用_bt_MouseEnter(sender As Object, e As EventArgs) Handles 日用_bt.MouseEnter ToolTip1.SetToolTip(Me.日用_bt, 系統語言字典("G000-193-" & 語言)) End Sub Private Sub 其他_bt_MouseEnter(sender As Object, e As EventArgs) Handles 其他_bt.MouseEnter ToolTip1.SetToolTip(Me.其他_bt, 系統語言字典("G000-194-" & 語言)) End Sub Private Sub 存檔_tb_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_tb.MouseEnter ToolTip1.SetToolTip(Me.存檔_tb, 系統語言字典("H102-155-" & 語言)) End Sub Private Sub 縮放2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 縮放2_bt.MouseEnter ToolTip1.SetToolTip(Me.縮放2_bt, 系統語言字典("G000-198-" & 語言)) End Sub Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter ToolTip1.SetToolTip(Me.查詢_bt, 系統語言字典("G000-113-" & 語言)) End Sub Private Sub 係數存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 係數存檔_bt.MouseEnter ToolTip1.SetToolTip(Me.係數存檔_bt, 系統語言字典("G000-292-" & 語言)) End Sub Private Sub 重新計算_tb_MouseEnter(sender As Object, e As EventArgs) Handles 重新計算_tb.MouseEnter ToolTip1.SetToolTip(Me.重新計算_tb, 系統語言字典("G000-293-" & 語言)) End Sub Private Sub 新增係數_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增係數_bt.MouseEnter ToolTip1.SetToolTip(Me.新增係數_bt, 系統語言字典("G000-294-" & 語言)) End Sub Private Sub 重置_bt_MouseEnter(sender As Object, e As EventArgs) Handles 重置_bt.MouseEnter ToolTip1.SetToolTip(Me.重置_bt, 系統語言字典("G000-295-" & 語言)) End Sub Private Sub 新增物件_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增物件_bt.MouseEnter ToolTip1.SetToolTip(Me.新增物件_bt, 系統語言字典("G000-296-" & 語言)) End Sub Private Sub 修改樓層_迴圈_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改樓層_迴圈_bt.MouseEnter ToolTip1.SetToolTip(Me.修改樓層_迴圈_bt, 系統語言字典("G000-110-" & 語言)) End Sub Private Sub 刪除1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除1_bt.MouseEnter ToolTip1.SetToolTip(Me.刪除1_bt, 系統語言字典("G000-112-" & 語言)) End Sub Private Sub 上移2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 上移2_bt.MouseEnter ToolTip1.SetToolTip(Me.上移2_bt, 系統語言字典("G000-297-" & 語言)) End Sub Private Sub 下移2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 下移2_bt.MouseEnter ToolTip1.SetToolTip(Me.下移2_bt, 系統語言字典("G000-298-" & 語言)) End Sub Private Sub 上移_bt_MouseEnter(sender As Object, e As EventArgs) Handles 上移_bt.MouseEnter ToolTip1.SetToolTip(Me.上移_bt, 系統語言字典("G000-299-" & 語言)) End Sub Private Sub 下移_bt_MouseEnter(sender As Object, e As EventArgs) Handles 下移_bt.MouseEnter ToolTip1.SetToolTip(Me.下移_bt, 系統語言字典("G000-300-" & 語言)) End Sub Private Sub 預估利潤計算_bt_MouseEnter(sender As Object, e As EventArgs) Handles 預估利潤計算_bt.MouseEnter ToolTip1.SetToolTip(Me.預估利潤計算_bt, 系統語言字典("G000-317-" & 語言)) End Sub Private Sub 彙總存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 彙總存檔_bt.MouseEnter ToolTip1.SetToolTip(Me.彙總存檔_bt, 系統語言字典("G000-318-" & 語言)) End Sub Private Sub 查閱文件_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查閱文件_bt.MouseEnter ToolTip1.SetToolTip(Me.查閱文件_bt, 系統語言字典("H110-113-" & 語言)) End Sub Private Sub 合約改版_bt_MouseEnter(sender As Object, e As EventArgs) Handles 合約改版_bt.MouseEnter ToolTip1.SetToolTip(Me.合約改版_bt, 系統語言字典("H102-126-" & 語言)) End Sub Private Sub 刪除合約_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除合約_bt.MouseEnter ToolTip1.SetToolTip(Me.刪除合約_bt, 系統語言字典("H102-125-" & 語言)) End Sub Private Sub 發送_bt_MouseEnter(sender As Object, e As EventArgs) Handles 發送_bt.MouseEnter ToolTip1.SetToolTip(Me.發送_bt, 系統語言字典("G000-234-" & 語言)) End Sub Private Sub 排序1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 排序1_bt.MouseEnter ToolTip1.SetToolTip(Me.排序1_bt, 系統語言字典("H115-104-" & 語言)) End Sub Private Sub 新增資料1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料1_bt.MouseEnter ToolTip1.SetToolTip(Me.新增資料1_bt, 系統語言字典("H115-103-" & 語言)) End Sub Private Sub 總表編輯_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表編輯_bt.MouseEnter ToolTip1.SetToolTip(Me.總表編輯_bt, 系統語言字典("H102-124-" & 語言)) End Sub Private Sub 報價總表存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價總表存檔_bt.MouseEnter ToolTip1.SetToolTip(Me.報價總表存檔_bt, 系統語言字典("H102-123-" & 語言)) End Sub Private Sub 總表選擇刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表選擇刪除_bt.MouseEnter ToolTip1.SetToolTip(Me.總表選擇刪除_bt, 系統語言字典("H102-122-" & 語言)) End Sub Private Sub 列印成EXCEL_bt_MouseEnter(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.MouseEnter ToolTip1.SetToolTip(Me.列印成EXCEL_bt, 系統語言字典("G000-114-" & 語言)) End Sub Private Sub 折價計算_bt_MouseEnter(sender As Object, e As EventArgs) Handles 折價計算_bt.MouseEnter ToolTip1.SetToolTip(Me.折價計算_bt, 系統語言字典("H102-121-" & 語言)) End Sub Private Sub BOM新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles BOM新增到明細表_bt.MouseEnter ToolTip1.SetToolTip(Me.BOM新增到明細表_bt, 系統語言字典("H102-120-" & 語言)) End Sub Private Sub 選取資料新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles 選取資料新增到明細表_bt.MouseEnter ToolTip1.SetToolTip(Me.選取資料新增到明細表_bt, 系統語言字典("H102-119-" & 語言)) End Sub Private Sub 物料_ch_MouseEnter(sender As Object, e As EventArgs) Handles 物料_ch.MouseEnter ToolTip1.SetToolTip(Me.物料_ch, 系統語言字典("H211-106-" & 語言)) End Sub Private Sub BOM_ch_MouseEnter(sender As Object, e As EventArgs) Handles BOM_ch.MouseEnter ToolTip1.SetToolTip(Me.BOM_ch, "BOM") End Sub Private Sub 合約_ch_MouseEnter(sender As Object, e As EventArgs) Handles 合約_ch.MouseEnter ToolTip1.SetToolTip(Me.合約_ch, 系統語言字典("H506-167-" & 語言)) End Sub Private Sub 排序2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 排序2_bt.MouseEnter ToolTip1.SetToolTip(Me.排序2_bt, 系統語言字典("H115-104-" & 語言)) End Sub Private Sub 新增資料2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料2_bt.MouseEnter ToolTip1.SetToolTip(Me.新增資料2_bt, 系統語言字典("H115-103-" & 語言)) End Sub Private Sub 新增資料3_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料3_bt.MouseEnter ToolTip1.SetToolTip(Me.新增資料3_bt, 系統語言字典("H115-103-" & 語言)) End Sub Private Sub 明細表編輯_bt_MouseEnter(sender As Object, e As EventArgs) Handles 明細表編輯_bt.MouseEnter ToolTip1.SetToolTip(Me.明細表編輯_bt, 系統語言字典("H102-118-" & 語言)) End Sub Private Sub 選擇材料新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles 選擇材料新增到明細表_bt.MouseEnter ToolTip1.SetToolTip(Me.選擇材料新增到明細表_bt, 系統語言字典("H115-105-" & 語言)) End Sub Private Sub 修改明細表上的材料指定_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改明細表上的材料指定_bt.MouseEnter ToolTip1.SetToolTip(Me.修改明細表上的材料指定_bt, 系統語言字典("H115-106-" & 語言)) End Sub Private Sub 規格顯示修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 規格顯示修改_bt.MouseEnter ToolTip1.SetToolTip(Me.規格顯示修改_bt, 系統語言字典("H102-117-" & 語言)) End Sub Private Sub 報價明細表存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價明細表存檔_bt.MouseEnter ToolTip1.SetToolTip(Me.報價明細表存檔_bt, 系統語言字典("H102-116-" & 語言)) End Sub Private Sub 報價明細表存檔1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價明細表存檔1_bt.MouseEnter ToolTip1.SetToolTip(Me.報價明細表存檔1_bt, 系統語言字典("H102-116-" & 語言)) End Sub Private Sub 總表選擇刪除1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表選擇刪除1_bt.MouseEnter ToolTip1.SetToolTip(Me.總表選擇刪除1_bt, 系統語言字典("G000-112-" & 語言)) End Sub Private Sub 明細表選擇刪除2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 明細表選擇刪除2_bt.MouseEnter ToolTip1.SetToolTip(Me.明細表選擇刪除2_bt, 系統語言字典("G000-112-" & 語言)) End Sub Private Sub 縮放1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 縮放1_bt.MouseEnter ToolTip1.SetToolTip(Me.縮放1_bt, 系統語言字典("G000-151-" & 語言)) End Sub Private Sub 合約作廢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 合約作廢_bt.MouseEnter ToolTip1.SetToolTip(Me.合約作廢_bt, 系統語言字典("H102-114-" & 語言)) End Sub Private Sub 導入_bt_MouseEnter(sender As Object, e As EventArgs) Handles 導入_bt.MouseEnter ToolTip1.SetToolTip(Me.導入_bt, 系統語言字典("G000-374-" & 語言)) End Sub Private Sub 物料公式存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 物料公式存檔_bt.MouseEnter ToolTip1.SetToolTip(Me.物料公式存檔_bt, 系統語言字典("G000-375-" & 語言)) End Sub '------------------------------------------------------------------------------------------------------------------------------------------ '----------------------列印成excel--------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------ Dim 主頁1 As Boolean Private Sub 列印成EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.Click If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells(85).Value = True Or 報價明細表_dgv.Rows(i).Cells(86).Value = True Then : 工材分離_ch.Checked = True : Exit For : End If Next XN1 = 0 xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application) xlApp.Visible = True : xlApp.DisplayAlerts = True : xlApp.Application.WindowState = xlMaximized : xlBook = xlApp.Workbooks.Add xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : xlApp.Sheets(1).Name = "明細表" xlBook.Activate() : xlSheet.Activate() xlSheet.Cells(2, 1) = "QUOTATION(報價單)" : xlSheet.Cells(3, 7) = "NO : " & 合約編號_tb.Text xlSheet.Cells(3, 1) = "業主名稱 : " & 客戶名稱_tb.Text : xlSheet.Cells(4, 7) = "Date : " & Strings.Format(Today(), "yyyy/MM/dd") xlSheet.Cells(4, 1) = "工程項目 : " & 工程名稱_中_tb.Text & vbCrLf & 工程名稱_英_tb.Text xlSheet.Cells(5, 1) = "ITEM" : xlSheet.Cells(5, 2) = "DESCRIPTION" : xlSheet.Cells(5, 3) = "UNIT" xlSheet.Cells(5, 4) = "Q'TY" : xlSheet.Cells(5, 9) = "REMARKS" If 工材分離_ch.Checked = False Then : xlSheet.Cells(5, 5) = "UNIT PRICE" & vbCrLf & "(RP)" : xlSheet.Cells(5, 7) = "AMOUNT" & vbCrLf & "(RP)" : Else xlSheet.Cells(5, 5) = "工資報價單價" & vbCrLf & "Hrga satuan penawaran gaji" : xlSheet.Cells(5, 6) = "工資報價復價" & vbCrLf & "Total harga upah" xlSheet.Cells(5, 7) = "材料報價單價" & vbCrLf & "Harga satuan kutipan material" : xlSheet.Cells(5, 8) = "材料報價複價" & vbCrLf & "Harga total kuotasi material" End If For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "*" Then : Else xlSheet.Cells(6 + i, 1) = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString() End If xlSheet.Cells(6 + i, 2) = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() xlSheet.Cells(6 + i, 3) = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString() If CLng(報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 4) = "" : Else xlSheet.Cells(6 + i, 4) = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString() : End If xlSheet.Cells(6 + i, 9) = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString() If 工材分離_ch.Checked = False Then If CLng(報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 5) = "" : Else xlSheet.Cells(6 + i, 5) = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() End If If CLng(報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 7) = "" : Else xlSheet.Cells(6 + i, 7) = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString() End If Else If CLng(報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 5) = "" : Else xlSheet.Cells(6 + i, 5) = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString() End If If CLng(報價明細表_dgv.Rows(i).Cells("工資報價後價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 6) = "" : Else xlSheet.Cells(6 + i, 6) = 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value.ToString() End If If CLng(報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 7) = "" : Else xlSheet.Cells(6 + i, 7) = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString() End If If CLng(報價明細表_dgv.Rows(i).Cells("材料報價後價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 8) = "" : Else xlSheet.Cells(6 + i, 8) = 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value.ToString() End If End If XN2 = 6 + i Next AA(xlApp, xlSheet) : 主頁1 = False If 合約編號_cb.Text = "HX" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : FF(xlApp, xlSheet) xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : xlApp.Sheets(1).Name = "報價單" xlBook.Activate() : xlSheet.Activate() xlSheet.Cells(2, 1) = "QUOTATION(報價單)" : xlSheet.Cells(4, 6) = "NO : " & 合約編號_tb.Text xlSheet.Cells(4, 1) = "業主名稱 : " & 客戶名稱_tb.Text : xlSheet.Cells(5, 6) = "Date : " & Strings.Format(Today(), "yyyy/MM/dd") xlSheet.Cells(5, 1) = "工程項目 : " & 工程名稱_中_tb.Text & vbCrLf & 工程名稱_英_tb.Text xlSheet.Cells(6, 1) = "ITEM" : xlSheet.Cells(6, 2) = "DESCRIPTION" : xlSheet.Cells(6, 3) = "UNIT" : xlSheet.Cells(6, 5) = "UNIT PRICE" & vbCrLf & "(RP)" xlSheet.Cells(6, 6) = "AMOUNT" & vbCrLf & "(RP)" : xlSheet.Cells(6, 4) = "Q'TY" : xlSheet.Cells(6, 7) = "REMARKS" Dim 無稅加總 As Long = 0 For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1 If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "@" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "^" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "$" Then : Else xlSheet.Cells(7 + i, 1) = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() End If If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "@" Then xlSheet.Cells(7 + i, 2) = "總計( 含稅 ) Grand Total( Including Tax)" Else xlSheet.Cells(7 + i, 2) = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() End If xlSheet.Cells(7 + i, 3) = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString() If CLng(報價總表_dgv.Rows(i).Cells("QTY").Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 4) = "" : Else xlSheet.Cells(7 + i, 4) = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString() End If If CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 5) = "" : Else xlSheet.Cells(7 + i, 5) = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() End If If CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 6) = "" : Else xlSheet.Cells(7 + i, 6) = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString() End If xlSheet.Cells(7 + i, 7) = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString() : XN1 = 8 + i Next xlSheet.Cells(XN1 + 1, 1) = "報價說明Offer descriptions:" : xlSheet.Cells(XN1 + 2, 1) = 報價說明_tb.Text xlSheet.Cells(XN1 + 3, 1) = "客戶確認 (簽名,蓋章)" : xlSheet.Cells(XN1 + 3, 3) = "核准" : xlSheet.Cells(XN1 + 3, 7) = "經辦人" xlSheet.Cells(XN1 + 4, 1) = "Customer confirmation ( signature ) : " : xlSheet.Cells(XN1 + 4, 3) = "Approved : " : xlSheet.Cells(XN1 + 4, 7) = "Operator:" xlSheet.Cells(XN1 + 5, 7) = gUserName xlSheet.Cells(XN1 + 6, 1) = "_________________________________" : xlSheet.Cells(XN1 + 6, 3) = "_________________________________" xlSheet.Cells(XN1 + 6, 7) = "_______________________" BB(xlApp, xlSheet) : 主頁1 = True If 合約編號_cb.Text = "HX" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : GG(xlApp, xlSheet) xlApp.Sheets(3).Delete : xlSheet.PageSetup.PrintArea = "" '-------------轉換成PDF--------------------------------------------------------------------- Dim SERT As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\" & 合約編號_tb.Text & "_X1.pdf", XlFixedFormatQuality.xlQualityStandard, True) xlBook.Sheets(2).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\" & 合約編號_tb.Text & "_X2.pdf", XlFixedFormatQuality.xlQualityStandard, True) Dim pdf1 As String = SERT & "\" & 合約編號_tb.Text & "_X1.pdf" : Dim pdf2 As String = SERT & "\" & 合約編號_tb.Text & "_X2.pdf" Dim outputPDF As String = SERT & "\" & 合約編號_tb.Text & ".pdf" Dim mergedDocument As New PdfDocument() ' 创建一个新的PDF文档对象 Dim document1 As PdfDocument = PdfReader.Open(pdf1, PdfDocumentOpenMode.Import) ' 打开第一个PDF文件 For Each page As PdfPage In document1.Pages : mergedDocument.AddPage(page) : Next ' 将第一个PDF文件的页面逐一添加到合并文档 Dim document2 As PdfDocument = PdfReader.Open(pdf2, PdfDocumentOpenMode.Import) ' 打开第二个PDF文件 For Each page As PdfPage In document2.Pages : mergedDocument.AddPage(page) : Next ' 将第二个PDF文件的页面逐一添加到合并文档 mergedDocument.Save(outputPDF) ' 保存合并后的PDF文件 document1.Close() : document2.Close() ' 关闭文档对象 File.Delete(SERT & "\" & 合約編號_tb.Text & "_X1.pdf") : File.Delete(SERT & "\" & 合約編號_tb.Text & "_X2.pdf") ' 删除文件1和文件2 '-------------關閉EXCEL--------------------------------------------------------------------- xlApp.Cells.Select() : xlApp.Application.WindowState = xlMinimized xlBook.Close(False) Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect() '-------------開啟PDF--------------------------------------------------------------------- Dim pdfFilePath As String = SERT & "\" & 合約編號_tb.Text & ".pdf" : 工材分離_ch.Checked = False If IsChromeInstalled() Then Try Dim chromeProcess As New Process() chromeProcess.StartInfo.FileName = "chrome" chromeProcess.StartInfo.Arguments = """" & pdfFilePath & """" chromeProcess.Start() : MGB(系統語言字典("H204-134-" & 語言), 1) Catch ex As Exception MGB(系統語言字典("H204-134-" & 語言), 1) End Try Else Try System.Diagnostics.Process.Start("""" & pdfFilePath & """") : MGB(系統語言字典("H204-134-" & 語言), 1) Catch ex As Exception MGB(系統語言字典("H204-134-" & 語言), 1) End Try End If End If End Sub Private Function IsChromeInstalled() As Boolean Dim key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") If key IsNot Nothing Then For Each subkeyName As String In key.GetSubKeyNames() Dim subkey As Microsoft.Win32.RegistryKey = key.OpenSubKey(subkeyName) Dim displayName As Object = subkey.GetValue("DisplayName") If displayName IsNot Nothing AndAlso displayName.ToString().Contains("Google Chrome") Then Return True End If Next End If Return False End Function Private Shared Function NewMethod(xlBook As Workbook) As Worksheet Return CType(xlBook.Worksheets.Add, Worksheet) End Function Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) xlSheet.Cells.Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With xlSheet.Range("A2:I2").Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 120 xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30 : xlSheet.Rows("3:3").Select : myExcel.Selection.RowHeight = 20 xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 35 : xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 65 xlSheet.Rows("6:" & XN2).Select : myExcel.Selection.RowHeight = 35 If 工材分離_ch.Checked = True Then xlSheet.Range("E5:H6").Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 8 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With End If xlSheet.Range("A5:I5").Select() With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 : .TintAndShade = 0.799981688894314 .PatternTintAndShade = 0 : End With xlSheet.Range("A4").Select() With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 6 With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Columns("C:D").Select : myExcel.Selection.ColumnWidth = 6 : xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 40 xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 18.5 If 工材分離_ch.Checked = False Then xlSheet.Columns("G:H").Select : myExcel.Selection.ColumnWidth = 9 : xlSheet.Columns("E:F").Select : myExcel.Selection.ColumnWidth = 9 xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 50 Else xlSheet.Columns("G:H").Select : myExcel.Selection.ColumnWidth = 13 : xlSheet.Columns("E:F").Select : myExcel.Selection.ColumnWidth = 13 xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 50 End If xlSheet.Range("A2:I2").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge xlSheet.Range("A3:F3").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A4:F4").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("G3:I3").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("G4:I4").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With If 工材分離_ch.Checked = False Then xlSheet.Range("E5:F5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge xlSheet.Range("G5:H5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge End If xlSheet.Range("C5:H5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : End With For i As Integer = 6 To XN2 xlSheet.Range("E" & i & ":F" & i).Select() If 工材分離_ch.Checked = False Then With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge : End If xlSheet.Range("G" & i & ":H" & i).Select() If 工材分離_ch.Checked = False Then With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge : End If Next xlSheet.Range("E6:H" & XN2).Select() With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : End With myExcel.Selection.NumberFormatLocal = "#,##0_ " xlSheet.Range("C6:D" & XN2).Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("I6:I" & XN2).Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("B6:B" & XN2).Select() With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("A5:I5").Select() myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone xlSheet.Range("A6:I" & XN2).Select() myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With xlSheet.Range("J17").Select() : myExcel.ActiveWindow.DisplayGridlines = False xlSheet.Range("A4:F4").Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A5:I5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : End With xlSheet.Range("A6:I" & XN2).Select() With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False .ReadingOrder = xlContext : End With Dim 攔寬 As Single xlSheet.Rows("4:4").Select : xlSheet.Rows("4:4").EntireRow.AutoFit 攔寬 = xlSheet.Rows("4:4").RowHeight xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 攔寬 + 40 xlSheet.Rows("6:" & XN2).Select : xlSheet.Rows("6:" & XN2).EntireRow.AutoFit For i As Integer = 6 To XN2 xlSheet.Rows(i & ":" & i).Select 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 20 If Strings.Left(xlSheet.Cells(i, 2).value, 5) = "Total" Then xlSheet.Range("A" & i & ":I" & i).Select() With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With End If Next xlSheet.Range("A3:F4").Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .StrikeThrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With End Sub Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) xlSheet.Cells.Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With xlSheet.Rows("2:2").Select With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 120 : xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30 xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 20 : xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 35 xlSheet.Rows("6:6").Select : myExcel.Selection.RowHeight = 40 : xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 6 xlSheet.Rows("7:" & XN1).Select : myExcel.Selection.RowHeight = 35 xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 60 : xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 6 xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 6 : xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 18 xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 18 : xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 18.5 xlSheet.Range("A2:G2").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge xlSheet.Range("A4:E4").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A5:E5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("F4:G4").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("F5:G5").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A6:A" & XN1 - 1).Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("C6:D" & XN1 - 1).Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("E6:F6").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("A6:G6").Select() With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorLight2 .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone xlSheet.Range("A7:G" & XN1 - 1).Select() myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With xlSheet.Range("A" & XN1 + 1 & ":G" & XN1 + 1).Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A" & XN1 + 2 & ":G" & XN1 + 2).Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A" & XN1 + 1 & ":G" & XN1 + 2).Select() myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone xlSheet.Rows(XN1 + 2 & ":" & XN1 + 2).Select : myExcel.Selection.RowHeight = 100 xlSheet.Rows(XN1 + 3 & ":" & XN1 + 3).Select : myExcel.Selection.RowHeight = 30 With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlBottom : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Rows(XN1 + 5 & ":" & XN1 + 5).Select : myExcel.Selection.RowHeight = 80 xlSheet.Range("H17").Select() : myExcel.ActiveWindow.DisplayGridlines = False xlSheet.Range("E7:F" & XN1 - 1).Select() : myExcel.Selection.NumberFormatLocal = "#,##0_ " xlSheet.Range("A5:E5").Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Range("A6:G6").Select() With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("A7:G" & XN1 - 1).Select() With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False .ReadingOrder = xlContext : .MergeCells = False : End With xlSheet.Range("A" & XN1 + 2 & ":G" & XN1 + 2).Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlTop : .WrapText = True : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With Dim 攔寬 As Single xlSheet.Rows("5:5").Select : xlSheet.Rows("5:5").EntireRow.AutoFit 攔寬 = xlSheet.Rows("5:5").RowHeight xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 攔寬 + 40 xlSheet.Rows("7:" & XN1).Select : xlSheet.Rows("7:" & XN1).EntireRow.AutoFit For i As Integer = 7 To XN1 xlSheet.Rows(i & ":" & i).Select 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 20 Next xlSheet.Range("A4:E5").Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .StrikeThrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With End Sub Private Sub CC(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) Clipboard.SetDataObject(PictureBox1.Image) xlSheet.Range("A1").Select() myExcel.ActiveSheet.Pictures.Paste.Select myExcel.Selection.ShapeRange.Height = 115 If 主頁1 = False Then myExcel.Selection.ShapeRange.IncrementLeft(0) Else myExcel.Selection.ShapeRange.IncrementLeft(20) End If myExcel.Selection.ShapeRange.IncrementTop(0) End Sub Private Sub DD(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) Clipboard.SetDataObject(PictureBox2.Image) xlSheet.Range("A1").Select() myExcel.ActiveSheet.Pictures.Paste.Select myExcel.Selection.ShapeRange.Height = 115 If 主頁1 = False Then myExcel.Selection.ShapeRange.IncrementLeft(0) Else myExcel.Selection.ShapeRange.IncrementLeft(20) End If myExcel.Selection.ShapeRange.IncrementTop(0) End Sub Private Sub FF(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) If Strings.Left(合約編號_tb.Text, 2) = "HX" Then myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename = Str01 & "\HXBWLOG.png" Else myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename = Str01 & "\PGSBWLOG.png" End If myExcel.Application.PrintCommunication = False : With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$5" : .PrintTitleColumns = "" : End With myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "" : myExcel.Application.PrintCommunication = False With myExcel.ActiveSheet.PageSetup : .LeftHeader = "" .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "&G" .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁" : .RightFooter = "" .LeftMargin = myExcel.Application.InchesToPoints(0.236220472440945) : .RightMargin = myExcel.Application.InchesToPoints(0.236220472440945) .TopMargin = myExcel.Application.InchesToPoints(0.748031496062992) : .BottomMargin = myExcel.Application.InchesToPoints(0.748031496062992) .HeaderMargin = myExcel.Application.InchesToPoints(0.31496062992126) : .FooterMargin = myExcel.Application.InchesToPoints(0.31496062992126) .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = True : .CenterVertically = False : .Draft = False .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = "" .EvenPage.CenterFooter.Text = "" : .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = "" .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = "" End With : myExcel.Application.PrintCommunication = True End Sub Private Sub GG(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet) If Strings.Left(合約編號_tb.Text, 2) = "HX" Then myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename = Str01 & "\HXBWLOG.png" Else myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename = Str01 & "\PGSBWLOG.png" End If myExcel.Application.PrintCommunication = False : With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$5" : .PrintTitleColumns = "" : End With myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "$A:$G" : myExcel.Application.PrintCommunication = False With myExcel.ActiveSheet.PageSetup : .LeftHeader = "" .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "&G" .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁" : .RightFooter = "" .LeftMargin = myExcel.Application.InchesToPoints(0.236220472440945) : .RightMargin = myExcel.Application.InchesToPoints(0.236220472440945) .TopMargin = myExcel.Application.InchesToPoints(0.748031496062992) : .BottomMargin = myExcel.Application.InchesToPoints(0.748031496062992) .HeaderMargin = myExcel.Application.InchesToPoints(0.31496062992126) : .FooterMargin = myExcel.Application.InchesToPoints(0.31496062992126) .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = True : .CenterVertically = False : .Draft = False .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = "" .EvenPage.CenterFooter.Text = "" : .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = "" .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = "" End With : myExcel.Application.PrintCommunication = True End Sub Private Sub 風格() If 深色風格 = False Then Me.BackColor = SystemColors.Control : 新式_P.BackColor = Color.White : 主頁_p.BackColor = Color.White : 次頁_p.BackColor = Color.White : 物料_p.BackColor = Color.White 物料清單_P.BackColor = Color.White : BOM_p.BackColor = Color.White : 合約_p.BackColor = Color.White : 工程合約試算表_tc.BackColor = SystemColors.Control 工程合約報價明細_tc.BackColor = SystemColors.Control : 係數設定_tc.BackColor = SystemColors.Control 視窗2_pl.BackColor = Color.White : Panel3.BackColor = Color.White : 總表空間_P.BackColor = Color.White TabPage1.BackColor = Color.White : TabPage2.BackColor = Color.White : 建立合約資料_tc.BackColor = SystemColors.Control : 基本資料_P.BackColor = Color.White 視窗3_pl.BackColor = SystemColors.Control : 式算明細表_P.BackColor = SystemColors.Control : Panel4.BackColor = Color.White '----------------黑------------------------------------------- 最後採購日1_lb.ForeColor = Color.Black : 歷史單價1_lb.ForeColor = Color.Black : 帶上歷史單價1_ch.ForeColor = Color.Black : 最後採購日_lb.ForeColor = Color.Black 歷史單價_lb.ForeColor = Color.Black : 帶上歷史單價_ch.ForeColor = Color.Black : 小間距_ch.ForeColor = Color.Black : 中間距_ch.ForeColor = Color.Black 大間距_ch.ForeColor = Color.Black : 詳細資料1_ch.ForeColor = Color.Black : 小間距2_ch.ForeColor = Color.Black : 中間距2_ch.ForeColor = Color.Black 大間距2_ch.ForeColor = Color.Black : 小間距3_ch.ForeColor = Color.Black : 中間距3_ch.ForeColor = Color.Black : 大間距3_ch.ForeColor = Color.Black 項目1_lb.ForeColor = Color.Black : 主項目_lb.ForeColor = Color.Black : 詳細資料_ch.ForeColor = Color.Black : 單位_lb.ForeColor = Color.Black 甲方_lb.ForeColor = Color.Black : Label1.ForeColor = Color.Black : Label3.ForeColor = Color.Black : 編輯1_ch.ForeColor = Color.Black Label4.ForeColor = Color.Black : 編輯_ch.ForeColor = Color.Black : 鎖定1_ch.ForeColor = Color.Black : 鎖定_ch.ForeColor = Color.Black 詳細資料2_ch.ForeColor = Color.Black : 啟用批量選擇_ch.ForeColor = Color.Black : 係數_lb.ForeColor = Color.Black : 通用_lb.ForeColor = Color.Black 材料_ch.ForeColor = Color.Black : 工資_ch.ForeColor = Color.Black : 利潤表_ch.ForeColor = Color.Black : 辦公_lb.ForeColor = Color.Black Label16.ForeColor = Color.Black : 待送報價_ch.ForeColor = Color.Black : 待審報價_ch.ForeColor = Color.Black : 宿舍_lb.ForeColor = Color.Black 報價放行_ch.ForeColor = Color.Black : 作廢報價_ch.ForeColor = Color.Black : 合約號搜尋_lb.ForeColor = Color.Black : Label28.ForeColor = Color.Black Label5.ForeColor = Color.Black : Label379.ForeColor = Color.Black : Label35.ForeColor = Color.Black : Label15.ForeColor = Color.Black Label20.ForeColor = Color.Black : 合約停止_ch.ForeColor = Color.Black : 美金_ch.ForeColor = Color.Black : 人民幣_ch.ForeColor = Color.Black 台幣_ch.ForeColor = Color.Black : 印尼盾_ch.ForeColor = Color.Black : Label380.ForeColor = Color.Black : Label64.ForeColor = Color.Black Label70.ForeColor = Color.Black : Label68.ForeColor = Color.Black : 報價簽回_ch.ForeColor = Color.Black : 合約簽回_ch.ForeColor = Color.Black 小間距1_ch.ForeColor = Color.Black : 中間距1_ch.ForeColor = Color.Black : 大間距1_ch.ForeColor = Color.Black : 不計_ch.ForeColor = Color.Black Label75.ForeColor = Color.Black : 選擇移動_lb.ForeColor = Color.Black : 資料移動_lb.ForeColor = Color.Black : 工廠_lb.ForeColor = Color.Black 選擇係數_lb.ForeColor = Color.Black : 利潤表_ch.ForeColor = Color.Black : 工資_ch.ForeColor = Color.Black : 材料_ch.ForeColor = Color.Black BOM群組_lb.ForeColor = Color.Black : 計算基數_lb.ForeColor = Color.Black : 明細表編輯_lb.ForeColor = Color.Black : 搜尋_lb.ForeColor = Color.Black 公式1_lb.ForeColor = Color.Black : 公式2_lb.ForeColor = Color.Black 鎖定1_ch.Enabled = False : 鎖定_ch.Enabled = False : 編輯1_ch.Enabled = False : 編輯_ch.Enabled = False '----------------紅------------------------------------------- 群組編碼_lb.ForeColor = Color.Red : 日期2_lb.ForeColor = Color.Red : 編號1_lb.ForeColor = Color.Red : 日期1_lb.ForeColor = Color.Red 業主1_lb.ForeColor = Color.Red : 案名中1_lb.ForeColor = Color.Red : 案名英1_lb.ForeColor = Color.Red : 編號2_lb.ForeColor = Color.Red Label53.ForeColor = Color.Red : 稅前歸零_ch.ForeColor = Color.Red : 稅後歸零_ch.ForeColor = Color.Red : Label81.ForeColor = Color.Red Label69.ForeColor = Color.Red : Label63.ForeColor = Color.Red : Label58.ForeColor = Color.Red : Label55.ForeColor = Color.Red Label54.ForeColor = Color.Red : Label378.ForeColor = Color.Red : Label375.ForeColor = Color.Red : Label374.ForeColor = Color.Red Label373.ForeColor = Color.Red : Label404.ForeColor = Color.Red : Label405.ForeColor = Color.Red : Label29.ForeColor = Color.Red 業主2_lb.ForeColor = Color.Red : 案名中2_lb.ForeColor = Color.Red : 案名英2_lb.ForeColor = Color.Red : 檔板_lb.ForeColor = Color.Red 是否帶入主項目_ch.ForeColor = Color.Red '----------------藍------------------------------------------- Label73.ForeColor = Color.Blue : Label74.ForeColor = Color.Blue : Label24.ForeColor = Color.Blue : Label25.ForeColor = Color.Blue 中文大寫1_ch.ForeColor = Color.Blue : 中文小寫1_ch.ForeColor = Color.Blue : 數字1_ch.ForeColor = Color.Blue : Label30.ForeColor = Color.Blue Label45.ForeColor = Color.Blue : Label31.ForeColor = Color.Blue : Label82.ForeColor = Color.Blue : Label39.ForeColor = Color.Blue 甲方2_lb.ForeColor = Color.Blue : Label376.ForeColor = Color.Blue : Label377.ForeColor = Color.Blue : Label66.ForeColor = Color.Blue Label65.ForeColor = Color.Blue : Label57.ForeColor = Color.Blue : Label60.ForeColor = Color.Blue : Label71.ForeColor = Color.Blue 目前選擇_lb.ForeColor = Color.Blue : 項目_lb.ForeColor = Color.Blue : 合計項_lb.ForeColor = Color.Blue : 工程地點_lb.ForeColor = Color.Blue 材料系數_lb.ForeColor = Color.Blue '----------------綠------------------------------------------- Label23.ForeColor = Color.Green : 座標_lb.ForeColor = Color.Green : 工材分離_ch.ForeColor = Color.Green : Label80.ForeColor = Color.Green Label83.ForeColor = Color.Green : Label79.ForeColor = Color.Green : CH1.ForeColor = Color.Green : 稅額顯示_lb.ForeColor = Color.Green CH2.ForeColor = Color.Green : Label390.ForeColor = Color.Green : Label389.ForeColor = Color.Green : Label388.ForeColor = Color.Green Label387.ForeColor = Color.Green : Label386.ForeColor = Color.Green : Label21.ForeColor = Color.Green : Label391.ForeColor = Color.Green Label393.ForeColor = Color.Green : Label394.ForeColor = Color.Green : Label396.ForeColor = Color.Green : Label395.ForeColor = Color.Green Label42.ForeColor = Color.Green : Label410.ForeColor = Color.Green : Label408.ForeColor = Color.Green : Label412.ForeColor = Color.Green Label413.ForeColor = Color.Green : Label414.ForeColor = Color.Green : Label62.ForeColor = Color.Green : Label61.ForeColor = Color.Green Label59.ForeColor = Color.Green : Label67.ForeColor = Color.Green : 材料成本單價_lb.ForeColor = Color.Green : 座標1_lb.ForeColor = Color.Green 關鍵字查詢_lb.ForeColor = Color.Green : 其他選項_lb.ForeColor = Color.Green '--紫-- 第一項目_lb.ForeColor = Color.FromArgb(64, 0, 64) : 第二項目_lb.ForeColor = Color.FromArgb(64, 0, 64) : 第三項目_lb.ForeColor = Color.FromArgb(64, 0, 64) 項目描述_lb.ForeColor = Color.FromArgb(64, 0, 64) '---大便色--- 工資成本單價_lb.ForeColor = Color.FromArgb(64, 64, 0) : 工資單價_lb.ForeColor = Color.FromArgb(64, 64, 0) : 工資係數_lb.ForeColor = Color.FromArgb(64, 64, 0) 切換_ts.BackColor = Color.White : 切換_ts.ForeColor = Color.White 群組碼印_cb.BackColor = Color.White : 群組碼印_cb.ForeColor = Color.Black : 係數範本選擇_cb.BackColor = Color.White : 係數範本選擇_cb.ForeColor = Color.Black 算式_tb.BackColor = Color.White : 算式_tb.ForeColor = Color.Black : 重新計算_tb.BackColor = Color.White : 重新計算_tb.ForeColor = Color.Black 報價工程名稱_英1_tb.BackColor = Color.White : 報價工程名稱_英1_tb.ForeColor = Color.Black : 算式1_tb.BackColor = Color.White : 算式1_tb.ForeColor = Color.Black 最後採購日1_tb.BackColor = Color.White : 最後採購日1_tb.ForeColor = Color.Black : 新增係數_bt.BackColor = Color.White : 新增係數_bt.ForeColor = Color.Black 合約編號1_cb.BackColor = Color.White : 合約編號1_cb.ForeColor = Color.Black : 主項目_tb.BackColor = Color.White : 主項目_tb.ForeColor = Color.Black 最後採購日_tb.BackColor = Color.White : 最後採購日_tb.ForeColor = Color.Black : 歷史單價1_tb.BackColor = Color.White : 歷史單價1_tb.ForeColor = Color.Black 歷史單價_tb.BackColor = Color.White : 歷史單價_tb.ForeColor = Color.Black : 搜尋_bt.BackColor = Color.White : 搜尋_bt.ForeColor = Color.Black 新群組1_cb.BackColor = Color.White : 新群組1_cb.ForeColor = Color.Black : ITEM4_cb.BackColor = Color.White : ITEM4_cb.ForeColor = Color.Black 關鍵字搜尋1_tb.BackColor = Color.White : 關鍵字搜尋1_tb.ForeColor = Color.Black : 合約編號2_cb.BackColor = Color.White : 合約編號2_cb.ForeColor = Color.Black 合約編號_1_tb.BackColor = Color.White : 合約編號_1_tb.ForeColor = Color.Black : 係數_nud.BackColor = Color.White : 係數_nud.ForeColor = Color.Black 樓層_迴路_cb.BackColor = Color.White : 樓層_迴路_cb.ForeColor = Color.Black : 報價工程名稱_中1_tb.BackColor = Color.White : 報價工程名稱_中1_tb.ForeColor = Color.Black 係數項目_cb.BackColor = Color.White : 係數項目_cb.ForeColor = Color.Black : 報價單客戶名稱1_cb.BackColor = Color.White : 報價單客戶名稱1_cb.ForeColor = Color.Black 係數單位_cb.BackColor = Color.White : 係數單位_cb.ForeColor = Color.Black : 報價單合約編號1_tb.BackColor = Color.White : 報價單合約編號1_tb.ForeColor = Color.Black 報價單合約編號_tb.BackColor = Color.White : 報價單合約編號_tb.ForeColor = Color.Black : 報價單客戶名稱_cb.BackColor = Color.White : 報價單客戶名稱_cb.ForeColor = Color.Black 報價工程名稱_中_tb.BackColor = Color.White : 報價工程名稱_中_tb.ForeColor = Color.Black : 報價工程名稱_英_tb.BackColor = Color.White : 報價工程名稱_英_tb.ForeColor = Color.Black ITEM3_cb.BackColor = Color.White : ITEM3_cb.ForeColor = Color.Black : 重新計算_tb.BackColor = Color.White : 重新計算_tb.ForeColor = Color.Black 單位2_tb.BackColor = Color.White : 單位2_tb.ForeColor = Color.Black : 係數存檔_bt.BackColor = Color.White : 係數存檔_bt.ForeColor = Color.Black 申請數_nud.BackColor = Color.White : 申請數_nud.ForeColor = Color.Black : 縮放_bt.BackColor = Color.White : 縮放_bt.ForeColor = Color.Black 料號_tb.BackColor = Color.White : 料號_tb.ForeColor = Color.Black : 單位_tb.BackColor = Color.White : 單位_tb.ForeColor = Color.Black 數量_tb.BackColor = Color.White : 數量_tb.ForeColor = Color.Black : 內容_tb.BackColor = Color.White : 內容_tb.ForeColor = Color.Black 備註_tb.BackColor = Color.White : 備註_tb.ForeColor = Color.Black : 合計項_cb.BackColor = Color.White : 合計項_cb.ForeColor = Color.Black 報價說明_tb.BackColor = Color.White : 報價說明_tb.ForeColor = Color.Black : 關鍵字搜尋_tb.BackColor = Color.White : 關鍵字搜尋_tb.ForeColor = Color.Black 合約編號清單_bt.BackColor = Color.White : 合約編號清單_bt.ForeColor = Color.Black : 合約編號_cb.BackColor = Color.White : 合約編號_cb.ForeColor = Color.Black 合約編號1_tb.BackColor = Color.White : 合約編號1_tb.ForeColor = Color.Black : 合約編號2_tb.BackColor = Color.White : 合約編號2_tb.ForeColor = Color.Black 合約編號3_tb.BackColor = Color.White : 合約編號3_tb.ForeColor = Color.Black : 自動讀取_bt.BackColor = Color.White : 自動讀取_bt.ForeColor = Color.Black 手動輸入_bt.BackColor = Color.White : 手動輸入_bt.ForeColor = Color.Black : 最末頁_cb.BackColor = Color.White : 最末頁_cb.ForeColor = Color.Black 合約種類_cb.BackColor = Color.White : 合約種類_cb.ForeColor = Color.Black : 合約種類_tb.BackColor = Color.White : 合約種類_tb.ForeColor = Color.Black 客戶名稱_tb.BackColor = Color.White : 客戶名稱_tb.ForeColor = Color.Black : 負責人_A_cb.BackColor = Color.White : 負責人_A_cb.ForeColor = Color.Black 工程地點_tb.BackColor = Color.White : 工程地點_tb.ForeColor = Color.Black : 客戶地址_tb.BackColor = Color.White : 客戶地址_tb.ForeColor = Color.Black 工程名稱_中_tb.BackColor = Color.White : 工程名稱_中_tb.ForeColor = Color.Black : 工程名稱_英_tb.BackColor = Color.White : 工程名稱_英_tb.ForeColor = Color.Black 選擇公司_cb.BackColor = Color.White : 選擇公司_cb.ForeColor = Color.Black : 負責人_B_cb.BackColor = Color.White : 負責人_B_cb.ForeColor = Color.Black 我司地址_tb.BackColor = Color.White : 我司地址_tb.ForeColor = Color.Black : NUD1.BackColor = Color.White : NUD1.ForeColor = Color.Black NUD2.BackColor = Color.White : NUD2.ForeColor = Color.Black : NUD3.BackColor = Color.White : NUD3.ForeColor = Color.Black 工程款1_nud.BackColor = Color.White : 工程款1_nud.ForeColor = Color.Black : 工程款2_nud.BackColor = Color.White : 工程款2_nud.ForeColor = Color.Black 工程款3_nud.BackColor = Color.White : 工程款3_nud.ForeColor = Color.Black : 工程款4_nud.BackColor = Color.White : 工程款4_nud.ForeColor = Color.Black 工程款5_nud.BackColor = Color.White : 工程款5_nud.ForeColor = Color.Black : 工程款6_nud.BackColor = Color.White : 工程款6_nud.ForeColor = Color.Black 金額1_und.BackColor = Color.White : 金額1_und.ForeColor = Color.Black : 金額2_und.BackColor = Color.White : 金額2_und.ForeColor = Color.Black 金額3_und.BackColor = Color.White : 金額3_und.ForeColor = Color.Black : 金額4_und.BackColor = Color.White : 金額4_und.ForeColor = Color.Black 金額5_und.BackColor = Color.White : 金額5_und.ForeColor = Color.Black : 金額6_und.BackColor = Color.White : 金額6_und.ForeColor = Color.Black 工期_nud.BackColor = Color.White : 工期_nud.ForeColor = Color.Black : 逾期_bt.BackColor = Color.White : 逾期_bt.ForeColor = Color.Black 最高扣款_bt.BackColor = Color.White : 最高扣款_bt.ForeColor = Color.Black : 逾期_英_bt.BackColor = Color.White : 逾期_英_bt.ForeColor = Color.Black 最高扣款_英_bt.BackColor = Color.White : 最高扣款_英_bt.ForeColor = Color.Black : 減價_bt.BackColor = Color.White : 減價_bt.ForeColor = Color.Black 廠區_中文_tb.BackColor = Color.White : 廠區_中文_tb.ForeColor = Color.Black : 頁數_bt.BackColor = Color.White : 頁數_bt.ForeColor = Color.Black 預估工資總成本_tb.BackColor = Color.White : 預估工資總成本_tb.ForeColor = Color.Black : 預估材料總成本_tb.BackColor = Color.White : 預估材料總成本_tb.ForeColor = Color.Black 總成本_tb.BackColor = Color.White : 總成本_tb.ForeColor = Color.Black : 預估工資總報價_tb.BackColor = Color.White : 預估工資總報價_tb.ForeColor = Color.Black 預估材料總報價_tb.BackColor = Color.White : 預估材料總報價_tb.ForeColor = Color.Black : 總報價_tb.BackColor = Color.White : 總報價_tb.ForeColor = Color.Black 預估利潤_tb.BackColor = Color.White : 預估利潤_tb.ForeColor = Color.Black : 利潤比1_tb.BackColor = Color.White : 利潤比1_tb.ForeColor = Color.Black 利潤比2_tb.BackColor = Color.White : 利潤比2_tb.ForeColor = Color.Black : 利潤比3_tb.BackColor = Color.White : 利潤比3_tb.ForeColor = Color.Black 利潤比4_tb.BackColor = Color.White : 利潤比4_tb.ForeColor = Color.Black : 選擇項1_tb.BackColor = Color.White : 選擇項1_tb.ForeColor = Color.Black 單位1_tb.BackColor = Color.White : 單位1_tb.ForeColor = Color.Black : 內容1_tb.BackColor = Color.White : 內容1_tb.ForeColor = Color.Black 備註1_tb.BackColor = Color.White : 備註1_tb.ForeColor = Color.Black : 地點_中_tb.BackColor = Color.White : 地點_中_tb.ForeColor = Color.Blue 地點_印_tb.BackColor = Color.White : 地點_印_tb.ForeColor = Color.Blue : 主項_中_cb.BackColor = Color.White : 主項_中_cb.ForeColor = Color.FromArgb(64, 0, 64) 主項_印_cb.BackColor = Color.White : 主項_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 主名_中_cb.BackColor = Color.White : 主名_中_cb.ForeColor = Color.FromArgb(64, 0, 64) 主名_印_cb.BackColor = Color.White : 主名_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 項名_中_cb.BackColor = Color.White : 項名_中_cb.ForeColor = Color.FromArgb(64, 0, 64) 項名_印_cb.BackColor = Color.White : 項名_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 描述_中_cb.BackColor = Color.White : 描述_中_cb.ForeColor = Color.FromArgb(64, 0, 64) 描述_印_cb.BackColor = Color.White : 描述_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 關鍵字_tb.BackColor = Color.White : 關鍵字_tb.ForeColor = Color.Green 其他_中_cb.BackColor = Color.White : 其他_中_cb.ForeColor = Color.Green : 其他_印_cb.BackColor = Color.White : 其他_印_cb.ForeColor = Color.Green 實際數量_nud.BackColor = Color.White : 實際數量_nud.ForeColor = Color.Black : 工資成本_nud.BackColor = Color.White : 工資成本_nud.ForeColor = Color.Black 材料成本_nud.BackColor = Color.White : 材料成本_nud.ForeColor = Color.Black : 工資單價_cb.BackColor = Color.White : 工資單價_cb.ForeColor = Color.Black 工資系數_cb.BackColor = Color.White : 工資系數_cb.ForeColor = Color.Black : 係數清單_cb.BackColor = Color.White : 係數清單_cb.ForeColor = Color.Black 試算表_cb.BackColor = Color.White : 試算表_cb.ForeColor = Color.Blue : 選擇項_tb.BackColor = Color.White : 選擇項_tb.ForeColor = Color.Blue 文字資料輸入1_bt.BackColor = Color.White : 文字資料輸入1_bt.ForeColor = Color.Blue : GroupBox2.BackColor = Color.White : GroupBox2.ForeColor = Color.Blue ITEM1_cb.BackColor = Color.White : ITEM1_cb.ForeColor = Color.Blue : 未折價前_tb.BackColor = Color.White : 未折價前_tb.ForeColor = Color.Blue 報價小計_tb.BackColor = Color.White : 報價小計_tb.ForeColor = Color.Blue : 文字資料輸入2_bt.BackColor = Color.White : 文字資料輸入2_bt.ForeColor = Color.Blue ITEM2_cb.BackColor = Color.White : ITEM2_cb.ForeColor = Color.Blue : 合計項1_cb.BackColor = Color.White : 合計項1_cb.ForeColor = Color.Blue GroupBox3.BackColor = Color.White : GroupBox3.ForeColor = Color.Blue 全部選擇_bt.BackColor = Color.White : 全部選擇_bt.ForeColor = Color.Olive : 全部取消_bt.BackColor = Color.White : 全部取消_bt.ForeColor = Color.Olive 上移2_bt.BackColor = Color.White : 下移2_bt.BackColor = Color.White : 新增資料3_bt.BackColor = Color.White : 明細表選擇刪除2_bt.BackColor = Color.White 歸零位數_nud.BackColor = Color.White : 歸零位數_nud.ForeColor = Color.Red : 不印工資_全選_bt.BackColor = Color.White : 不印工資_全選_bt.ForeColor = Color.Red 不印工資_取消_bt.BackColor = Color.White : 不印工資_取消_bt.ForeColor = Color.Red 甲方_cb.BackColor = Color.White : 甲方_cb.ForeColor = Color.Green : 折讓比例_nud.BackColor = Color.White : 折讓比例_nud.ForeColor = Color.Green 不印材料_全選_bt.BackColor = Color.White : 不印材料_全選_bt.ForeColor = Color.Green : 不印材料_取消_bt.BackColor = Color.White : 不印材料_取消_bt.ForeColor = Color.Green TB_1.BackColor = Color.White : TB_1.ForeColor = Color.Black : TB_2.BackColor = Color.White : TB_2.ForeColor = Color.Black TB_3.BackColor = Color.White : TB_3.ForeColor = Color.Black : TB_4.BackColor = Color.White : TB_4.ForeColor = Color.Black TB_5.BackColor = Color.White : TB_5.ForeColor = Color.Black : TB_6.BackColor = Color.White : TB_6.ForeColor = Color.Black TB_7.BackColor = Color.White : TB_7.ForeColor = Color.Black : TB_8.BackColor = Color.White : TB_8.ForeColor = Color.Black TB_9.BackColor = Color.White : TB_9.ForeColor = Color.Black : TB_10.BackColor = Color.White : TB_10.ForeColor = Color.Black TB_11.BackColor = Color.White : TB_11.ForeColor = Color.Black : TB_12.BackColor = Color.White : TB_12.ForeColor = Color.Black TB_13.BackColor = Color.White : TB_13.ForeColor = Color.Black : TB_14.BackColor = Color.White : TB_14.ForeColor = Color.Black TB_15.BackColor = Color.White : TB_15.ForeColor = Color.Black : TB_16.BackColor = Color.White : TB_16.ForeColor = Color.Black TB_17.BackColor = Color.White : TB_17.ForeColor = Color.Black : TB_18.BackColor = Color.White : TB_18.ForeColor = Color.Black TB_19.BackColor = Color.White : TB_19.ForeColor = Color.Black : TB_20.BackColor = Color.White : TB_20.ForeColor = Color.Black TB_21.BackColor = Color.White : TB_21.ForeColor = Color.Black PB_1.BackColor = Color.White : PB_2.BackColor = Color.White : PB_3.BackColor = Color.White : PB_4.BackColor = Color.White : PB_5.BackColor = Color.White PB_6.BackColor = Color.White : PB_7.BackColor = Color.White : PB_8.BackColor = Color.White : PB_9.BackColor = Color.White : PB_10.BackColor = Color.White PB_11.BackColor = Color.White : PB_12.BackColor = Color.White : PB_13.BackColor = Color.White : PB_14.BackColor = Color.White : PB_15.BackColor = Color.White PB_16.BackColor = Color.White : PB_17.BackColor = Color.White : PB_18.BackColor = Color.White : PB_19.BackColor = Color.White : PB_20.BackColor = Color.White PB_21.BackColor = Color.White 查詢_bt.BackColor = Color.White : 縮放1_bt.BackColor = Color.White : 縮放2_bt.BackColor = Color.White : 查閱文件_bt.BackColor = Color.White 合約改版_bt.BackColor = Color.White : 合約作廢_bt.BackColor = Color.White : 刪除合約_bt.BackColor = Color.White : 發送_bt.BackColor = Color.White 存檔_tb.BackColor = Color.White : 回首頁_bt.BackColor = Color.White : 回次頁_bt.BackColor = Color.White : BOM新增到明細表_bt.BackColor = Color.White 選取資料新增到明細表_bt.BackColor = Color.White : 查詢1_bt.BackColor = Color.White : 新增試算表_bt.BackColor = Color.White : 新增物件_bt.BackColor = Color.White 修改樓層_迴圈_bt.BackColor = Color.White : 重置_bt.BackColor = Color.White : 刪除1_bt.BackColor = Color.White 修改明細表上的材料指定_bt.BackColor = Color.White : 排序2_bt.BackColor = Color.White : 規格顯示修改_bt.BackColor = Color.White : 新增資料2_bt.BackColor = Color.White 選擇材料新增到明細表_bt.BackColor = Color.White : 報價明細表存檔_bt.BackColor = Color.White : 明細表編輯_bt.BackColor = Color.White : 總表選擇刪除1_bt.BackColor = Color.White 排序1_bt.BackColor = Color.White : 新增資料1_bt.BackColor = Color.White : 報價總表存檔_bt.BackColor = Color.White : 列印成EXCEL_bt.BackColor = Color.White 折價計算_bt.BackColor = Color.White : 查詢_bt.BackColor = Color.White : 彙總存檔_bt.BackColor = Color.White : 上移_bt.BackColor = Color.White : 下移_bt.BackColor = Color.White 上移1_bt.BackColor = Color.White : 下移1_bt.BackColor = Color.White : 報價明細表存檔1_bt.BackColor = Color.White Y軸_dgv.EnableHeadersVisualStyles = True : Y軸_dgv.BackgroundColor = Color.WhiteSmoke : Y軸_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black Y軸_dgv.DefaultCellStyle.BackColor = Color.WhiteSmoke : Y軸_dgv.DefaultCellStyle.ForeColor = Color.Black 報價明細表_dgv.EnableHeadersVisualStyles = True : 報價明細表_dgv.BackgroundColor = Color.White : 報價明細表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價明細表_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表_dgv.DefaultCellStyle.ForeColor = Color.Black 報價明細表4_dgv.EnableHeadersVisualStyles = True : 報價明細表4_dgv.BackgroundColor = Color.White : 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價明細表4_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表4_dgv.DefaultCellStyle.ForeColor = Color.Black 報價總表_dgv.EnableHeadersVisualStyles = True : 報價總表_dgv.BackgroundColor = Color.White : 報價總表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價總表_dgv.DefaultCellStyle.BackColor = Color.White : 報價總表_dgv.DefaultCellStyle.ForeColor = Color.Black 試算表_dgv.EnableHeadersVisualStyles = True : 試算表_dgv.BackgroundColor = Color.White : 試算表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 試算表_dgv.DefaultCellStyle.BackColor = Color.White : 試算表_dgv.DefaultCellStyle.ForeColor = Color.Black 報價係數_dgv.EnableHeadersVisualStyles = True : 報價係數_dgv.BackgroundColor = Color.White : 報價係數_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價係數_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數_dgv.DefaultCellStyle.ForeColor = Color.Black 報價係數1_dgv.EnableHeadersVisualStyles = True : 報價係數1_dgv.BackgroundColor = Color.White : 報價係數1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價係數1_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數1_dgv.DefaultCellStyle.ForeColor = Color.Black 報價係數2_dgv.EnableHeadersVisualStyles = True : 報價係數2_dgv.BackgroundColor = Color.White : 報價係數2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價係數2_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數2_dgv.DefaultCellStyle.ForeColor = Color.Black 報價係數3_dgv.EnableHeadersVisualStyles = True : 報價係數3_dgv.BackgroundColor = Color.White : 報價係數3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價係數3_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數3_dgv.DefaultCellStyle.ForeColor = Color.Black 報價係數4_dgv.EnableHeadersVisualStyles = True : 報價係數4_dgv.BackgroundColor = Color.White : 報價係數4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價係數4_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數4_dgv.DefaultCellStyle.ForeColor = Color.Black 報價明細表1_dgv.EnableHeadersVisualStyles = True : 報價明細表1_dgv.BackgroundColor = Color.White : 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價明細表1_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表1_dgv.DefaultCellStyle.ForeColor = Color.Black 報價明細表3_dgv.EnableHeadersVisualStyles = True : 報價明細表3_dgv.BackgroundColor = Color.White : 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價明細表3_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表3_dgv.DefaultCellStyle.ForeColor = Color.Black 合約_dgv.EnableHeadersVisualStyles = True : 合約_dgv.BackgroundColor = Color.White : 合約_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 合約_dgv.DefaultCellStyle.BackColor = Color.White : 合約_dgv.DefaultCellStyle.ForeColor = Color.Black 物料清單_dgv.EnableHeadersVisualStyles = True : 物料清單_dgv.BackgroundColor = Color.White : 物料清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 物料清單_dgv.DefaultCellStyle.BackColor = Color.White : 物料清單_dgv.DefaultCellStyle.ForeColor = Color.Black 物料規格_dgv.EnableHeadersVisualStyles = True : 物料規格_dgv.BackgroundColor = Color.White : 物料規格_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 物料規格_dgv.DefaultCellStyle.BackColor = Color.White : 物料規格_dgv.DefaultCellStyle.ForeColor = Color.Black 物料清單1_dgv.EnableHeadersVisualStyles = True : 物料清單1_dgv.BackgroundColor = Color.White : 物料清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 物料清單1_dgv.DefaultCellStyle.BackColor = Color.White : 物料清單1_dgv.DefaultCellStyle.ForeColor = Color.Black 物料規格1_dgv.EnableHeadersVisualStyles = True : 物料規格1_dgv.BackgroundColor = Color.White : 物料規格1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 物料規格1_dgv.DefaultCellStyle.BackColor = Color.White : 物料規格1_dgv.DefaultCellStyle.ForeColor = Color.Black BOM表控制_dgv.EnableHeadersVisualStyles = True : BOM表控制_dgv.BackgroundColor = Color.White : BOM表控制_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black BOM表控制_dgv.DefaultCellStyle.BackColor = Color.White : BOM表控制_dgv.DefaultCellStyle.ForeColor = Color.Black BOM表明細_dgv.EnableHeadersVisualStyles = True : BOM表明細_dgv.BackgroundColor = Color.White : BOM表明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black BOM表明細_dgv.DefaultCellStyle.BackColor = Color.White : BOM表明細_dgv.DefaultCellStyle.ForeColor = Color.Black 合約1_dgv.EnableHeadersVisualStyles = True : 合約1_dgv.BackgroundColor = Color.White : 合約1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 合約1_dgv.DefaultCellStyle.BackColor = Color.White : 合約1_dgv.DefaultCellStyle.ForeColor = Color.Black 報價明細表2_dgv.EnableHeadersVisualStyles = True : 報價明細表2_dgv.BackgroundColor = Color.White : 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 報價明細表2_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表2_dgv.DefaultCellStyle.ForeColor = Color.Black Else Me.BackColor = Color.Black : 新式_P.BackColor = Color.Black : 主頁_p.BackColor = Color.Black : 次頁_p.BackColor = Color.Black : 物料_p.BackColor = Color.Black 物料清單_P.BackColor = Color.Black : BOM_p.BackColor = Color.Black : 合約_p.BackColor = Color.Black : 工程合約試算表_tc.BackColor = Color.Black 工程合約報價明細_tc.BackColor = Color.Black : 係數設定_tc.BackColor = Color.Black 視窗2_pl.BackColor = Color.DimGray : Panel3.BackColor = Color.Black : 總表空間_P.BackColor = Color.Black TabPage1.BackColor = Color.Black : TabPage2.BackColor = Color.Black : 建立合約資料_tc.BackColor = Color.Black : 基本資料_P.BackColor = Color.Black 視窗3_pl.BackColor = Color.DarkGreen : 式算明細表_P.BackColor = Color.DimGray : Panel4.BackColor = Color.Black '----------------黑------------------------------------------- 最後採購日1_lb.ForeColor = Color.White : 歷史單價1_lb.ForeColor = Color.White : 帶上歷史單價1_ch.ForeColor = Color.White : 最後採購日_lb.ForeColor = Color.White 歷史單價_lb.ForeColor = Color.White : 帶上歷史單價_ch.ForeColor = Color.White : 小間距_ch.ForeColor = Color.White : 中間距_ch.ForeColor = Color.White 大間距_ch.ForeColor = Color.White : 詳細資料1_ch.ForeColor = Color.White : 小間距2_ch.ForeColor = Color.White : 中間距2_ch.ForeColor = Color.White 大間距2_ch.ForeColor = Color.White : 小間距3_ch.ForeColor = Color.White : 中間距3_ch.ForeColor = Color.White : 大間距3_ch.ForeColor = Color.White 項目1_lb.ForeColor = Color.White : 主項目_lb.ForeColor = Color.White : 詳細資料_ch.ForeColor = Color.White : 單位_lb.ForeColor = Color.White 甲方_lb.ForeColor = Color.White : Label1.ForeColor = Color.White : Label3.ForeColor = Color.White : 編輯1_ch.ForeColor = Color.White Label4.ForeColor = Color.White : 編輯_ch.ForeColor = Color.White : 鎖定1_ch.ForeColor = Color.White : 鎖定_ch.ForeColor = Color.White 詳細資料2_ch.ForeColor = Color.White : 啟用批量選擇_ch.ForeColor = Color.White : 係數_lb.ForeColor = Color.White : 通用_lb.ForeColor = Color.White 材料_ch.ForeColor = Color.White : 工資_ch.ForeColor = Color.White : 利潤表_ch.ForeColor = Color.White : 辦公_lb.ForeColor = Color.White Label16.ForeColor = Color.White : 待送報價_ch.ForeColor = Color.White : 待審報價_ch.ForeColor = Color.White : 宿舍_lb.ForeColor = Color.White 報價放行_ch.ForeColor = Color.White : 作廢報價_ch.ForeColor = Color.White : 合約號搜尋_lb.ForeColor = Color.White : Label28.ForeColor = Color.White Label5.ForeColor = Color.White : Label379.ForeColor = Color.White : Label35.ForeColor = Color.White : Label15.ForeColor = Color.White Label20.ForeColor = Color.White : 合約停止_ch.ForeColor = Color.White : 美金_ch.ForeColor = Color.White : 人民幣_ch.ForeColor = Color.White 台幣_ch.ForeColor = Color.White : 印尼盾_ch.ForeColor = Color.White : Label380.ForeColor = Color.White : Label64.ForeColor = Color.White Label70.ForeColor = Color.White : Label68.ForeColor = Color.White : 報價簽回_ch.ForeColor = Color.White : 合約簽回_ch.ForeColor = Color.White 小間距1_ch.ForeColor = Color.White : 中間距1_ch.ForeColor = Color.White : 大間距1_ch.ForeColor = Color.White : 不計_ch.ForeColor = Color.White Label75.ForeColor = Color.White : 選擇移動_lb.ForeColor = Color.White : 資料移動_lb.ForeColor = Color.White : 工廠_lb.ForeColor = Color.White 選擇係數_lb.ForeColor = Color.White : 利潤表_ch.ForeColor = Color.White : 工資_ch.ForeColor = Color.White : 材料_ch.ForeColor = Color.White BOM群組_lb.ForeColor = Color.White : 計算基數_lb.ForeColor = Color.White : 明細表編輯_lb.ForeColor = Color.White : 搜尋_lb.ForeColor = Color.White 公式1_lb.ForeColor = Color.White : 公式2_lb.ForeColor = Color.White 鎖定1_ch.Enabled = True : 鎖定_ch.Enabled = True : 編輯1_ch.Enabled = True : 編輯_ch.Enabled = True '----------------紅------------------------------------------- 群組編碼_lb.ForeColor = Color.LightPink : 日期2_lb.ForeColor = Color.LightPink : 編號1_lb.ForeColor = Color.LightPink : 日期1_lb.ForeColor = Color.LightPink 業主1_lb.ForeColor = Color.LightPink : 案名中1_lb.ForeColor = Color.LightPink : 案名英1_lb.ForeColor = Color.LightPink : 編號2_lb.ForeColor = Color.LightPink Label53.ForeColor = Color.LightPink : 稅前歸零_ch.ForeColor = Color.LightPink : 稅後歸零_ch.ForeColor = Color.LightPink : Label81.ForeColor = Color.LightPink Label69.ForeColor = Color.LightPink : Label63.ForeColor = Color.LightPink : Label58.ForeColor = Color.LightPink : Label55.ForeColor = Color.LightPink Label54.ForeColor = Color.LightPink : Label378.ForeColor = Color.LightPink : Label375.ForeColor = Color.LightPink : Label374.ForeColor = Color.LightPink Label373.ForeColor = Color.LightPink : Label404.ForeColor = Color.LightPink : Label405.ForeColor = Color.LightPink : Label29.ForeColor = Color.LightPink 業主2_lb.ForeColor = Color.LightPink : 案名中2_lb.ForeColor = Color.LightPink : 案名英2_lb.ForeColor = Color.LightPink : 檔板_lb.ForeColor = Color.LightPink 是否帶入主項目_ch.ForeColor = Color.LightPink '----------------藍------------------------------------------- Label73.ForeColor = Color.LightBlue : Label74.ForeColor = Color.LightBlue : Label24.ForeColor = Color.LightBlue : Label25.ForeColor = Color.LightBlue 中文大寫1_ch.ForeColor = Color.LightBlue : 中文小寫1_ch.ForeColor = Color.LightBlue : 數字1_ch.ForeColor = Color.LightBlue : Label30.ForeColor = Color.LightBlue Label45.ForeColor = Color.LightBlue : Label31.ForeColor = Color.LightBlue : Label82.ForeColor = Color.LightBlue : Label39.ForeColor = Color.LightBlue 甲方2_lb.ForeColor = Color.LightBlue : Label376.ForeColor = Color.LightBlue : Label377.ForeColor = Color.LightBlue : Label66.ForeColor = Color.LightBlue Label65.ForeColor = Color.LightBlue : Label57.ForeColor = Color.LightBlue : Label60.ForeColor = Color.LightBlue : Label71.ForeColor = Color.LightBlue 目前選擇_lb.ForeColor = Color.LightBlue : 項目_lb.ForeColor = Color.LightBlue : 合計項_lb.ForeColor = Color.LightBlue : 工程地點_lb.ForeColor = Color.LightBlue 材料系數_lb.ForeColor = Color.LightBlue '----------------綠------------------------------------------- Label23.ForeColor = Color.LawnGreen : 座標_lb.ForeColor = Color.LawnGreen : 工材分離_ch.ForeColor = Color.LawnGreen : Label80.ForeColor = Color.LawnGreen Label83.ForeColor = Color.LawnGreen : Label79.ForeColor = Color.LawnGreen : CH1.ForeColor = Color.LawnGreen : 稅額顯示_lb.ForeColor = Color.LawnGreen CH2.ForeColor = Color.LawnGreen : Label390.ForeColor = Color.LawnGreen : Label389.ForeColor = Color.LawnGreen : Label388.ForeColor = Color.LawnGreen Label387.ForeColor = Color.LawnGreen : Label386.ForeColor = Color.LawnGreen : Label21.ForeColor = Color.LawnGreen : Label391.ForeColor = Color.LawnGreen Label393.ForeColor = Color.LawnGreen : Label394.ForeColor = Color.LawnGreen : Label396.ForeColor = Color.LawnGreen : Label395.ForeColor = Color.LawnGreen Label42.ForeColor = Color.LawnGreen : Label410.ForeColor = Color.LawnGreen : Label408.ForeColor = Color.LawnGreen : Label412.ForeColor = Color.LawnGreen Label413.ForeColor = Color.LawnGreen : Label414.ForeColor = Color.LawnGreen : Label62.ForeColor = Color.LawnGreen : Label61.ForeColor = Color.LawnGreen Label59.ForeColor = Color.LawnGreen : Label67.ForeColor = Color.LawnGreen : 材料成本單價_lb.ForeColor = Color.LawnGreen : 座標1_lb.ForeColor = Color.LawnGreen 關鍵字查詢_lb.ForeColor = Color.LawnGreen : 其他選項_lb.ForeColor = Color.LawnGreen '--紫-- 第一項目_lb.ForeColor = Color.Violet : 第二項目_lb.ForeColor = Color.Violet : 第三項目_lb.ForeColor = Color.Violet 項目描述_lb.ForeColor = Color.Violet '---大便色--- 工資成本單價_lb.ForeColor = Color.White : 工資單價_lb.ForeColor = Color.White : 工資係數_lb.ForeColor = Color.White 切換_ts.BackColor = Color.Black : 切換_ts.ForeColor = Color.Black 群組碼印_cb.BackColor = Color.DimGray : 群組碼印_cb.ForeColor = Color.White : 係數範本選擇_cb.BackColor = Color.DimGray : 係數範本選擇_cb.ForeColor = Color.White 算式_tb.BackColor = Color.DimGray : 算式_tb.ForeColor = Color.White : 重新計算_tb.BackColor = Color.DimGray : 重新計算_tb.ForeColor = Color.White 報價工程名稱_英1_tb.BackColor = Color.DimGray : 報價工程名稱_英1_tb.ForeColor = Color.White : 算式1_tb.BackColor = Color.DimGray : 算式1_tb.ForeColor = Color.White 最後採購日1_tb.BackColor = Color.DimGray : 最後採購日1_tb.ForeColor = Color.White : 新增係數_bt.BackColor = Color.DimGray : 新增係數_bt.ForeColor = Color.White 合約編號1_cb.BackColor = Color.DimGray : 合約編號1_cb.ForeColor = Color.White : 主項目_tb.BackColor = Color.DimGray : 主項目_tb.ForeColor = Color.White 最後採購日_tb.BackColor = Color.DimGray : 最後採購日_tb.ForeColor = Color.White : 歷史單價1_tb.BackColor = Color.DimGray : 歷史單價1_tb.ForeColor = Color.White 歷史單價_tb.BackColor = Color.DimGray : 歷史單價_tb.ForeColor = Color.White : 搜尋_bt.BackColor = Color.DimGray : 搜尋_bt.ForeColor = Color.White 新群組1_cb.BackColor = Color.DimGray : 新群組1_cb.ForeColor = Color.White : ITEM4_cb.BackColor = Color.DimGray : ITEM4_cb.ForeColor = Color.White 關鍵字搜尋1_tb.BackColor = Color.DimGray : 關鍵字搜尋1_tb.ForeColor = Color.White : 合約編號2_cb.BackColor = Color.DimGray : 合約編號2_cb.ForeColor = Color.White 合約編號_1_tb.BackColor = Color.DimGray : 合約編號_1_tb.ForeColor = Color.White : 係數_nud.BackColor = Color.DimGray : 係數_nud.ForeColor = Color.White 樓層_迴路_cb.BackColor = Color.DimGray : 樓層_迴路_cb.ForeColor = Color.White : 報價工程名稱_中1_tb.BackColor = Color.DimGray : 報價工程名稱_中1_tb.ForeColor = Color.White 係數項目_cb.BackColor = Color.DimGray : 係數項目_cb.ForeColor = Color.White : 報價單客戶名稱1_cb.BackColor = Color.DimGray : 報價單客戶名稱1_cb.ForeColor = Color.White 係數單位_cb.BackColor = Color.DimGray : 係數單位_cb.ForeColor = Color.White : 報價單合約編號1_tb.BackColor = Color.DimGray : 報價單合約編號1_tb.ForeColor = Color.White 報價單合約編號_tb.BackColor = Color.DimGray : 報價單合約編號_tb.ForeColor = Color.White : 報價單客戶名稱_cb.BackColor = Color.DimGray : 報價單客戶名稱_cb.ForeColor = Color.White 報價工程名稱_中_tb.BackColor = Color.DimGray : 報價工程名稱_中_tb.ForeColor = Color.White : 報價工程名稱_英_tb.BackColor = Color.DimGray : 報價工程名稱_英_tb.ForeColor = Color.White ITEM3_cb.BackColor = Color.DimGray : ITEM3_cb.ForeColor = Color.White : 重新計算_tb.BackColor = Color.DimGray : 重新計算_tb.ForeColor = Color.White 單位2_tb.BackColor = Color.DimGray : 單位2_tb.ForeColor = Color.White : 係數存檔_bt.BackColor = Color.DimGray : 係數存檔_bt.ForeColor = Color.White 申請數_nud.BackColor = Color.DimGray : 申請數_nud.ForeColor = Color.White : 縮放_bt.BackColor = Color.DimGray : 縮放_bt.ForeColor = Color.White 料號_tb.BackColor = Color.DimGray : 料號_tb.ForeColor = Color.White : 單位_tb.BackColor = Color.DimGray : 單位_tb.ForeColor = Color.White 數量_tb.BackColor = Color.DimGray : 數量_tb.ForeColor = Color.White : 內容_tb.BackColor = Color.DimGray : 內容_tb.ForeColor = Color.White 備註_tb.BackColor = Color.DimGray : 備註_tb.ForeColor = Color.White : 合計項_cb.BackColor = Color.DimGray : 合計項_cb.ForeColor = Color.White 報價說明_tb.BackColor = Color.DimGray : 報價說明_tb.ForeColor = Color.White : 關鍵字搜尋_tb.BackColor = Color.DimGray : 關鍵字搜尋_tb.ForeColor = Color.White 合約編號清單_bt.BackColor = Color.DimGray : 合約編號清單_bt.ForeColor = Color.White : 合約編號_cb.BackColor = Color.DimGray : 合約編號_cb.ForeColor = Color.White 合約編號1_tb.BackColor = Color.DimGray : 合約編號1_tb.ForeColor = Color.White : 合約編號2_tb.BackColor = Color.DimGray : 合約編號2_tb.ForeColor = Color.White 合約編號3_tb.BackColor = Color.DimGray : 合約編號3_tb.ForeColor = Color.White : 自動讀取_bt.BackColor = Color.DimGray : 自動讀取_bt.ForeColor = Color.White 手動輸入_bt.BackColor = Color.DimGray : 手動輸入_bt.ForeColor = Color.White : 最末頁_cb.BackColor = Color.DimGray : 最末頁_cb.ForeColor = Color.White 合約種類_cb.BackColor = Color.DimGray : 合約種類_cb.ForeColor = Color.White : 合約種類_tb.BackColor = Color.DimGray : 合約種類_tb.ForeColor = Color.White 客戶名稱_tb.BackColor = Color.DimGray : 客戶名稱_tb.ForeColor = Color.White : 負責人_A_cb.BackColor = Color.DimGray : 負責人_A_cb.ForeColor = Color.White 工程地點_tb.BackColor = Color.DimGray : 工程地點_tb.ForeColor = Color.White : 客戶地址_tb.BackColor = Color.DimGray : 客戶地址_tb.ForeColor = Color.White 工程名稱_中_tb.BackColor = Color.DimGray : 工程名稱_中_tb.ForeColor = Color.White : 工程名稱_英_tb.BackColor = Color.DimGray : 工程名稱_英_tb.ForeColor = Color.White 選擇公司_cb.BackColor = Color.DimGray : 選擇公司_cb.ForeColor = Color.White : 負責人_B_cb.BackColor = Color.DimGray : 負責人_B_cb.ForeColor = Color.White 我司地址_tb.BackColor = Color.DimGray : 我司地址_tb.ForeColor = Color.White : NUD1.BackColor = Color.DimGray : NUD1.ForeColor = Color.White NUD2.BackColor = Color.DimGray : NUD2.ForeColor = Color.White : NUD3.BackColor = Color.DimGray : NUD3.ForeColor = Color.White 工程款1_nud.BackColor = Color.DimGray : 工程款1_nud.ForeColor = Color.White : 工程款2_nud.BackColor = Color.DimGray : 工程款2_nud.ForeColor = Color.White 工程款3_nud.BackColor = Color.DimGray : 工程款3_nud.ForeColor = Color.White : 工程款4_nud.BackColor = Color.DimGray : 工程款4_nud.ForeColor = Color.White 工程款5_nud.BackColor = Color.DimGray : 工程款5_nud.ForeColor = Color.White : 工程款6_nud.BackColor = Color.DimGray : 工程款6_nud.ForeColor = Color.White 金額1_und.BackColor = Color.DimGray : 金額1_und.ForeColor = Color.White : 金額2_und.BackColor = Color.DimGray : 金額2_und.ForeColor = Color.White 金額3_und.BackColor = Color.DimGray : 金額3_und.ForeColor = Color.White : 金額4_und.BackColor = Color.DimGray : 金額4_und.ForeColor = Color.White 金額5_und.BackColor = Color.DimGray : 金額5_und.ForeColor = Color.White : 金額6_und.BackColor = Color.DimGray : 金額6_und.ForeColor = Color.White 工期_nud.BackColor = Color.DimGray : 工期_nud.ForeColor = Color.White : 逾期_bt.BackColor = Color.DimGray : 逾期_bt.ForeColor = Color.White 最高扣款_bt.BackColor = Color.DimGray : 最高扣款_bt.ForeColor = Color.White : 逾期_英_bt.BackColor = Color.DimGray : 逾期_英_bt.ForeColor = Color.White 最高扣款_英_bt.BackColor = Color.DimGray : 最高扣款_英_bt.ForeColor = Color.White : 減價_bt.BackColor = Color.DimGray : 減價_bt.ForeColor = Color.White 廠區_中文_tb.BackColor = Color.DimGray : 廠區_中文_tb.ForeColor = Color.White : 頁數_bt.BackColor = Color.DimGray : 頁數_bt.ForeColor = Color.White 預估工資總成本_tb.BackColor = Color.DimGray : 預估工資總成本_tb.ForeColor = Color.White : 預估材料總成本_tb.BackColor = Color.DimGray : 預估材料總成本_tb.ForeColor = Color.White 總成本_tb.BackColor = Color.DimGray : 總成本_tb.ForeColor = Color.White : 預估工資總報價_tb.BackColor = Color.DimGray : 預估工資總報價_tb.ForeColor = Color.White 預估材料總報價_tb.BackColor = Color.DimGray : 預估材料總報價_tb.ForeColor = Color.White : 總報價_tb.BackColor = Color.DimGray : 總報價_tb.ForeColor = Color.White 預估利潤_tb.BackColor = Color.DimGray : 預估利潤_tb.ForeColor = Color.White : 利潤比1_tb.BackColor = Color.DimGray : 利潤比1_tb.ForeColor = Color.White 利潤比2_tb.BackColor = Color.DimGray : 利潤比2_tb.ForeColor = Color.White : 利潤比3_tb.BackColor = Color.DimGray : 利潤比3_tb.ForeColor = Color.White 利潤比4_tb.BackColor = Color.DimGray : 利潤比4_tb.ForeColor = Color.White : 選擇項1_tb.BackColor = Color.DimGray : 選擇項1_tb.ForeColor = Color.White 單位1_tb.BackColor = Color.DimGray : 單位1_tb.ForeColor = Color.White : 內容1_tb.BackColor = Color.DimGray : 內容1_tb.ForeColor = Color.White 備註1_tb.BackColor = Color.DimGray : 備註1_tb.ForeColor = Color.White : 地點_中_tb.BackColor = Color.DimGray : 地點_中_tb.ForeColor = Color.White 地點_印_tb.BackColor = Color.DimGray : 地點_印_tb.ForeColor = Color.White : 主項_中_cb.BackColor = Color.DimGray : 主項_中_cb.ForeColor = Color.White 主項_印_cb.BackColor = Color.DimGray : 主項_印_cb.ForeColor = Color.White : 主名_中_cb.BackColor = Color.DimGray : 主名_中_cb.ForeColor = Color.White 主名_印_cb.BackColor = Color.DimGray : 主名_印_cb.ForeColor = Color.White : 項名_中_cb.BackColor = Color.DimGray : 項名_中_cb.ForeColor = Color.White 項名_印_cb.BackColor = Color.DimGray : 項名_印_cb.ForeColor = Color.White : 描述_中_cb.BackColor = Color.DimGray : 描述_中_cb.ForeColor = Color.White 描述_印_cb.BackColor = Color.DimGray : 描述_印_cb.ForeColor = Color.White : 關鍵字_tb.BackColor = Color.DimGray : 關鍵字_tb.ForeColor = Color.White 其他_中_cb.BackColor = Color.DimGray : 其他_中_cb.ForeColor = Color.White : 其他_印_cb.BackColor = Color.DimGray : 其他_印_cb.ForeColor = Color.White 實際數量_nud.BackColor = Color.DimGray : 實際數量_nud.ForeColor = Color.White : 工資成本_nud.BackColor = Color.DimGray : 工資成本_nud.ForeColor = Color.White 材料成本_nud.BackColor = Color.DimGray : 材料成本_nud.ForeColor = Color.White : 工資單價_cb.BackColor = Color.DimGray : 工資單價_cb.ForeColor = Color.White 工資系數_cb.BackColor = Color.DimGray : 工資系數_cb.ForeColor = Color.White : 係數清單_cb.BackColor = Color.DimGray : 係數清單_cb.ForeColor = Color.White 試算表_cb.BackColor = Color.DimGray : 試算表_cb.ForeColor = Color.LightBlue : 選擇項_tb.BackColor = Color.DimGray : 選擇項_tb.ForeColor = Color.LightBlue 文字資料輸入1_bt.BackColor = Color.DimGray : 文字資料輸入1_bt.ForeColor = Color.LightBlue : GroupBox2.BackColor = Color.DimGray : GroupBox2.ForeColor = Color.LightBlue ITEM1_cb.BackColor = Color.DimGray : ITEM1_cb.ForeColor = Color.LightBlue : 未折價前_tb.BackColor = Color.DimGray : 未折價前_tb.ForeColor = Color.LightBlue 報價小計_tb.BackColor = Color.DimGray : 報價小計_tb.ForeColor = Color.LightBlue : 文字資料輸入2_bt.BackColor = Color.DimGray : 文字資料輸入2_bt.ForeColor = Color.LightBlue ITEM2_cb.BackColor = Color.DimGray : ITEM2_cb.ForeColor = Color.LightBlue : 合計項1_cb.BackColor = Color.DimGray : 合計項1_cb.ForeColor = Color.LightBlue GroupBox3.BackColor = Color.Black : GroupBox3.ForeColor = Color.LightBlue 全部選擇_bt.BackColor = Color.DimGray : 全部選擇_bt.ForeColor = Color.LightYellow : 全部取消_bt.BackColor = Color.DimGray : 全部取消_bt.ForeColor = Color.LightYellow 上移2_bt.BackColor = Color.DimGray : 下移2_bt.BackColor = Color.DimGray : 新增資料3_bt.BackColor = Color.DimGray : 明細表選擇刪除2_bt.BackColor = Color.DimGray 歸零位數_nud.BackColor = Color.DimGray : 歸零位數_nud.ForeColor = Color.LightPink : 不印工資_全選_bt.BackColor = Color.DimGray : 不印工資_全選_bt.ForeColor = Color.LightPink 不印工資_取消_bt.BackColor = Color.DimGray : 不印工資_取消_bt.ForeColor = Color.LightPink 甲方_cb.BackColor = Color.DimGray : 甲方_cb.ForeColor = Color.LawnGreen : 折讓比例_nud.BackColor = Color.DimGray : 折讓比例_nud.ForeColor = Color.LawnGreen 不印材料_全選_bt.BackColor = Color.DimGray : 不印材料_全選_bt.ForeColor = Color.LawnGreen : 不印材料_取消_bt.BackColor = Color.DimGray : 不印材料_取消_bt.ForeColor = Color.LawnGreen TB_1.BackColor = Color.Black : TB_1.ForeColor = Color.White : TB_2.BackColor = Color.Black : TB_2.ForeColor = Color.White TB_3.BackColor = Color.Black : TB_3.ForeColor = Color.White : TB_4.BackColor = Color.Black : TB_4.ForeColor = Color.White TB_5.BackColor = Color.Black : TB_5.ForeColor = Color.White : TB_6.BackColor = Color.Black : TB_6.ForeColor = Color.White TB_7.BackColor = Color.Black : TB_7.ForeColor = Color.White : TB_8.BackColor = Color.Black : TB_8.ForeColor = Color.White TB_9.BackColor = Color.Black : TB_9.ForeColor = Color.White : TB_10.BackColor = Color.Black : TB_10.ForeColor = Color.White TB_11.BackColor = Color.Black : TB_11.ForeColor = Color.White : TB_12.BackColor = Color.Black : TB_12.ForeColor = Color.White TB_13.BackColor = Color.Black : TB_13.ForeColor = Color.White : TB_14.BackColor = Color.Black : TB_14.ForeColor = Color.White TB_15.BackColor = Color.Black : TB_15.ForeColor = Color.White : TB_16.BackColor = Color.Black : TB_16.ForeColor = Color.White TB_17.BackColor = Color.Black : TB_17.ForeColor = Color.White : TB_18.BackColor = Color.Black : TB_18.ForeColor = Color.White TB_19.BackColor = Color.Black : TB_19.ForeColor = Color.White : TB_20.BackColor = Color.Black : TB_20.ForeColor = Color.White TB_21.BackColor = Color.Black : TB_21.ForeColor = Color.White PB_1.BackColor = Color.DimGray : PB_2.BackColor = Color.DimGray : PB_3.BackColor = Color.DimGray : PB_4.BackColor = Color.DimGray : PB_5.BackColor = Color.DimGray PB_6.BackColor = Color.DimGray : PB_7.BackColor = Color.DimGray : PB_8.BackColor = Color.DimGray : PB_9.BackColor = Color.DimGray : PB_10.BackColor = Color.DimGray PB_11.BackColor = Color.DimGray : PB_12.BackColor = Color.DimGray : PB_13.BackColor = Color.DimGray : PB_14.BackColor = Color.DimGray : PB_15.BackColor = Color.DimGray PB_16.BackColor = Color.DimGray : PB_17.BackColor = Color.DimGray : PB_18.BackColor = Color.DimGray : PB_19.BackColor = Color.DimGray : PB_20.BackColor = Color.DimGray PB_21.BackColor = Color.DimGray 查詢_bt.BackColor = Color.DimGray : 縮放1_bt.BackColor = Color.DimGray : 縮放2_bt.BackColor = Color.DimGray : 查閱文件_bt.BackColor = Color.DimGray 合約改版_bt.BackColor = Color.DimGray : 合約作廢_bt.BackColor = Color.DimGray : 刪除合約_bt.BackColor = Color.DimGray : 發送_bt.BackColor = Color.DimGray 存檔_tb.BackColor = Color.DimGray : 回首頁_bt.BackColor = Color.DimGray : 回次頁_bt.BackColor = Color.DimGray : BOM新增到明細表_bt.BackColor = Color.DimGray 選取資料新增到明細表_bt.BackColor = Color.DimGray : 查詢1_bt.BackColor = Color.DimGray : 新增試算表_bt.BackColor = Color.DimGray : 新增物件_bt.BackColor = Color.DimGray 修改樓層_迴圈_bt.BackColor = Color.DimGray : 重置_bt.BackColor = Color.DimGray : 刪除1_bt.BackColor = Color.DimGray 修改明細表上的材料指定_bt.BackColor = Color.DimGray : 排序2_bt.BackColor = Color.DimGray : 規格顯示修改_bt.BackColor = Color.DimGray : 新增資料2_bt.BackColor = Color.DimGray 選擇材料新增到明細表_bt.BackColor = Color.DimGray : 報價明細表存檔_bt.BackColor = Color.DimGray : 明細表編輯_bt.BackColor = Color.DimGray : 總表選擇刪除1_bt.BackColor = Color.DimGray 排序1_bt.BackColor = Color.DimGray : 新增資料1_bt.BackColor = Color.DimGray : 報價總表存檔_bt.BackColor = Color.DimGray : 列印成EXCEL_bt.BackColor = Color.DimGray 折價計算_bt.BackColor = Color.DimGray : 查詢_bt.BackColor = Color.DimGray : 彙總存檔_bt.BackColor = Color.DimGray : 上移_bt.BackColor = Color.DimGray : 下移_bt.BackColor = Color.DimGray 上移1_bt.BackColor = Color.DimGray : 下移1_bt.BackColor = Color.DimGray : 報價明細表存檔1_bt.BackColor = Color.DimGray Y軸_dgv.EnableHeadersVisualStyles = False : Y軸_dgv.BackgroundColor = Color.DimGray : Y軸_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White Y軸_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray : Y軸_dgv.DefaultCellStyle.BackColor = Color.Black : Y軸_dgv.DefaultCellStyle.ForeColor = Color.White 報價明細表_dgv.EnableHeadersVisualStyles = False : 報價明細表_dgv.BackgroundColor = Color.DimGray : 報價明細表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價明細表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表_dgv.DefaultCellStyle.BackColor = Color.DimGray 報價明細表_dgv.DefaultCellStyle.ForeColor = Color.White 報價明細表4_dgv.EnableHeadersVisualStyles = False : 報價明細表4_dgv.BackgroundColor = Color.DimGray : 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表4_dgv.DefaultCellStyle.BackColor = Color.DimGray 報價明細表4_dgv.DefaultCellStyle.ForeColor = Color.White 報價總表_dgv.EnableHeadersVisualStyles = False : 報價總表_dgv.BackgroundColor = Color.DimGray : 報價總表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價總表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價總表_dgv.DefaultCellStyle.BackColor = Color.DimGray 報價總表_dgv.DefaultCellStyle.ForeColor = Color.White 試算表_dgv.EnableHeadersVisualStyles = False : 試算表_dgv.BackgroundColor = Color.DimGray : 試算表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 試算表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 試算表_dgv.DefaultCellStyle.BackColor = Color.Black 試算表_dgv.DefaultCellStyle.ForeColor = Color.White 報價係數_dgv.EnableHeadersVisualStyles = False : 報價係數_dgv.BackgroundColor = Color.DimGray : 報價係數_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價係數_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數_dgv.DefaultCellStyle.BackColor = Color.Black 報價係數_dgv.DefaultCellStyle.ForeColor = Color.White 報價係數1_dgv.EnableHeadersVisualStyles = False : 報價係數1_dgv.BackgroundColor = Color.DimGray : 報價係數1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價係數1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數1_dgv.DefaultCellStyle.BackColor = Color.Black 報價係數1_dgv.DefaultCellStyle.ForeColor = Color.White 報價係數2_dgv.EnableHeadersVisualStyles = False : 報價係數2_dgv.BackgroundColor = Color.DimGray : 報價係數2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價係數2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數2_dgv.DefaultCellStyle.BackColor = Color.Black 報價係數2_dgv.DefaultCellStyle.ForeColor = Color.White 報價係數3_dgv.EnableHeadersVisualStyles = False : 報價係數3_dgv.BackgroundColor = Color.DimGray : 報價係數3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價係數3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數3_dgv.DefaultCellStyle.BackColor = Color.Black 報價係數3_dgv.DefaultCellStyle.ForeColor = Color.White 報價係數4_dgv.EnableHeadersVisualStyles = False : 報價係數4_dgv.BackgroundColor = Color.DimGray : 報價係數4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價係數4_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數4_dgv.DefaultCellStyle.BackColor = Color.Black 報價係數4_dgv.DefaultCellStyle.ForeColor = Color.White 報價明細表1_dgv.EnableHeadersVisualStyles = False : 報價明細表1_dgv.BackgroundColor = Color.DimGray : 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表1_dgv.DefaultCellStyle.BackColor = Color.Black 報價明細表1_dgv.DefaultCellStyle.ForeColor = Color.White 報價明細表3_dgv.EnableHeadersVisualStyles = False : 報價明細表3_dgv.BackgroundColor = Color.DimGray : 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表3_dgv.DefaultCellStyle.BackColor = Color.Black 報價明細表3_dgv.DefaultCellStyle.ForeColor = Color.White 合約_dgv.EnableHeadersVisualStyles = False : 合約_dgv.BackgroundColor = Color.DimGray : 合約_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 合約_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 合約_dgv.DefaultCellStyle.BackColor = Color.Black 合約_dgv.DefaultCellStyle.ForeColor = Color.White 物料清單_dgv.EnableHeadersVisualStyles = False : 物料清單_dgv.BackgroundColor = Color.DimGray : 物料清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 物料清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料清單_dgv.DefaultCellStyle.BackColor = Color.Black 物料清單_dgv.DefaultCellStyle.ForeColor = Color.White 物料規格_dgv.EnableHeadersVisualStyles = False : 物料規格_dgv.BackgroundColor = Color.DimGray : 物料規格_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 物料規格_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料規格_dgv.DefaultCellStyle.BackColor = Color.Black 物料規格_dgv.DefaultCellStyle.ForeColor = Color.White 物料清單1_dgv.EnableHeadersVisualStyles = False : 物料清單1_dgv.BackgroundColor = Color.DimGray : 物料清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 物料清單1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料清單1_dgv.DefaultCellStyle.BackColor = Color.Black 物料清單1_dgv.DefaultCellStyle.ForeColor = Color.White 物料規格1_dgv.EnableHeadersVisualStyles = False : 物料規格1_dgv.BackgroundColor = Color.DimGray : 物料規格1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 物料規格1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料規格1_dgv.DefaultCellStyle.BackColor = Color.Black 物料規格1_dgv.DefaultCellStyle.ForeColor = Color.White BOM表控制_dgv.EnableHeadersVisualStyles = False : BOM表控制_dgv.BackgroundColor = Color.DimGray : BOM表控制_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White BOM表控制_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : BOM表控制_dgv.DefaultCellStyle.BackColor = Color.Black BOM表控制_dgv.DefaultCellStyle.ForeColor = Color.White BOM表明細_dgv.EnableHeadersVisualStyles = False : BOM表明細_dgv.BackgroundColor = Color.DimGray : BOM表明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White BOM表明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : BOM表明細_dgv.DefaultCellStyle.BackColor = Color.Black BOM表明細_dgv.DefaultCellStyle.ForeColor = Color.White 合約1_dgv.EnableHeadersVisualStyles = False : 合約1_dgv.BackgroundColor = Color.DimGray : 合約1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 合約1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 合約1_dgv.DefaultCellStyle.BackColor = Color.Black 合約1_dgv.DefaultCellStyle.ForeColor = Color.White 報價明細表2_dgv.EnableHeadersVisualStyles = False : 報價明細表2_dgv.BackgroundColor = Color.DimGray : 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表2_dgv.DefaultCellStyle.BackColor = Color.Black 報價明細表2_dgv.DefaultCellStyle.ForeColor = Color.White End If End Sub End Class