123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944 |
- 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
- Public Class 合約報價單審核
- ReadOnly ds4, ds5, ds6, ds7, ds8, ds9, ds10, ds11, ds12, ds13, ds14, ds15, ds16 As New DataSet
- Dim KKK2, 物料規格, ESTR, 目前選擇, 條件選擇 As String
- Dim EDR, A1, A2, A3, B2, B3, AA1, AA2, AA3, BB2, BB3, OX1, OY1, OY2, 選取位置, NUM1, DGV_X, DGV_Y, XN1, XN2 As Integer
- Dim 啟動運算, 已超出, 放大, 不再動作1, 簽回檔 As Boolean
- Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
- Private Sub Set_合約報價係數()
- 報價係數_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.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.Columns(3).DefaultCellStyle.Format = "#,##0"
- 報價係數_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 報價係數_dgv.Columns(2).ReadOnly = True : 報價係數_dgv.Columns(3).ReadOnly = True : 報價係數_dgv.Columns(4).ReadOnly = True
- End Sub
- Private Sub Set_合約報價總表()
- Dim ds15 As New DataSet
- 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
- 報價總表_dgv.DataSource = Nothing : ds15.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()
-
- 報價總表_dgv.Columns(0).Visible = False : 報價總表_dgv.Columns(8).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
-
- 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(1).ReadOnly = True : 報價總表_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
- End Sub
- Private Sub Set_合約報價明細表格式()
- 報價明細表_dgv.Columns(0).FillWeight = 45 : 報價明細表_dgv.Columns(1).FillWeight = 45 : 報價明細表_dgv.Columns(2).FillWeight = 200
- 報價明細表_dgv.Columns(3).FillWeight = 45 : 報價明細表_dgv.Columns(4).FillWeight = 45 : 報價明細表_dgv.Columns(5).FillWeight = 100
- 報價明細表_dgv.Columns(6).FillWeight = 100 : 報價明細表_dgv.Columns(7).FillWeight = 70 : 報價明細表_dgv.Columns(8).FillWeight = 50
-
- 報價明細表_dgv.Columns(34).FillWeight = 80 : 報價明細表_dgv.Columns(33).FillWeight = 40
- 報價明細表_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
- If 利潤表_ch.Checked = False Then : 報價明細表_dgv.Columns("S").FillWeight = 20 : Else : 報價明細表_dgv.Columns("S").FillWeight = 40 : End If
- End Sub
- Private Sub Set_合約報價明細表()
- Dim ds14 As New DataSet
- 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
- 報價明細表_dgv.DataSource = Nothing : ds14.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)
- Set_合約報價明細表格式()
-
- Set_報價係數_dgv_下拉式清單1()
-
- For i As Integer = 4 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 : Next
- For i As Integer = 8 To 17 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : Next
-
- For i As Integer = 10 To 12 : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose : Next
- For i As Integer = 14 To 16 : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose : Next
-
- If 利潤表_ch.Checked = True Then : Set_報價明細表_dgv_利潤表開啟() : Else : Set_報價明細表_dgv_利潤表關閉() : End If
- For I As Integer = 18 To 58 : 報價明細表_dgv.Columns(I).Visible = False : Next
- 報價明細表_dgv.Columns(0).Visible = False
-
- 報價明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 報價明細表_dgv.Columns(1).ReadOnly = True : 報價明細表_dgv.Columns(2).ReadOnly = True : 報價明細表_dgv.Columns(4).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
-
- 報價明細表_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
- End Sub
- Private Sub Set_報價係數_dgv_下拉式清單1()
- Dim Col As New DataGridViewComboBoxColumn With {
- .FillWeight = 80,
- .DataPropertyName = "材料係數"
- }
- SQL_合約報價係數_下拉()
- Col.Items.Clear()
- While (dr.Read()) : Col.Items.Add(dr("項目")) : End While : conn.Close()
- Col.HeaderText = "係數" : Col.Name = "係數"
- 報價明細表_dgv.Columns.Insert(59, Col)
- End Sub
- Private Sub Set_報價明細表_dgv_利潤表關閉()
- If 報價明細表_dgv.Rows.Count > 0 Then
- 利潤表_ch.Checked = False : For i As Integer = 8 To 17 : 報價明細表_dgv.Columns(i).Visible = False : Next : 報價明細表_dgv.Columns(33).Visible = False
- End If
- 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 : 利潤表_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
- End If
- End Sub
- Private Sub Set_合約範例()
- 範例文本_dgv.DataSource = Nothing : ds12.Clear()
- 範例文本_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 範例文本_dgv.ColumnHeadersHeight = 25 : 範例文本_dgv.AllowUserToAddRows = False
- SQL_合約清單_範本()
- da.Fill(ds12) : 範例文本_dgv.DataSource = ds12.Tables(0) : conn.Close()
- End Sub
- Private Sub Set_合約清單()
- 合約_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
- SQL_合約清單_報價放行用()
- da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
- 合約_dgv.Columns(0).FillWeight = 130 : 合約_dgv.Columns("工程名稱_中").FillWeight = 280 : 合約_dgv.Columns("簽回").FillWeight = 40
- For i As Integer = 1 To 37 : 合約_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("工程名稱_中").Visible = True
- Else
- 合約_dgv.Columns("工程名稱_中").Visible = False
- End If
- End Sub
- Private Sub Set_合約試算控制表_查詢()
- 試算控制表_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()
-
- For i As Integer = 0 To 40 : 合約試算表頭(i) = i & "." : Next
- If 試算控制表_dgv.Rows.Count > 0 Then : For i As Integer = 0 To 試算控制表_dgv.Rows.Count - 1 : 合約試算表頭(i + 1) = 試算控制表_dgv("樓層/迴路", i).Value.ToString : Next : End If
- Set_試算明細表()
- End Sub
- Private Sub Set_試算明細表()
- Dim DS7 As New DataSet
- 試算表_dgv.DataSource = Nothing : DS7.Clear()
- 試算表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 試算表_dgv.ColumnHeadersHeight = 120 : 試算表_dgv.AllowUserToAddRows = False : 試算表_dgv.RowTemplate.Height = 45
- SQL_合約試算明細表_查詢()
- da.Fill(DS7) : 試算表_dgv.DataSource = DS7.Tables(0) : conn.Close()
- 試算表_dgv.Columns(0).Frozen = True : 試算表_dgv.Columns(1).Frozen = True : 試算表_dgv.Columns(2).Frozen = True
- 試算表_dgv.Columns(0).Visible = False
- For I As Integer = 45 To 54 : 試算表_dgv.Columns(I).Visible = False : Next
-
- 試算表_dgv.Columns(1).Width = 100 : 試算表_dgv.Columns(2).Width = 150 : 試算表_dgv.Columns(43).Width = 30 : 試算表_dgv.Columns(44).Width = 50
- 試算表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 試算表_dgv.Columns(44).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 試算表_dgv.Columns(44).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 試算表_dgv.Columns(44).DefaultCellStyle.Format = "#,##0"
-
- If 直接輸入_ch.Checked = False And 使用計算機_ch.Checked = True Then : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnF2
- Else : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnEnter : End If
- 試算表_dgv.Columns(1).ReadOnly = True : 試算表_dgv.Columns(2).ReadOnly = True : 試算表_dgv.Columns(44).ReadOnly = True
-
- Dim 開始 As Integer = 3 : Dim 結束 As Integer = 42
- For I As Integer = 開始 To 結束 : 試算表_dgv.Columns(I).Width = 80
- 試算表_dgv.Columns(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 試算表_dgv.Columns(I).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 試算表_dgv.Columns(I).DefaultCellStyle.Format = "#,##0.0"
- Next
- Dim 表頭數 As Integer = 試算控制表_dgv.Rows.Count
- If 表頭數 = 0 Then
- For I As Integer = 開始 To 結束 : 試算表_dgv.Columns(I).Visible = False : Next
- ElseIf 表頭數 > 0 Then
- For I As Integer = 開始 To 表頭數 + 2 : 試算表_dgv.Columns(I).Visible = True : Next
- For I As Integer = 表頭數 + 3 To 結束 : 試算表_dgv.Columns(I).Visible = False : Next
- End If
-
- For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
- '-------------------------規格合併呈現----------------------------------------------------------------------------------------------------------------------------------------
- If i = 0 Then
- PA3 = 試算表_dgv.Rows(i).Cells("規格庫抬頭指定").Value : 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()
- Else
- If 試算表_dgv.Rows(i).Cells("規格庫抬頭指定").Value.ToString <> 試算表_dgv.Rows(i - 1).Cells("規格庫抬頭指定").Value.ToString Then
- PA3 = 試算表_dgv.Rows(i).Cells("規格庫抬頭指定").Value : 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()
- End If
- End If
- Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
- If 詳細資料3_ch.Checked = True Then
- If 試算表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then
- ZA1 = AAA1 & "=" & 試算表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If
- If 試算表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : ZA2 = AAA2 & "=" & 試算表_dgv.Rows(i).Cells("A2").Value
- If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : ZA3 = AAA3 & "=" & 試算表_dgv.Rows(i).Cells("A3").Value
- If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : ZA4 = AAA4 & "=" & 試算表_dgv.Rows(i).Cells("A4").Value
- If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : ZA5 = AAA5 & "=" & 試算表_dgv.Rows(i).Cells("A5").Value
- If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : ZA6 = AAA6 & "=" & 試算表_dgv.Rows(i).Cells("A6").Value
- If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : ZA7 = AAA7 & "=" & 試算表_dgv.Rows(i).Cells("A7").Value
- If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : ZA8 = AAA8 & "=" & 試算表_dgv.Rows(i).Cells("A8").Value
- If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
- Else
- If 試算表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : ZA1 = 試算表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If
- If 試算表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
- ZA2 = 試算表_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
- ZA3 = 試算表_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
- ZA4 = 試算表_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
- ZA5 = 試算表_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
- ZA6 = 試算表_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
- ZA7 = 試算表_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
- If 試算表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
- ZA8 = 試算表_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
- End If
- 試算表_dgv.Rows(i).Cells("樓層/迴路").Value = 物料規格
- Next
- End Sub
- Private Sub Set_語言()
- 語言_dgv.DataSource = Nothing : ds13.Clear()
- 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 語言_dgv.ColumnHeadersHeight = 25 : 語言_dgv.AllowUserToAddRows = False
- SQL_系統語言導入()
- da.Fill(ds13) : 語言_dgv.DataSource = ds13.Tables(0) : conn.Close()
- End Sub
- Private Sub 語言轉換讀取()
- Set_語言() : conn.Close()
- For i As Integer = 0 To 語言_dgv.Rows.Count - 1
- If 語言_dgv("控件", i).Value.ToString = "物料清單_dgv_單位" Then : 表頭(16) = 語言_dgv("內容", i).Value.ToString : End If
- Next
- End Sub
- Private Sub Set_合約明細1()
- 第1期_dgv.DataSource = Nothing : ds7.Clear()
- 第1期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 第1期_dgv.ColumnHeadersHeight = 25 : 第1期_dgv.AllowUserToAddRows = False
- SQL_合約明細讀取()
- da.Fill(ds7) : 第1期_dgv.DataSource = ds7.Tables(0) : conn.Close()
- 第1期_dgv.Columns(0).Visible = False : 第1期_dgv.Columns(1).Visible = False : 第1期_dgv.Columns(2).FillWeight = 20 : 第1期_dgv.Columns(3).FillWeight = 140
- 第1期_dgv.Columns(4).FillWeight = 20 : 第1期_dgv.Columns(5).FillWeight = 50
- 第1期_dgv.Columns(2).ReadOnly = True : 第1期_dgv.Columns(5).ReadOnly = True
- 第1期_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 第1期_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 第1期_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 第1期_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 第1期_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 第1期_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- Private Sub Set_合約明細2()
- 第2期_dgv.DataSource = Nothing : ds8.Clear()
- 第2期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 第2期_dgv.ColumnHeadersHeight = 25 : 第2期_dgv.AllowUserToAddRows = False
- SQL_合約明細讀取()
- da.Fill(ds8) : 第2期_dgv.DataSource = ds8.Tables(0) : conn.Close()
- 第2期_dgv.Columns(0).Visible = False : 第2期_dgv.Columns(1).Visible = False : 第2期_dgv.Columns(2).FillWeight = 20 : 第2期_dgv.Columns(3).FillWeight = 140
- 第2期_dgv.Columns(4).FillWeight = 20 : 第2期_dgv.Columns(5).FillWeight = 50
- 第2期_dgv.Columns(2).ReadOnly = True : 第2期_dgv.Columns(5).ReadOnly = True
- 第2期_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 第2期_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 第2期_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 第2期_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 第2期_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 第2期_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- Private Sub Set_合約明細3()
- 第3期_dgv.DataSource = Nothing : ds9.Clear()
- 第3期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 第3期_dgv.ColumnHeadersHeight = 25
- 第3期_dgv.AllowUserToAddRows = False
- SQL_合約明細讀取()
- da.Fill(ds9) : 第3期_dgv.DataSource = ds9.Tables(0) : conn.Close()
- 第3期_dgv.Columns(0).Visible = False : 第3期_dgv.Columns(1).Visible = False : 第3期_dgv.Columns(2).FillWeight = 20 : 第3期_dgv.Columns(3).FillWeight = 140
- 第3期_dgv.Columns(4).FillWeight = 20 : 第3期_dgv.Columns(5).FillWeight = 50
- 第3期_dgv.Columns(2).ReadOnly = True : 第3期_dgv.Columns(5).ReadOnly = True
- 第3期_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 第3期_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 第3期_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 第3期_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 第3期_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 第3期_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- Private Sub Set_合約明細4()
- 第4期_dgv.DataSource = Nothing : ds10.Clear()
- 第4期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 第4期_dgv.ColumnHeadersHeight = 25 : 第4期_dgv.AllowUserToAddRows = False
- SQL_合約明細讀取()
- da.Fill(ds10) : 第4期_dgv.DataSource = ds10.Tables(0) : conn.Close()
- 第4期_dgv.Columns(0).Visible = False : 第4期_dgv.Columns(1).Visible = False : 第4期_dgv.Columns(2).FillWeight = 20 : 第4期_dgv.Columns(3).FillWeight = 140
- 第4期_dgv.Columns(4).FillWeight = 20 : 第4期_dgv.Columns(5).FillWeight = 50
- 第4期_dgv.Columns(2).ReadOnly = True : 第4期_dgv.Columns(5).ReadOnly = True
- 第4期_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 第4期_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 第4期_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 第4期_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 第4期_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 第4期_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- Private Sub Set_合約明細5()
- 第5期_dgv.DataSource = Nothing : ds11.Clear()
- 第5期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 第5期_dgv.ColumnHeadersHeight = 25 : 第5期_dgv.AllowUserToAddRows = False
- SQL_合約明細讀取()
- da.Fill(ds11) : 第5期_dgv.DataSource = ds11.Tables(0) : conn.Close()
- 第5期_dgv.Columns(0).Visible = False : 第5期_dgv.Columns(1).Visible = False : 第5期_dgv.Columns(2).FillWeight = 20 : 第5期_dgv.Columns(3).FillWeight = 140
- 第5期_dgv.Columns(4).FillWeight = 20 : 第5期_dgv.Columns(5).FillWeight = 50
- 第5期_dgv.Columns(2).ReadOnly = True : 第5期_dgv.Columns(5).ReadOnly = True
- 第5期_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 第5期_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 第5期_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 第5期_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 第5期_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- 'Private Sub 係數表下拉清單1()
- ' SQL_合約係數表下拉1() : 係數項目_cb.Items.Clear() : While (dr.Read()) : 係數項目_cb.Items.Add(dr("項目")) : End While : conn.Close()
- 'End Sub
- 'Private Sub 係數表下拉清單2()
- ' SQL_合約係數表下拉2() : 係數單位_cb.Items.Clear() : While (dr.Read()) : 係數單位_cb.Items.Add(dr("單位")) : End While : conn.Close()
- '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 群組碼_cb_語轉_下拉表單資料載入()
- ' SQL_群組碼_語轉_下拉清單() : 新群組1_cb.Items.Clear() : While (dr.Read()) : 新群組1_cb.Items.Add(dr("群組")) : End While : conn.Close()
- 'End Sub
- Private Sub 群組編碼_cb_下拉表單資料載入()
- SQL_群組碼_下拉清單() : 群組編碼_cb.Items.Clear() : While (dr.Read()) : 群組編碼_cb.Items.Add(dr("群組碼")) : End While : conn.Close()
- End Sub
- Private Sub 合約種類下拉清單讀取()
- SQL_合約種類讀取() : 合約種類_cb.Items.Clear() : 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合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
- End Sub
- Private Sub 預設資料()
- 合約種類_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
- 第1期_dgv.DataSource = Nothing : ds7.Clear() : 第2期_dgv.DataSource = Nothing : ds8.Clear() : 第3期_dgv.DataSource = Nothing : ds9.Clear()
- 第4期_dgv.DataSource = Nothing : ds10.Clear() : 第5期_dgv.DataSource = Nothing : ds11.Clear()
- 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
- 第1期_dgv.DataSource = Nothing : ds7.Clear() : 第2期_dgv.DataSource = Nothing : ds8.Clear() : 第3期_dgv.DataSource = Nothing : ds9.Clear()
- 第4期_dgv.DataSource = Nothing : ds10.Clear() : 第5期_dgv.DataSource = Nothing : ds11.Clear()
- End Sub
- Private Sub 合約報價單審核_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 介面 = "H401" : 語言轉換讀取()
- Me.KeyPreview = True
- 合約編號2_tb.Enabled = False : 合約編號3_tb.Enabled = False : CH1.Checked = False : CH2.Checked = True : NUD1.Enabled = False : NUD3.Enabled = True
- 直接輸入_ch.Checked = True : Panel1.SendToBack()
-
- 使用計算機_ch.Checked = False : SQL2 = ""
-
- If CInt(登入人級別) <= 3 Then : 合約停止_ch.Enabled = True : Else : 合約停止_ch.Enabled = False : End If
- 縮放1_bt.PerformClick() : 不再動作1 = True
-
- AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X : BB2 = 空間3.Location.Y : AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height
- OX1 = 報價係數_dgv.Size.Width : OY1 = 報價係數_dgv.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 : 幣別 = " (RMD)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
- 合約報價單_Siz()
- End Sub
- Private Sub 合約報價單_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
- 合約報價單_Siz()
- AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X : BB2 = 空間3.Location.Y
- If 合約_dgv.Visible = False Then : AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height : AA3 -= (AA2 - AA1) : End If
- End Sub
- Private Sub 合約報價單_Siz()
- MyModule1.清單字體大小調整()
- 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 報價係數_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", GCM_ERP_SYS.字體_NUD.Value)
- 報價總表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", GCM_ERP_SYS.字體_NUD.Value)
- 報價明細表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", GCM_ERP_SYS.字體_NUD.Value)
- End Sub
- Private Sub 合約報價單_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
- Set_合約清單() : 群組編碼_cb_下拉表單資料載入() : 甲方條件下拉清單讀取()
- PA = "範本" : Set_合約範例() : 預設資料()
- End Sub
- Private Sub 合約報價單_Closing(sender As Object, e As EventArgs) Handles MyBase.Closed
- GCM_ERP_SYS.WindowState = 0
- End Sub
- Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
- timeNow = 0 : GCM_ERP_SYS.Timer1.Enabled = False : GCM_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
- timeNow = 0 : GCM_ERP_SYS.Timer1.Enabled = False : GCM_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 合約讀取()
- 試算表_cb.Items.Clear() : 試算表_cb.Text = "試算表1" : 表號_tb.Text = "B01"
- '---------合約生成--------------------------------------------------------------------------------------------------------------
- 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取()
-
- If Strings.Left(合約_dgv("合約編號", 選取位置).Value.ToString, 3) = "GCM" Then : 合約編號_cb.Text = "GCM" : Else : 合約編號_cb.Text = "ICS" : 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
- 工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString
- 負責人_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
-
- 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
- PA1 = "1" : Set_合約明細1() : PA1 = "2" : Set_合約明細2() : PA1 = "3" : Set_合約明細3() : PA1 = "4" : Set_合約明細4() : PA1 = "5" : Set_合約明細5()
-
- '---------試算表--------------------------------------------------------------------------------------------------------------
- 合約編號_tb.Text = 合約_dgv("合約編號", 選取位置).Value.ToString
- PA = 合約_dgv("合約編號", 選取位置).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("合約編號", 選取位置).Value.ToString : 報價單客戶名稱_cb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString
- 報價工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 報價工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString
- 報價單立約日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value.ToString
- PA = 合約編號_tb.Text
- Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() : 報價總表_dgv_自動計算()
-
- If 報價明細表_dgv.Rows.Count = 0 Then : For i As Integer = 1 To 3 : 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 : 合約讀取() : 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
- If 直接輸入_ch.Checked = False And 使用計算機_ch.Checked = True Then
- If e.ColumnIndex > 1 And e.ColumnIndex < 40 Then
- 計算機.ShowDialog() : If IsNumeric(PA30) Then : 試算表_dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = PA30 : 試算表計算() : End If
- End If
- End If : 料號1_tb.Text = 試算表_dgv.Rows(e.RowIndex).Cells("料號").Value.ToString
-
- PA2 = Strings.StrReverse(Strings.Mid(Strings.StrReverse(試算表_dgv.Rows(e.RowIndex).Cells("料號").Value.ToString), 6, 50)) : 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)
- 物料圖_pb.Image = Bitmap.FromStream(oStream)
- End While : conn.Close() : 物料圖_pb.SizeMode = 4
- 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("流水號").Value.ToString
- 係數合約號_tb.Text = 報價係數_dgv.Rows(e.RowIndex).Cells("合約號碼").Value.ToString
- 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 : DGV位置1.Value = e.RowIndex
- 總表流水_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString : 選擇項3_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("排序").Value.ToString()
- DGV_X = e.ColumnIndex : DGV_Y = 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_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellClick
- If e.RowIndex = -1 Then : Else : DGV位置2.Value = e.RowIndex
- 明細表流水_tb.Text = 報價明細表_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString : 選擇項2_tb.Text = 報價明細表_dgv.Rows(e.RowIndex).Cells("排序").Value.ToString()
- ITEM3_cb.Text = 報價明細表_dgv.Rows(e.RowIndex).Cells("ITEM").Value.ToString() : 單位2_tb.Text = 報價明細表_dgv.Rows(e.RowIndex).Cells("UNIT").Value.ToString()
- 料號_tb.Text = 報價明細表_dgv.Rows(e.RowIndex).Cells("料號").Value.ToString() : 申請數_nud.Value = 報價明細表_dgv.Rows(e.RowIndex).Cells("QTY").Value.ToString()
-
- 物料圖1_pb.Image = Nothing
- If 報價明細表_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString = "" Then : Else
- PA2 = 報價明細表_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
-
- DGV_X = e.ColumnIndex : DGV_Y = e.RowIndex
- 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 = 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
- 連動編號_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
- 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 報價明細表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellEndEdit
- If 啟動運算 = True Then : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() : End If
- End Sub
- Private Sub 試算表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 試算表_dgv.CellEnter
- 試算表計算()
- End Sub
- Private Sub 試算表計算()
- For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
- If 試算表_dgv.Rows(i).Cells("係數").Value = False Then
- 試算表_dgv.Rows(i).Cells("Total").Value = 試算表_dgv.Rows(i).Cells(3).Value + 試算表_dgv.Rows(i).Cells(4).Value +
- 試算表_dgv.Rows(i).Cells(5).Value + 試算表_dgv.Rows(i).Cells(6).Value + 試算表_dgv.Rows(i).Cells(7).Value + 試算表_dgv.Rows(i).Cells(8).Value +
- 試算表_dgv.Rows(i).Cells(9).Value + 試算表_dgv.Rows(i).Cells(10).Value + 試算表_dgv.Rows(i).Cells(11).Value + 試算表_dgv.Rows(i).Cells(12).Value +
- 試算表_dgv.Rows(i).Cells(13).Value + 試算表_dgv.Rows(i).Cells(14).Value + 試算表_dgv.Rows(i).Cells(15).Value + 試算表_dgv.Rows(i).Cells(16).Value +
- 試算表_dgv.Rows(i).Cells(17).Value + 試算表_dgv.Rows(i).Cells(18).Value + 試算表_dgv.Rows(i).Cells(19).Value + 試算表_dgv.Rows(i).Cells(20).Value +
- 試算表_dgv.Rows(i).Cells(21).Value + 試算表_dgv.Rows(i).Cells(22).Value + 試算表_dgv.Rows(i).Cells(23).Value + 試算表_dgv.Rows(i).Cells(24).Value +
- 試算表_dgv.Rows(i).Cells(25).Value + 試算表_dgv.Rows(i).Cells(26).Value + 試算表_dgv.Rows(i).Cells(27).Value + 試算表_dgv.Rows(i).Cells(28).Value +
- 試算表_dgv.Rows(i).Cells(29).Value + 試算表_dgv.Rows(i).Cells(30).Value + 試算表_dgv.Rows(i).Cells(31).Value + 試算表_dgv.Rows(i).Cells(32).Value +
- 試算表_dgv.Rows(i).Cells(33).Value + 試算表_dgv.Rows(i).Cells(34).Value + 試算表_dgv.Rows(i).Cells(35).Value + 試算表_dgv.Rows(i).Cells(36).Value +
- 試算表_dgv.Rows(i).Cells(37).Value + 試算表_dgv.Rows(i).Cells(38).Value + 試算表_dgv.Rows(i).Cells(39).Value + 試算表_dgv.Rows(i).Cells(40).Value +
- 試算表_dgv.Rows(i).Cells(41).Value + 試算表_dgv.Rows(i).Cells(42).Value
- Else
- 試算表_dgv.Rows(i).Cells("Total").Value = (試算表_dgv.Rows(i).Cells(3).Value + 試算表_dgv.Rows(i).Cells(4).Value +
- 試算表_dgv.Rows(i).Cells(5).Value + 試算表_dgv.Rows(i).Cells(6).Value + 試算表_dgv.Rows(i).Cells(7).Value + 試算表_dgv.Rows(i).Cells(8).Value +
- 試算表_dgv.Rows(i).Cells(9).Value + 試算表_dgv.Rows(i).Cells(10).Value + 試算表_dgv.Rows(i).Cells(11).Value + 試算表_dgv.Rows(i).Cells(12).Value +
- 試算表_dgv.Rows(i).Cells(13).Value + 試算表_dgv.Rows(i).Cells(14).Value + 試算表_dgv.Rows(i).Cells(15).Value + 試算表_dgv.Rows(i).Cells(16).Value +
- 試算表_dgv.Rows(i).Cells(17).Value + 試算表_dgv.Rows(i).Cells(18).Value + 試算表_dgv.Rows(i).Cells(19).Value + 試算表_dgv.Rows(i).Cells(20).Value +
- 試算表_dgv.Rows(i).Cells(21).Value + 試算表_dgv.Rows(i).Cells(22).Value + 試算表_dgv.Rows(i).Cells(23).Value + 試算表_dgv.Rows(i).Cells(24).Value +
- 試算表_dgv.Rows(i).Cells(25).Value + 試算表_dgv.Rows(i).Cells(26).Value + 試算表_dgv.Rows(i).Cells(27).Value + 試算表_dgv.Rows(i).Cells(28).Value +
- 試算表_dgv.Rows(i).Cells(29).Value + 試算表_dgv.Rows(i).Cells(30).Value + 試算表_dgv.Rows(i).Cells(31).Value + 試算表_dgv.Rows(i).Cells(32).Value +
- 試算表_dgv.Rows(i).Cells(33).Value + 試算表_dgv.Rows(i).Cells(34).Value + 試算表_dgv.Rows(i).Cells(35).Value + 試算表_dgv.Rows(i).Cells(36).Value +
- 試算表_dgv.Rows(i).Cells(37).Value + 試算表_dgv.Rows(i).Cells(38).Value + 試算表_dgv.Rows(i).Cells(39).Value + 試算表_dgv.Rows(i).Cells(40).Value +
- 試算表_dgv.Rows(i).Cells(41).Value + 試算表_dgv.Rows(i).Cells(42).Value) / 100 * (100 + 係數_nud.Value)
- End If
- Next i
- End Sub
- Private Sub 報價總表_dgv_自動計算()
- For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
- 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 = "^" 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("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 <> "@" Then
- 合計 += 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value
- End If
- If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "合 計 Total" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 合計 : End If
-
- If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 0% Tax" Then
- 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0) : 稅金 = 合計 * 0 : 稅額顯示_lb.Text = "PPN 0%稅額 = Rp. "
- ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 5% Tax" Then
- 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0.05) : 稅金 = 合計 * 0.05 : 稅額顯示_lb.Text = "PPN 5%稅額 = Rp. "
- ElseIf 報價總表_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 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "總計 Grand Total" 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 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
- 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("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 = "@" 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("料號").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("料號").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("料號").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 : 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
- '------------------------------------工資計算-----------------------------------------------------------------------------------------------------------
- 報價明細表_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("工資報價單價").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
- '------------------------------------材料計算-----------------------------------------------------------------------------------------------------------
- 報價明細表_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 : 材料係數 = 100
- For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1
- If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString Then
- 材料係數 = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For : 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
- 報價明細表_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 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
- 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
- 預估工資總成本_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") : 總報價_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
- 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 : MsgBox(明細_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 : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
- Else : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
- End If
- Else : 已超出 = True : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
- 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 : MsgBox(明細_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 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 : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
- Else : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
- End If
- Else : 已超出 = True : GCM_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
- End If
- End If
- End Sub
- Private Sub 第1期_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 第1期_dgv.CellEnter
- If Not IsNumeric(第1期_dgv.Rows(e.RowIndex).Cells("比例").Value) Then
- If 系統語言 = "繁體中文" Then : MsgBox("欄位輸入必須為數值!!") : Else : MsgBox("Field input must be numeric!!") : End If
- 第1期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第1期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- Dim nn As Integer
- For i As Integer = 0 To 第1期_dgv.Rows.Count - 1 : nn += 第1期_dgv.Rows(i).Cells("比例").Value : Next
- If nn > 工程款1_nud.Value Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "第一期的細項比例不可大於 " : Else : SS = "The proportion of the details of the first phase cannot be greater than " : End If
- MsgBox(SS & Strings.Format(工程款1_nud.Value, "#,##0.00") & " % !!")
- 第1期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第1期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- For i As Integer = 0 To 第1期_dgv.Rows.Count - 1
- 第1期_dgv.Rows(i).Cells("金額").Value = 第1期_dgv.Rows(i).Cells("比例").Value * 金額1_und.Value / 工程款1_nud.Value
- Next i
- End If
- End If
- End Sub
- Private Sub 第2期_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 第2期_dgv.CellEnter
- If Not IsNumeric(第2期_dgv.Rows(e.RowIndex).Cells("比例").Value) Then
- If 系統語言 = "繁體中文" Then : MsgBox("欄位輸入必須為數值!!") : Else : MsgBox("Field input must be numeric!!") : End If
- 第2期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第2期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- Dim nn As Integer
- For i As Integer = 0 To 第2期_dgv.Rows.Count - 1 : nn += 第2期_dgv.Rows(i).Cells("比例").Value : Next
- If nn > 工程款2_nud.Value Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "第二期的細項比例不可大於 " : Else : SS = "The proportion of the details of the second phase cannot be greater than " : End If
- MsgBox(SS & Strings.Format(工程款2_nud.Value, "#,##0.00") & " % !!")
- 第2期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第2期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- For i As Integer = 0 To 第2期_dgv.Rows.Count - 1
- 第2期_dgv.Rows(i).Cells("金額").Value = 第2期_dgv.Rows(i).Cells("比例").Value * 金額2_und.Value / 工程款2_nud.Value
- Next i
- End If
- End If
- End Sub
- Private Sub 第3期_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 第3期_dgv.CellEnter
- If Not IsNumeric(第3期_dgv.Rows(e.RowIndex).Cells("比例").Value) Then
- If 系統語言 = "繁體中文" Then : MsgBox("欄位輸入必須為數值!!") : Else : MsgBox("Field input must be numeric!!") : End If
- 第3期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第3期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- Dim nn As Integer
- For i As Integer = 0 To 第3期_dgv.Rows.Count - 1 : nn += 第3期_dgv.Rows(i).Cells("比例").Value : Next
- If nn > 工程款3_nud.Value Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "第三期的細項比例不可大於 " : Else : SS = "The proportion of the details of the third period cannot be greater than " : End If
- MsgBox(SS & Strings.Format(工程款3_nud.Value, "#,##0.00") & " % !!")
- 第3期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第3期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- For i As Integer = 0 To 第3期_dgv.Rows.Count - 1
- 第3期_dgv.Rows(i).Cells("金額").Value = 第3期_dgv.Rows(i).Cells("比例").Value * 金額3_und.Value / 工程款3_nud.Value
- Next i
- End If
- End If
- End Sub
- Private Sub 第4期_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 第4期_dgv.CellEnter
- If Not IsNumeric(第4期_dgv.Rows(e.RowIndex).Cells("比例").Value) Then
- If 系統語言 = "繁體中文" Then : MsgBox("欄位輸入必須為數值!!") : Else : MsgBox("Field input must be numeric!!") : End If
- 第4期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第4期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- Dim nn As Integer
- For i As Integer = 0 To 第4期_dgv.Rows.Count - 1 : nn += 第4期_dgv.Rows(i).Cells("比例").Value : Next
- If nn > 工程款4_nud.Value Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "第四期的細項比例不可大於 " : Else : SS = "The proportion of the details of the fourth phase cannot be greater than " : End If
- MsgBox(SS & Strings.Format(工程款4_nud.Value, "#,##0.00") & " % !!")
- 第4期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第4期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- For i As Integer = 0 To 第4期_dgv.Rows.Count - 1
- 第4期_dgv.Rows(i).Cells("金額").Value = 第4期_dgv.Rows(i).Cells("比例").Value * 金額4_und.Value / 工程款4_nud.Value
- Next i
- End If
- End If
- End Sub
- Private Sub 第5期_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 第5期_dgv.CellEnter
- If Not IsNumeric(第5期_dgv.Rows(e.RowIndex).Cells("比例").Value) Then
- If 系統語言 = "繁體中文" Then : MsgBox("欄位輸入必須為數值!!") : Else : MsgBox("Field input must be numeric!!") : End If
- 第5期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第5期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- Dim nn As Integer
- For i As Integer = 0 To 第5期_dgv.Rows.Count - 1 : nn += 第5期_dgv.Rows(i).Cells("比例").Value : Next
- If nn > 工程款5_nud.Value Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "第五期的細項比例不可大於 " : Else : SS = "The proportion of the details of the fifth period cannot be greater than " : End If
- MsgBox(SS & Strings.Format(工程款5_nud.Value, "#,##0.00") & " % !!")
- 第5期_dgv.Rows(e.RowIndex).Cells("比例").Value = "0" : 第5期_dgv.Rows(e.RowIndex).Cells("金額").Value = "0"
- Else
- For i As Integer = 0 To 第5期_dgv.Rows.Count - 1
- 第5期_dgv.Rows(i).Cells("金額").Value = 第5期_dgv.Rows(i).Cells("比例").Value * 金額5_und.Value / 工程款5_nud.Value
- Next i
- 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 : 明細選項_bt.Text = 第1期_dgv("細項", e.RowIndex).Value.ToString : 明細選項_bt.Text = Strings.Format(Val(明細選項_bt.Text), "#,##0") : End If
- End Sub
- Private Sub 第2期_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 第2期_dgv.CellClick
- If e.RowIndex = -1 Then : Else : 明細選項_bt.Text = 第2期_dgv("細項", e.RowIndex).Value.ToString : 明細選項_bt.Text = Strings.Format(Val(明細選項_bt.Text), "#,##0") : 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 : 明細選項_bt.Text = 第3期_dgv("細項", e.RowIndex).Value.ToString : 明細選項_bt.Text = Strings.Format(Val(明細選項_bt.Text), "#,##0") : End If
- 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 : 明細選項_bt.Text = 第4期_dgv("細項", e.RowIndex).Value.ToString : 明細選項_bt.Text = Strings.Format(Val(明細選項_bt.Text), "#,##0") : End If
- End Sub
- Private Sub 第5期_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 第5期_dgv.CellClick
- If e.RowIndex = -1 Then : Else : 明細選項_bt.Text = 第5期_dgv("細項", e.RowIndex).Value.ToString : 明細選項_bt.Text = Strings.Format(Val(明細選項_bt.Text), "#,##0") : End If
- End Sub
-
-
-
- '-----------------建立合約資料功能-------------------------------------------------------------------------------------------------------------------------------
- Private Sub 群組編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組編碼_cb.SelectedIndexChanged
- 群組碼_tb.Text = 群組編碼_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 = "G.C.M. Smart Enterprise LTD." Then : 合約編號_cb.Text = "GCM" : Else : 合約編號_cb.Text = "ICS" : End If
- If 選擇公司_cb.Text = "G.C.M. Smart Enterprise LTD." Then : 我司地址_tb.Text = "屏東縣萬丹鄉麟洛鄉中山路382-103號" : Else
- 我司地址_tb.Text = "J.Kaliandra 1 no 1E blok F6 Lantai 2 Delta Silicon II Lippo Cikarang ,Desa Cicau ,Kec. Cikarang Pusat, Kab Bekasi"
- End If
- End Sub
- Private Sub 合約編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號_cb.SelectedIndexChanged
- If 合約編號_cb.Text = "GCM" Then : 選擇公司_cb.Text = "G.C.M. Smart Enterprise LTD." : Else : 選擇公司_cb.Text = "PT.Indonesia Cemerlang Sistem" : End If
- End Sub
- Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
- PA = 關鍵字搜尋_tb.Text : Set_合約清單()
- 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 : Else : 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 : Else : NUD2.Value = NUD1.Value / 111 * 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 : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If : Else
- PA = 合約編號_tb.Text : SQL_合約清單_報價放行_存檔()
- If 系統語言 = "繁體中文" Then : MsgBox("合約 " & 合約編號_tb.Text & " 放行成功!!!!") : Else : MsgBox("Contract" & 合約編號_tb.Text & " Release successfully!!!!") : End If
- Set_合約清單()
- End If : conn.Close()
- End Sub
- Private Sub 存檔_tb_Click(sender As Object, e As EventArgs) Handles 存檔_tb.Click
- Dim 合約編號條件 As Boolean = True
- If 合約編號_cb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇我方公司!!") : Else : MsgBox("Did not choose our company!!") : End If : 合約編號條件 = False : End If
- If 合約編號1_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有甲方公司英文縮寫!!") : Else : MsgBox("There is no English abbreviation of Party A company!!") : End If : 合約編號條件 = 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
- If 系統語言 = "繁體中文" Then : MsgBox("甲方公司簡稱需要英文或是數字,不可以是中文或其他符號!!")
- Else : MsgBox("Party A's company abbreviation needs to be in English or numbers, not Chinese or other symbols!!") : End If
- 合約編號條件 = False : Exit For : End If
- End If
- End If
- Next
- End If
- If 合約編號2_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有立約日期!!") : Else : MsgBox("There is no covenant date!!") : End If : 合約編號條件 = 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
- If 系統語言 = "繁體中文" Then : MsgBox("立約日期只能是數字!!") : Else : MsgBox("Covenant date can only be a number!!") : End If : 合約編號條件 = False : Exit For : Else
- If Len(合約編號2_tb.Text) <> 6 Then
- If 系統語言 = "繁體中文" Then : MsgBox("立約日期的格式為YYMMDD (年兩位,月兩位,日兩位),數字規格不符!!")
- Else : MsgBox("The format of the contract date is YYMMDD (two digits for the year, two digits for the month, and two digits for the day), and the numerical specifications do not match!!") : End If
- 合約編號條件 = False : Exit For : End If
- End If
- Next
- If 合約編號3_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有合約序號!!") : Else : MsgBox("No contract number!!") : End If : 合約編號條件 = False
- ElseIf IsNumeric(合約編號3_tb.Text) = False Then
- If 系統語言 = "繁體中文" Then : MsgBox("序號只能是數字!!") : Else : MsgBox("Serial numbers can only be numbers!!") : End If : 合約編號條件 = False
- End If
-
- If 合約編號條件 = False Then : Else
- If 工程款6_nud.Value <> 100 Then
- If 系統語言 = "繁體中文" Then : MsgBox("工程款估驗 不等於 100%!!") : Else : MsgBox("Project appraisal is not equal to 100%!!") : End If
- Else
- Dim AN1, AN2, AN3, AN4, AN5 As Integer
- Dim STST1 As String = "" : Dim STST2 As String = "" : Dim STST3 As String = "" : Dim STST4 As String = "" : Dim STST5 As String = ""
- Dim SS1, SS2, SS3, SS4, SS5 As String
- If 系統語言 = "繁體中文" Then
- SS1 = "第一期工程款細項不吻合!!" : SS2 = "第二期工程款細項不吻合!!" : SS3 = "第三期工程款細項不吻合!!" : SS4 = "第四期工程款細項不吻合!!" : SS5 = "第五期工程款細項不吻合!!"
- Else
- SS1 = "The details of the first phase of the project do not match!!" : SS2 = "The details of the second phase of the project do not match!!" : SS3 = "The details of the third phase of the project do not match!!"
- SS4 = "The details of the fourth phase of the project do not match!!" : SS5 = "The details of the fifth phase of the project do not match!!"
- End If
-
- For I As Integer = 0 To 第1期_dgv.Rows.Count - 1 : AN1 += 第1期_dgv.Rows(I).Cells("比例").Value : Next
- For I As Integer = 0 To 第2期_dgv.Rows.Count - 1 : AN2 += 第2期_dgv.Rows(I).Cells("比例").Value : Next
- For I As Integer = 0 To 第3期_dgv.Rows.Count - 1 : AN3 += 第3期_dgv.Rows(I).Cells("比例").Value : Next
- For I As Integer = 0 To 第4期_dgv.Rows.Count - 1 : AN4 += 第4期_dgv.Rows(I).Cells("比例").Value : Next
- For I As Integer = 0 To 第5期_dgv.Rows.Count - 1 : AN5 += 第5期_dgv.Rows(I).Cells("比例").Value : Next
- If AN1 <> 工程款1_nud.Value And 第1期_dgv.Rows.Count > 0 Then : STST1 = SS1 : End If
- If AN2 <> 工程款2_nud.Value And 第2期_dgv.Rows.Count > 0 Then : STST2 = SS2 : End If
- If AN3 <> 工程款3_nud.Value And 第3期_dgv.Rows.Count > 0 Then : STST3 = SS3 : End If
- If AN4 <> 工程款4_nud.Value And 第4期_dgv.Rows.Count > 0 Then : STST4 = SS4 : End If
- If AN5 <> 工程款5_nud.Value And 第5期_dgv.Rows.Count > 0 Then : STST5 = SS5 : End If
- If STST1 <> "" Or STST2 <> "" Or STST3 <> "" Or STST4 <> "" Or STST5 <> "" Then
- MsgBox(STST1 & vbCrLf &
- STST2 & vbCrLf &
- STST3 & vbCrLf &
- STST4 & vbCrLf &
- STST5)
- Else
- PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text : 合約編號_tb.Text = PA
- SQL_合約查詢()
- If dr.Read() Then
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "系統內已有相同單號,請問是否存檔(會覆蓋舊資料)?"
- Else : SS = "The same tracking number already exists in the system, do you want to archive it (the old data will be overwritten)?" : End If
- Dim aa As MsgBoxResult = MsgBox(SS, MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then : 合約存檔() : End If
- End If
- PA = 合約編號_tb.Text : Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表()
- End If
- End If
- 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
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "合約上的負責人與系統中的資料不吻合,是否要更新系統中的負責人資料?"
- Else : SS = "The person in charge on the contract does not match the data in the system. Do you want to update the data of the person in charge in the system?" : End If
- Dim aa As MsgBoxResult = MsgBox(SS, MsgBoxStyle.OkCancel) '對話框(3)
- If aa = MsgBoxResult.Ok 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
- SQL_合約查詢() : If dr.Read() Then : SQL_合約修改2() : conn.Close() : Else : End If
- 合約明細存檔() : PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text
- If 系統語言 = "繁體中文" Then : MsgBox("存檔完成,合約清單鎖定解除!!") : Else : MsgBox("The archive is complete, the contract list lock is released!!") : End If
- Set_合約清單() : 合約_dgv.Enabled = True
- End Sub
-
- Private Sub 合約明細存檔()
- For i As Integer = 0 To 第1期_dgv.Rows.Count - 1
- PA1 = "1" : PA2 = 第1期_dgv.Rows(i).Cells("細項").Value : PA3 = 第1期_dgv.Rows(i).Cells("內容").Value
- NU1 = 第1期_dgv.Rows(i).Cells("比例").Value : NU2 = 第1期_dgv.Rows(i).Cells("金額").Value : SQL_合約明細修改()
- Next
- For i As Integer = 0 To 第2期_dgv.Rows.Count - 1
- PA1 = "2" : PA2 = 第2期_dgv.Rows(i).Cells("細項").Value : PA3 = 第2期_dgv.Rows(i).Cells("內容").Value
- NU1 = 第2期_dgv.Rows(i).Cells("比例").Value : NU2 = 第2期_dgv.Rows(i).Cells("金額").Value : SQL_合約明細修改()
- Next
- For i As Integer = 0 To 第3期_dgv.Rows.Count - 1
- PA1 = "3" : PA2 = 第3期_dgv.Rows(i).Cells("細項").Value : PA3 = 第3期_dgv.Rows(i).Cells("內容").Value
- NU1 = 第3期_dgv.Rows(i).Cells("比例").Value : NU2 = 第3期_dgv.Rows(i).Cells("金額").Value : SQL_合約明細修改()
- Next
- For i As Integer = 0 To 第4期_dgv.Rows.Count - 1
- PA1 = "4" : PA2 = 第4期_dgv.Rows(i).Cells("細項").Value : PA3 = 第4期_dgv.Rows(i).Cells("內容").Value
- NU1 = 第4期_dgv.Rows(i).Cells("比例").Value : NU2 = 第4期_dgv.Rows(i).Cells("金額").Value : SQL_合約明細修改()
- Next
- For i As Integer = 0 To 第5期_dgv.Rows.Count - 1
- PA1 = "5" : PA2 = 第5期_dgv.Rows(i).Cells("細項").Value : PA3 = 第5期_dgv.Rows(i).Cells("內容").Value
- NU1 = 第5期_dgv.Rows(i).Cells("比例").Value : NU2 = 第5期_dgv.Rows(i).Cells("金額").Value : SQL_合約明細修改()
- Next
- End Sub
- Private Sub 合約編號1_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_tb.TextChanged
- 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 折價計算_bt_Click(sender As Object, e As EventArgs) Handles 折價計算_bt.Click
- If 歸零位數_nud.Value >= Len(CLng(未折價前_tb.Text)) - 1 Then
- If 系統語言 = "繁體中文" Then : MsgBox("歸零位數太大,報價會出錯!!") : Else : MsgBox("The number of zeroing digits is too large, and the quotation will be wrong!!") : End If
- 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 0%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後)
- ElseIf 稅額顯示_lb.Text = "PPN 5%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後 / 105 * 100)
- ElseIf 稅額顯示_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
- 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_Click(sender As Object, e As EventArgs) Handles 台幣_ch.Click
- 美金_ch.Checked = False : 台幣_ch.Checked = True : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = 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
- 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
- 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_Click(sender As Object, e As EventArgs) Handles 印尼盾_ch.Click
- 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = True
- 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 總表範例新增()
- 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
- 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 報價總表存檔()
- For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
- 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_合約報價總表_存檔()
- Next
- SQL_合約修改_報價說明()
- 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
- SQL_合約修改2() : Set_合約報價總表() : Set_合約清單()
- End If
- End Sub
-
- '-----------------合約報價明細表-------------------------------------------------------------------------------------------------------------------------------
- Private Sub 報價明細表存檔()
- For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
- 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
- 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("料號").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
- SQL_合約報價明細表_存檔()
- Next
- '-----------------預估利潤存檔-------------------------------------------------------------------------------------------------------------------------------
-
- If 預估工資總成本_tb.Text = "" Then : 預估工資總成本_tb.Text = "0" : End If
- PA37 = 預估工資總成本_tb.Text
- 預估利潤存檔()
- End Sub
-
- '-----------------合約試算表功能-------------------------------------------------------------------------------------------------------------------------------
- Private Sub 試算表_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 試算表_cb.SelectedIndexChanged
- PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢()
- If dr.Read() Then : 係數_nud.Value = dr("係數") : 表號_tb.Text = dr("表號").ToString : 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 : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If : Else
- PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢()
- If dr.Read() Then : If 系統語言 = "繁體中文" Then : MsgBox("[試算表]名稱重複,請重新輸入!!") : Else : MsgBox("[Spreadsheet] Duplicate name, please re-enter!!") : End If : 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_合約試算分表_新增()
- '------重新載入下拉清單---------------------------------------------------------------------------------------
- 合約試算分下拉清單() : If 系統語言 = "繁體中文" Then : MsgBox("新增完成!!") : Else : MsgBox("Added complete!!") : End If
- End If : conn.Close()
- End If
- End Sub
- Private Sub 修改試算表名稱_bt_Click(sender As Object, e As EventArgs) Handles 修改試算表名稱_bt.Click
- PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢()
- If dr.Read() Then : If 系統語言 = "繁體中文" Then : MsgBox("[試算表]名稱重複,請重新輸入!!") : Else : MsgBox("[Spreadsheet] Duplicate name, please re-enter!!") : End If : Else
- PA = 合約編號_tb.Text : PA1 = 試算表_cb.Text : PA2 = 表號_tb.Text : SQL_合約試算分表_試算表修改()
- '------重新載入下拉清單---------------------------------------------------------------------------------------
- 合約試算分下拉清單() : If 系統語言 = "繁體中文" Then : MsgBox("修改完成!!") : Else : MsgBox("Modification complete!!") : End If
- End If : conn.Close()
- End Sub
- Private Sub 新增物件_bt_Click(sender As Object, e As EventArgs) Handles 新增物件_bt.Click
- If 試算控制表_dgv.Rows.Count = 40 Then
- If 系統語言 = "繁體中文" Then : MsgBox("單一試算表內最多只能建立40個[樓層/迴路]!!") : Else : MsgBox("Only a maximum of 40 [floors/circuits] can be created in a single spreadsheet!!") : End If : Else
- If 合約編號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If : Else
- PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢()
- If dr.Read() Then
- If 系統語言 = "繁體中文" Then : MsgBox("[樓層/迴路]名稱重複,請重新輸入!!") : Else : MsgBox("[Floor/Circuit] Duplicate name, please re-enter!!") : End If : 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_合約試算控制表_查詢() : If 系統語言 = "繁體中文" Then : MsgBox("新增完成!!") : Else : MsgBox("Added complete!!") : End If
- End If : conn.Close()
- End If
- End If
- End Sub
- Private Sub 修改樓層_迴圈_bt_Click(sender As Object, e As EventArgs) Handles 修改樓層_迴圈_bt.Click
- PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢()
- If dr.Read() Then
- If 系統語言 = "繁體中文" Then : MsgBox("[樓層/迴路]名稱重複,請重新輸入!!") : Else : MsgBox("[Floor/Circuit] Duplicate name, please re-enter!!") : End If : Else
- PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : PA5 = 表頭_tb.Text : SQL_合約試算控制表_樓層迴路修改()
- '------重新載入下拉清單---------------------------------------------------------------------------------------
- 合約試算控制下拉清單() : Set_合約試算控制表_查詢() : If 系統語言 = "繁體中文" Then : MsgBox("修改完成!!") : Else : MsgBox("Modification complete!!") : End If
- End If : conn.Close()
- End Sub
- Private Sub 材料加入1_bt_Click(sender As Object, e As EventArgs) Handles 材料加入1_bt.Click
- If 合約編號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If : Else
- If 樓層_迴路_cb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("[樓層/迴路]沒有選擇!!") : Else : MsgBox("[Floor/Circuit] No choice!!") : End If : Else
- If 料號1_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇物料!!") : Else : MsgBox("No material selected!!") : End If : Else
- 存檔() : PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA6 = 料號1_tb.Text : SQL_合約試算明細表重複查詢()
- If dr.Read() Then
- If 系統語言 = "繁體中文" Then : MsgBox("要加入試算表的物料重複,請重新輸入!!")
- Else : MsgBox("To add material duplicates to the trial balance, please re-enter!!") : End If
- Else : conn.Close() : SQL_合約試算明細表_新增物料() : Set_試算明細表() : End If : conn.Close()
- End If
- 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
- If 直接輸入_ch.Checked = False And 使用計算機_ch.Checked = True Then : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnF2
- Else : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnEnter : End If
- End Sub
- Private Sub 使用計算機_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 使用計算機_ch.Click
- 直接輸入_ch.Checked = False : 使用計算機_ch.Checked = True
- If 直接輸入_ch.Checked = False And 使用計算機_ch.Checked = True Then : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnF2
- Else : 試算表_dgv.EditMode = DataGridViewEditMode.EditOnEnter : End If
- End Sub
- Private Sub 存檔()
- If 合約編號_tb.Text = "" Or 表號_tb.Text = "" Then
- If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If
- Else
- PA = 合約編號_tb.Text : PA1 = 表號_tb.Text
- For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
- PA43 = 試算表_dgv.Rows(i).Cells(0).Value : PA2 = 試算表_dgv.Rows(i).Cells(3).Value : PA3 = 試算表_dgv.Rows(i).Cells(4).Value : PA4 = 試算表_dgv.Rows(i).Cells(5).Value
- PA5 = 試算表_dgv.Rows(i).Cells(6).Value : PA6 = 試算表_dgv.Rows(i).Cells(7).Value : PA7 = 試算表_dgv.Rows(i).Cells(8).Value : PA8 = 試算表_dgv.Rows(i).Cells(9).Value
- PA9 = 試算表_dgv.Rows(i).Cells(10).Value : PA10 = 試算表_dgv.Rows(i).Cells(11).Value : PA11 = 試算表_dgv.Rows(i).Cells(12).Value : PA12 = 試算表_dgv.Rows(i).Cells(13).Value
- PA13 = 試算表_dgv.Rows(i).Cells(14).Value : PA14 = 試算表_dgv.Rows(i).Cells(15).Value : PA15 = 試算表_dgv.Rows(i).Cells(16).Value : PA16 = 試算表_dgv.Rows(i).Cells(17).Value
- PA17 = 試算表_dgv.Rows(i).Cells(18).Value : PA18 = 試算表_dgv.Rows(i).Cells(19).Value : PA19 = 試算表_dgv.Rows(i).Cells(20).Value : PA20 = 試算表_dgv.Rows(i).Cells(21).Value
- PA21 = 試算表_dgv.Rows(i).Cells(22).Value : PA22 = 試算表_dgv.Rows(i).Cells(23).Value : PA23 = 試算表_dgv.Rows(i).Cells(24).Value : PA24 = 試算表_dgv.Rows(i).Cells(25).Value
- PA25 = 試算表_dgv.Rows(i).Cells(26).Value : PA26 = 試算表_dgv.Rows(i).Cells(27).Value : PA27 = 試算表_dgv.Rows(i).Cells(28).Value : PA28 = 試算表_dgv.Rows(i).Cells(29).Value
- PA29 = 試算表_dgv.Rows(i).Cells(30).Value : PA30 = 試算表_dgv.Rows(i).Cells(31).Value : PA31 = 試算表_dgv.Rows(i).Cells(32).Value : PA32 = 試算表_dgv.Rows(i).Cells(33).Value
- PA33 = 試算表_dgv.Rows(i).Cells(34).Value : PA34 = 試算表_dgv.Rows(i).Cells(35).Value : PA35 = 試算表_dgv.Rows(i).Cells(36).Value : PA36 = 試算表_dgv.Rows(i).Cells(37).Value
- PA37 = 試算表_dgv.Rows(i).Cells(38).Value : PA38 = 試算表_dgv.Rows(i).Cells(39).Value : PA39 = 試算表_dgv.Rows(i).Cells(40).Value : PA40 = 試算表_dgv.Rows(i).Cells(41).Value
- PA41 = 試算表_dgv.Rows(i).Cells(42).Value : BL1 = 試算表_dgv.Rows(i).Cells(43).Value : PA42 = 試算表_dgv.Rows(i).Cells(44).Value
- SQL_合約試算明細表_修改()
- Next i
- End If
- End Sub
- Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
- 存檔() : If 系統語言 = "繁體中文" Then : MsgBox("存檔完成!!") : Else : MsgBox("Archive complete!!") : End If
- End Sub
- Private Sub 刪除1_bt_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click
- Dim SS As String
- If 系統語言 = "繁體中文" Then : SS = "是否要刪除這筆資料?" : Else : SS = "Do you want to delete this data?" : End If
- Dim aa As MsgBoxResult = MsgBox(SS, MsgBoxStyle.OkCancel) '對話框(3)
- If aa = MsgBoxResult.Ok Then
- PA = 合約編號_tb.Text : PA1 = 表號_tb.Text : PA43 = 料號1_tb.Text : PA2 = 表號_tb.Text : SQL_合約試算明細表_刪除()
- If 系統語言 = "繁體中文" Then : MsgBox("刪除完成!!") : Else : MsgBox("Delete complete!!") : End If : Set_試算明細表()
- End If
- End Sub
-
- '-----------------預估利潤存檔-------------------------------------------------------------------------------------------------------------------------------
- Private Sub 預估利潤存檔()
- If 預估利潤_tb.Text = "" Or 預估利潤_tb.Text = "0" Or 利潤比3_tb.Text = "0 %" 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 合約編號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.Rows.Count > 2999 Then
- If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!")
- Else : MsgBox("The number of lists exceeds 3000, please notify the system administrator to modify the program!") : End If : Else
- For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
- For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : PPBB(I) = 合約_dgv("合約編號", I).Value.ToString : NN1 = I : Next
- 下拉清單_1.ShowDialog()
- For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : If PPAA = 合約_dgv("合約編號", I).Value.ToString Then : 選取位置 = I : Exit For : End If : Next : 合約讀取()
- End If
- 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
- If 不再動作1 = False Then : 空間3.Location = New System.Drawing.Point(AA1, BB2) : 空間3.Size = New System.Drawing.Point((AA2 - AA1) + AA3, BB3) : 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) : 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("工程名稱_中").Visible = False
- Else
- 合約_dgv.Size = New System.Drawing.Point(NX + 400, NY) : 放大 = True : 合約_dgv.Columns("工程名稱_中").Visible = True
- End If
- End Sub
- Private Sub 物料圖_pb_Click(sender As Object, e As EventArgs) Handles 物料圖_pb.Click
- If IsNothing(物料圖_pb.Image) = False Then : 圖片傳遞 = 物料圖_pb.Image : 圖片放大視窗.ShowDialog() : 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 : Set_報價明細表_dgv_利潤表關閉() : Else : Set_報價明細表_dgv_利潤表開啟() : 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 : Set_報價明細表_dgv_利潤表關閉() : Else : Set_報價明細表_dgv_利潤表開啟() : 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 : Set_報價明細表_dgv_利潤表開啟() : Else : 利潤表_ch.Checked = False : Set_報價明細表_dgv_利潤表關閉() : End If
- 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 詳細資料3_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料3_ch.Click
- If 詳細資料3_ch.Checked = True Then : 詳細資料3_ch.Checked = True : Else : 詳細資料3_ch.Checked = False : End If : Set_試算明細表()
- End Sub
-
- '----------------------列印成excel---------------------------------------------------------------------------------------------------------
- Private Sub 列印成EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.Click
- If 合約編號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("沒有選擇合約!!") : Else : MsgBox("No option contract!!") : End If : Else
- XN1 = 0
- xlApp = CType(CreateObject("Excel.Application"), 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 & "" & 幣別 : xlSheet.Cells(5, 7) = "AMOUNT" & vbCrLf & "" & 幣別 : 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 CInt(報價明細表_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 CInt(報價明細表_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 CInt(報價明細表_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 CInt(報價明細表_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 CInt(報價明細表_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 CInt(報價明細表_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 CInt(報價明細表_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)
- If 合約編號_cb.Text = "GCM" 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 & "" & 幣別
- xlSheet.Cells(6, 6) = "AMOUNT" & vbCrLf & "" & 幣別 : xlSheet.Cells(6, 4) = "Q'TY" : xlSheet.Cells(6, 7) = "REMARKS"
- 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() = "^" Then : Else
- xlSheet.Cells(7 + i, 1) = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString()
- End If
- xlSheet.Cells(7 + i, 2) = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString()
- xlSheet.Cells(7 + i, 3) = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString()
- If CInt(報價總表_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 CInt(報價總表_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 CInt(報價總表_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) = "報價說明Offer descriptions:"
- xlSheet.Cells(XN1 + 5, 7) = gUserName
- xlSheet.Cells(XN1 + 6, 1) = "_________________________________" : xlSheet.Cells(XN1 + 6, 3) = "_________________________________"
- xlSheet.Cells(XN1 + 6, 7) = "_________________________________"
- BB(xlApp, xlSheet)
- If 合約編號_cb.Text = "GCM" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : FF(xlApp, xlSheet)
- '----------------------------------------------------------------------------------------------------------------------
- xlApp.Sheets(3).Delete
- xlSheet.PageSetup.PrintArea = ""
- xlApp.Cells.Select()
- xlApp.Application.WindowState = xlMinimized
- If 系統語言 = "繁體中文" Then : MsgBox("列印完成!!") : Else : MsgBox("Printing is complete!!") : End If
- End If
- End Sub
- Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
- Return CType(xlBook.Worksheets.Add, Worksheet)
- End Function
- Private Sub AA(ByVal myExcel As 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 = 95
- 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
- End Sub
- Private Sub BB(ByVal myExcel As 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 = 95 : 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
- End Sub
- Private Sub CC(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- Clipboard.SetDataObject(PictureBox1.Image)
- xlSheet.Range("A1").Select()
- myExcel.ActiveSheet.Pictures.Paste.Select
- myExcel.Selection.ShapeRange.Height = 93
- myExcel.Selection.ShapeRange.IncrementLeft(0)
- myExcel.Selection.ShapeRange.IncrementTop(0)
- End Sub
- Private Sub DD(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- Clipboard.SetDataObject(PictureBox2.Image)
- xlSheet.Range("A1").Select()
- myExcel.ActiveSheet.Pictures.Paste.Select
- myExcel.Selection.ShapeRange.Height = 93
- myExcel.Selection.ShapeRange.IncrementLeft(0)
- myExcel.Selection.ShapeRange.IncrementTop(0)
- End Sub
- Private Sub FF(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- 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 = "" : .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
- End Class
|