Option Strict Off 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 合約結案控制表 Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet Private Sub Set_合約清單() Dim ds2 As New DataSet 合約控制表_dgv.DataSource = Nothing : ds2.Clear() 合約控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 合約控制表_dgv.ColumnHeadersHeight = 40 : 合約控制表_dgv.AllowUserToAddRows = False PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text If 全部資料_ch.Checked = True And 請款未結束_ch.Checked = False And 請款已結束_ch.Checked = False Then SQL2 = "WHERE 合約控制表.工程名稱_中 NOT LIKE '' AND 合約控制表.約號甲方 Like N'%" & PA46 & "%' AND 合約控制表.合約期數 LIKE N'%" & PA47 & "%' AND (合約控制表.合約編號 LIKE N'%" & PA & "%' OR 合約控制表.客戶名稱 LIKE N'%" & PA & "%' OR 合約控制表.負責人A LIKE N'%" & PA & "%' OR 合約控制表.工程地點 LIKE N'%" & PA & "%' OR 合約控制表.客戶地址 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_中 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_英 LIKE N'%" & PA & "%') AND (合約控制表.合約停止 = 0 OR 合約控制表.合約停止 IS NULL) AND (報價放行 = 1) " ElseIf 全部資料_ch.Checked = False And 請款未結束_ch.Checked = True And 請款已結束_ch.Checked = False Then SQL2 = "WHERE 合約控制表.工程名稱_中 NOT LIKE '' AND 合約控制表.剩餘款 > 0 AND 合約控制表.約號甲方 Like N'%" & PA46 & "%' AND 合約控制表.合約期數 LIKE N'%" & PA47 & "%' AND (合約控制表.合約編號 LIKE N'%" & PA & "%' OR 合約控制表.客戶名稱 LIKE N'%" & PA & "%' OR 合約控制表.負責人A LIKE N'%" & PA & "%' OR 合約控制表.工程地點 LIKE N'%" & PA & "%' OR 合約控制表.客戶地址 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_中 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_英 LIKE N'%" & PA & "%') AND (合約控制表.合約停止 = 0 OR 合約控制表.合約停止 IS NULL) AND (報價放行 = 1) " ElseIf 全部資料_ch.Checked = False And 請款未結束_ch.Checked = False And 請款已結束_ch.Checked = True Then SQL2 = "WHERE 合約控制表.工程名稱_中 NOT LIKE '' AND 合約控制表.剩餘款 = 0 AND 合約控制表.約號甲方 Like N'%" & PA46 & "%' AND 合約控制表.合約期數 LIKE N'%" & PA47 & "%' AND (合約控制表.合約編號 LIKE N'%" & PA & "%' OR 合約控制表.客戶名稱 LIKE N'%" & PA & "%' OR 合約控制表.負責人A LIKE N'%" & PA & "%' OR 合約控制表.工程地點 LIKE N'%" & PA & "%' OR 合約控制表.客戶地址 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_中 LIKE N'%" & PA & "%' OR 合約控制表.工程名稱_英 LIKE N'%" & PA & "%') AND (合約控制表.合約停止 = 0 OR 合約控制表.合約停止 IS NULL) AND (報價放行 = 1)" End If SQL_合約清單_結案用() da.Fill(ds2) : 合約控制表_dgv.DataSource = ds2.Tables(0) : conn.Close() 合約控制表_dgv.Columns(0).FillWeight = 120 : 合約控制表_dgv.Columns(1).FillWeight = 250 : 合約控制表_dgv.Columns("排序").Visible = False If 系統分區控制 = True Then : 合約控制表_dgv.Columns("剩餘款").Visible = True : Else : 合約控制表_dgv.Columns("剩餘款").Visible = False : End If 合約控制表_dgv.Columns("工程總價").Visible = False : 合約控制表_dgv.Columns("追加減").Visible = False : 合約控制表_dgv.Columns("結算金額").Visible = False 合約控制表_dgv.Columns("已請款").Visible = False 合約控制表_dgv.Columns("訂金").FillWeight = 30 : 合約控制表_dgv.Columns("到料").FillWeight = 30 : 合約控制表_dgv.Columns("施工").FillWeight = 30 合約控制表_dgv.Columns("驗收").FillWeight = 30 : 合約控制表_dgv.Columns("保固").FillWeight = 30 : 合約控制表_dgv.Columns("工期").FillWeight = 30 合約控制表_dgv.Columns("保固期限(月)").FillWeight = 50 : 合約控制表_dgv.Columns("工期").FillWeight = 50 合約控制表_dgv.Columns("剩餘款").FillWeight = 100 : 合約控制表_dgv.Columns("保固剩餘(天)").FillWeight = 50 合約控制表_dgv.Columns("立約日期").FillWeight = 80 : 合約控制表_dgv.Columns("驗收完成日期").FillWeight = 80 合約控制表_dgv.Columns("保固到期日").FillWeight = 80 : 合約控制表_dgv.Columns("結案備註").FillWeight = 200 合約控制表_dgv.Columns("工期").DefaultCellStyle.Format = "#,##0" : 合約控制表_dgv.Columns("剩餘款").DefaultCellStyle.Format = "#,##0" 合約控制表_dgv.Columns("工期").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("立約日期").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("驗收完成日期").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("保固到期日").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("保固剩餘(天)").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("保固期限(月)").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約控制表_dgv.Columns("剩餘款").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight For I As Integer = 4 To 13 : 合約控制表_dgv.Columns(I).Visible = False : Next : 合約控制表_dgv.Columns("客戶名稱").Visible = False For I As Integer = 0 To 合約控制表_dgv.Rows.Count - 1 If 合約控制表_dgv.Rows(I).Cells("追加減").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("追加減").Value = 0 : End If If 合約控制表_dgv.Rows(I).Cells("已請款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("已請款").Value = 0 : End If 合約控制表_dgv.Rows(I).Cells("結算金額").Value = 合約控制表_dgv.Rows(I).Cells("工程總價").Value + 合約控制表_dgv.Rows(I).Cells("追加減").Value 合約控制表_dgv.Rows(I).Cells("剩餘款").Value = 合約控制表_dgv.Rows(I).Cells("結算金額").Value - 合約控制表_dgv.Rows(I).Cells("已請款").Value If 合約控制表_dgv.Rows(I).Cells("剩餘款").Value < 0 Then : 合約控制表_dgv.Rows(I).Cells("剩餘款").Value = 0 : End If If 合約控制表_dgv.Rows(I).Cells("驗收完成日期").Value.ToString = "" Then : Else DTP1.Value = 合約控制表_dgv.Rows(I).Cells("驗收完成日期").Value.ToString 合約控制表_dgv.Rows(I).Cells("保固到期日").Value = Strings.Format((DTP1.Value.AddMonths(CInt(合約控制表_dgv.Rows(I).Cells("保固期限(月)").Value.ToString))), "yyyy/MM/dd") 合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value = DateDiff("d", Today(), 合約控制表_dgv.Rows(I).Cells("保固到期日").Value.ToString) End If If 合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value.ToString = "" Then 合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value = "無資料" : 合約控制表_dgv.Rows(I).Cells("排序").Value = 999999 ElseIf CInt(合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value.ToString) < 0 Then 合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value = "0" : 合約控制表_dgv.Rows(I).Cells("排序").Value = 999998 Else : 合約控制表_dgv.Rows(I).Cells("排序").Value = CInt(合約控制表_dgv.Rows(I).Cells("保固剩餘(天)").Value.ToString) : End If If 合約控制表_dgv.Rows(I).Cells("驗收完成日期").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("驗收完成日期").Value = "未驗收" : End If If 合約控制表_dgv.Rows(I).Cells("第一期比例").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("第一期比例").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("第二期比例").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("第二期比例").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("第三期比例").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("第三期比例").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("第四期比例").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("第四期比例").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("第五期比例").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("第五期比例").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("預付款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("預付款").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("到貨款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("到貨款").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("施工款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("施工款").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("驗收款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("驗收款").Value = "0.0000" : End If If 合約控制表_dgv.Rows(I).Cells("保留款").Value.ToString = "" Then : 合約控制表_dgv.Rows(I).Cells("保留款").Value = "0.0000" : End If 'My.Resources._1_123 綠色 My.Resources._1_124 紅色 My.Resources._1_125 橘色 If 合約控制表_dgv.Rows(I).Cells("第一期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("預付款").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("訂金").Value = My.Resources._1_125 ElseIf 合約控制表_dgv.Rows(I).Cells("第一期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("預付款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("訂金").Value = My.Resources._1_123 ElseIf 合約控制表_dgv.Rows(I).Cells("第一期比例").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("預付款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("訂金").Value = My.Resources._1_124 : End If If 合約控制表_dgv.Rows(I).Cells("第二期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("到貨款").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("到料").Value = My.Resources._1_125 ElseIf 合約控制表_dgv.Rows(I).Cells("第二期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("到貨款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("到料").Value = My.Resources._1_123 ElseIf 合約控制表_dgv.Rows(I).Cells("第二期比例").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("到貨款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("到料").Value = My.Resources._1_124 : End If If 合約控制表_dgv.Rows(I).Cells("第三期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("施工款").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("施工").Value = My.Resources._1_125 ElseIf 合約控制表_dgv.Rows(I).Cells("第三期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("施工款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("施工").Value = My.Resources._1_123 ElseIf 合約控制表_dgv.Rows(I).Cells("第三期比例").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("施工款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("施工").Value = My.Resources._1_124 : End If If 合約控制表_dgv.Rows(I).Cells("第四期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("驗收款").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("驗收").Value = My.Resources._1_125 ElseIf 合約控制表_dgv.Rows(I).Cells("第四期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("驗收款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("驗收").Value = My.Resources._1_123 ElseIf 合約控制表_dgv.Rows(I).Cells("第四期比例").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("驗收款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("驗收").Value = My.Resources._1_124 : End If If 合約控制表_dgv.Rows(I).Cells("第五期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("保留款").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("保固").Value = My.Resources._1_125 ElseIf 合約控制表_dgv.Rows(I).Cells("第五期比例").Value.ToString <> "0.0000" And 合約控制表_dgv.Rows(I).Cells("保留款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("保固").Value = My.Resources._1_123 ElseIf 合約控制表_dgv.Rows(I).Cells("第五期比例").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("保留款").Value.ToString = "0.0000" And 合約控制表_dgv.Rows(I).Cells("工程").Value.ToString <> "" Then : 合約控制表_dgv.Rows(I).Cells("保固").Value = My.Resources._1_124 Else 合約控制表_dgv.Rows(I).Cells("訂金").Value = My.Resources._1_124 : 合約控制表_dgv.Rows(I).Cells("到料").Value = My.Resources._1_124 合約控制表_dgv.Rows(I).Cells("施工").Value = My.Resources._1_124 : 合約控制表_dgv.Rows(I).Cells("驗收").Value = My.Resources._1_124 合約控制表_dgv.Rows(I).Cells("保固").Value = My.Resources._1_124 End If Next Dim mycol1 As DataGridViewImageColumn = 合約控制表_dgv.Columns("訂金") : Dim mycol2 As DataGridViewImageColumn = 合約控制表_dgv.Columns("到料") Dim mycol3 As DataGridViewImageColumn = 合約控制表_dgv.Columns("施工") : Dim mycol4 As DataGridViewImageColumn = 合約控制表_dgv.Columns("驗收") Dim mycol5 As DataGridViewImageColumn = 合約控制表_dgv.Columns("保固") mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom : mycol3.ImageLayout = DataGridViewImageCellLayout.Zoom mycol4.ImageLayout = DataGridViewImageCellLayout.Zoom : mycol5.ImageLayout = DataGridViewImageCellLayout.Zoom 合約控制表_dgv.Sort(合約控制表_dgv.Columns("排序"), System.ComponentModel.ListSortDirection.Ascending) 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 合約結案控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True 甲方條件下拉清單讀取() : Set_合約清單() : 合約報價單_Siz() End Sub Private Sub 合約結案控制表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed MyModule1.虛擬桌面開啟() End Sub Private Sub 合約報價單_Siz() MyModule1.清單字體大小調整() 合約控制表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value) End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 合約控制表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約控制表_dgv.CellClick If e.RowIndex = -1 Then : Else 合約編號_tb.Text = 合約控制表_dgv("合約編號", e.RowIndex).Value.ToString : 備註_tb.Text = 合約控制表_dgv("結案備註", e.RowIndex).Value.ToString 客戶名稱_tb.Text = 合約控制表_dgv("客戶名稱", e.RowIndex).Value.ToString : 工程名稱_中_tb.Text = 合約控制表_dgv("工程", e.RowIndex).Value.ToString 驗收日_tb.Text = 合約控制表_dgv("保固到期日", e.RowIndex).Value.ToString : 保固期限_tb.Text = 合約控制表_dgv("保固期限(月)", e.RowIndex).Value.ToString End If End Sub Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged PA = 關鍵字搜尋_tb.Text : Set_合約清單() End Sub Private Sub 工程期1_ch_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程期1_ch.SelectedIndexChanged PA = 關鍵字搜尋_tb.Text : Set_合約清單() End Sub Private Sub 全部資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 全部資料_ch.Click PA = 關鍵字搜尋_tb.Text : 全部資料_ch.Checked = True : 請款未結束_ch.Checked = False : 請款已結束_ch.Checked = False : Set_合約清單() End Sub Private Sub 請款未結束_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 請款未結束_ch.Click PA = 關鍵字搜尋_tb.Text : 全部資料_ch.Checked = False : 請款未結束_ch.Checked = True : 請款已結束_ch.Checked = False : Set_合約清單() End Sub Private Sub 請款已結束_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 請款已結束_ch.Click PA = 關鍵字搜尋_tb.Text : 全部資料_ch.Checked = False : 請款未結束_ch.Checked = False : 請款已結束_ch.Checked = True : Set_合約清單() End Sub Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click PA = 關鍵字搜尋_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("Silakan pilih kontrak terlebih dahulu!!") : End If : Else PA = 合約編號_tb.Text : PA3 = 備註_tb.Text : SQL_控制表_結案修改() : PA = "" : Set_合約清單() If 系統語言 = "繁體中文" Then : MsgBox("備註存檔完成!!") : Else : MsgBox("Arsip selesai!!") : End If End If End Sub Private Sub 完工結案單_bt_Click(sender As Object, e As EventArgs) Handles 完工結案單_bt.Click If 合約編號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("請先選擇要列印完工結案單的合約!!") : Else : MsgBox("Silakan pilih kontrak terlebih dahulu!!") : End If : Else If 驗收日_tb.Text = "" Then If 系統語言 = "繁體中文" Then : MsgBox("該合約沒有設定保固期限,無法列印完工結案單!!") Else : MsgBox("Kontrak tidak memiliki masa garansi yang ditetapkan dan tidak dapat mencetak pernyataan penyelesaian!!") : End If : Else 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) = "工程完工結案單" : xlSheet.Cells(4, 1) = "業 主 : " : xlSheet.Cells(4, 2) = 客戶名稱_tb.Text xlSheet.Cells(6, 1) = "工程名稱 : " : xlSheet.Cells(6, 2) = 工程名稱_中_tb.Text : xlSheet.Cells(8, 1) = "合約編號 : " : xlSheet.Cells(8, 2) = 合約編號_tb.Text xlSheet.Cells(10, 1) = "估驗期別 : " : xlSheet.Cells(12, 1) = "估驗項目 : " : xlSheet.Cells(12, 2) = "保固款" : xlSheet.Cells(15, 1) = "說明 : " xlSheet.Cells(16, 1) = 工程名稱_中_tb.Text & " 以於 " & 驗收日_tb.Text & " 完成 " & 保固期限_tb.Text & " 個月保固。" xlSheet.Cells(17, 1) = "依合約第三項估驗款項" : xlSheet.Cells(20, 1) = "惠請 尊上同意施款" : xlSheet.Cells(23, 1) = "甲方簽章" : xlSheet.Cells(23, 3) = "乙方簽章" AA(xlApp, xlSheet) If Strings.Left(合約編號_tb.Text, 2) = "HX" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : FF(xlApp, xlSheet) xlApp.Sheets(2).Delete xlSheet.PageSetup.PrintArea = "" xlApp.Cells.Select() xlApp.Application.WindowState = xlMinimized If 系統語言 = "繁體中文" Then : MsgBox("列印完成!!") : Else : MsgBox("cetak selesai!!") : End If 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 = 12 : .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("24:24").Select : myExcel.Selection.RowHeight = 95 xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 10 : xlSheet.Columns("B:C").Select : myExcel.Selection.ColumnWidth = 40 xlSheet.Range("C12").Select() : myExcel.ActiveWindow.DisplayGridlines = False xlSheet.Range("A2:C2").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 myExcel.Selection.Font.Underline = xlUnderlineStyleSingle xlSheet.Range("C7").Select() 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.Width = 550 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.Width = 550 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 = "" : .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