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 合約保固書 ReadOnly ds6 As New DataSet Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet Dim 放大, 簽回檔 As Boolean Private Sub Set_合約清單() 合約_dgv.DataSource = Nothing : ds6.Clear() 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 合約_dgv.ColumnHeadersHeight = 40 : 合約_dgv.AllowUserToAddRows = False PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text SQL_合約清單_保固用() da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close() 合約_dgv.Columns(0).FillWeight = 160 : 合約_dgv.Columns(1).Visible = False : 合約_dgv.Columns(2).Visible = False : 合約_dgv.Columns(3).Visible = False 合約_dgv.Columns(4).Visible = False : 合約_dgv.Columns(5).Visible = False : 合約_dgv.Columns(6).Visible = False : 合約_dgv.Columns(7).Visible = False 合約_dgv.Columns(8).Visible = False : 合約_dgv.Columns(9).Visible = False : 合約_dgv.Columns(10).Visible = False : 合約_dgv.Columns(11).Visible = False 合約_dgv.Columns(12).Visible = False : 合約_dgv.Columns(13).Visible = False : 合約_dgv.Columns(14).Visible = False : 合約_dgv.Columns(15).Visible = False 合約_dgv.Columns(16).Visible = False : 合約_dgv.Columns(17).Visible = False : 合約_dgv.Columns(18).Visible = False : 合約_dgv.Columns(19).Visible = False 合約_dgv.Columns(20).Visible = False : 合約_dgv.Columns(21).Visible = False : 合約_dgv.Columns(22).Visible = False : 合約_dgv.Columns(23).Visible = False 合約_dgv.Columns(24).Visible = False : 合約_dgv.Columns(25).Visible = False : 合約_dgv.Columns(26).Visible = False : 合約_dgv.Columns(27).Visible = False 合約_dgv.Columns(28).Visible = False : 合約_dgv.Columns(29).FillWeight = 50 : 合約_dgv.Columns(30).Visible = False : 合約_dgv.Columns(31).Visible = False 合約_dgv.Columns(32).FillWeight = 100 : 合約_dgv.Columns(33).FillWeight = 50 : 合約_dgv.Columns(34).Visible = False : 合約_dgv.Columns("工程名稱_中").FillWeight = 300 合約_dgv.Columns("簽回").FillWeight = 40 : 合約_dgv.Columns("簽回檔圖庫").Visible = False 合約_dgv.Columns(29).DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns(29).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 合約_dgv.Columns(33).DefaultCellStyle.Format = "#,##0" : 合約_dgv.Columns(33).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter For i As Integer = 0 To 合約_dgv.Rows.Count - 1 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 甲方條件下拉清單讀取() 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 甲方條件下拉清單讀取() : Set_合約清單() : 合約報價單_Siz() 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 合約報價單_Siz() MyModule1.清單字體大小調整() 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", GCM_ERP_SYS.字體_NUD.Value) 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 放大 = True Then : 縮放2_bt.PerformClick() : End If 圖片庫 = 合約_dgv("簽回檔圖庫", e.RowIndex).Value.ToString : 簽回檔 = 合約_dgv("簽回", e.RowIndex).Value 客戶名稱_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 保固_cb.Text = 合約_dgv("保固期限", e.RowIndex).Value.ToString : 驗收完成_dtp.Value = 合約_dgv("驗收完成日期", e.RowIndex).Value.ToString If Strings.Left(合約編號_tb.Text, 3) = "GCM" Then 保固地址_tb.Text = "屏東縣麟洛鄉麟蹄村中山路382-103號" Else 保固地址_tb.Text = "Jl . kawasan Industri Terpadu Indonesia China (KITIC) Kav . 42 , Nagasari , Serang Baru , Kabupaten Bekasi 17330( I ) " End If 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 查閱文件_bt_Click(sender As Object, e As EventArgs) Handles 查閱文件_bt.Click If 合約編號_tb.Text = "" Then : If 系統語言 = "繁體中文" Then : MsgBox("請先選擇合約!!") : Else : MsgBox("Please select a contract first!!") : End If : Else If 簽回檔 = False Then If 系統語言 = "繁體中文" Then : MsgBox("該合約還沒有建立報價簽回文件!!") : Else : MsgBox("The contract has not created the quotation sign-back document!!") : End If : Else PA1 = 合約編號_tb.Text : PA2 = "保固" : 文件查閱視窗.ShowDialog() End If 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 保固_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 保固_cb.SelectedIndexChanged 保固1_cb.SelectedIndex = 保固_cb.SelectedIndex If 保固_cb.Text <> "" Then : 保固完成_dtp.Value = 驗收完成_dtp.Value.AddMonths(CInt(保固_cb.Text)) : End If End Sub Private Sub 驗收完成_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 驗收完成_dtp.ValueChanged 保固完成_dtp.Value = 驗收完成_dtp.Value.AddMonths(CInt(保固_cb.Text)) 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 放大 = 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 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click PA = 合約編號_tb.Text : PA1 = 保固_cb.Text : PA2 = 保固地址_tb.Text : SQL_控制表_保固修改() If 系統語言 = "繁體中文" Then : MsgBox("存檔完成!!") : Else : MsgBox("Archive complete!!") : End If : PA = "" : 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 contract selected, can't print!!") : End If : Else PA = 合約編號_tb.Text : PA1 = 保固_cb.Text : PA2 = 保固地址_tb.Text : SQL_控制表_保固修改() '---------------------------------------------------------------------------------------------------------------------- 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() Dim BF As String If Strings.Left(合約編號_tb.Text, 2) = "HX" Then : BF = "PT HONG XHE INDUSTRIAL" : Else : BF = "PT PUNCAK GEMILANG SEMESTA" : End If xlSheet.Cells(2, 1) = "保 固 證 書" : xlSheet.Cells(3, 1) = "Warranty Certificate" : xlSheet.Cells(5, 1) = "工程名稱 : " & 工程名稱_中_tb.Text xlSheet.Cells(6, 1) = "Project Name : " & 工程名稱_英_tb.Text : xlSheet.Cells(8, 1) = "合約編號 :" & 合約編號_tb.Text xlSheet.Cells(9, 1) = "Contract Number : " & 合約編號_tb.Text : xlSheet.Cells(11, 1) = "保固期間 :自驗收合格日起保固 " & 保固_cb.Text & " 個月。" xlSheet.Cells(12, 1) = "Maintenance Period : Warranty for " & 保固1_cb.Text & " months from the date of acceptance." xlSheet.Cells(13, 2) = "(從 " & Strings.Format(驗收完成_dtp.Value, "yyyy/MM/dd") & " 到 " & Strings.Format(保固完成_dtp.Value, "yyyy/MM/dd") & ")" xlSheet.Cells(14, 2) = "(From " & Strings.Format(驗收完成_dtp.Value, "yyyy/MM/dd") & " To " & Strings.Format(保固完成_dtp.Value, "yyyy/MM/dd") & ")" xlSheet.Cells(16, 1) = "本公司保證於保固期間內,產品若有故障或狀況不良之情形,願負免費檢查並維修至完好狀態之責.惟屬天災,不可抗力或人為操作不當所造成之損壞,不在本公司保固範圍。" xlSheet.Cells(17, 1) = "We guarantee the warranty period, if the product is faulty or poor condition take a free inspection and repair to the intact state " & "responsibility. Only a natural disaster, force majeure or man-made damage caused by improper operation, outside the scope of our warranty." xlSheet.Cells(19, 1) = "此致" : xlSheet.Cells(20, 1) = "Yours sincerely," : xlSheet.Cells(22, 1) = 客戶名稱_tb.Text : xlSheet.Cells(22, 3) = BF xlSheet.Cells(24, 1) = "負責人姓名: (蓋章)" : xlSheet.Cells(24, 3) = "負責人姓名: (蓋章)" : xlSheet.Cells(26, 1) = "Address :" & 保固地址_tb.Text 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("Printing is complete!!") : End If : PA = "" : Set_合約清單() 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.Columns("A:C").Select : myExcel.Selection.ColumnWidth = 43 xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 95 xlSheet.Rows("2:3").Select With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 22 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With xlSheet.Rows("2:3").Select : myExcel.Selection.RowHeight = 35 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 xlSheet.Range("A3:C3").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.Rows("4:15").Select : myExcel.Selection.RowHeight = 25 : xlSheet.Rows("16:16").Select : myExcel.Selection.RowHeight = 50 xlSheet.Range("A16:C16").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 With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Rows("17:17").Select : myExcel.Selection.RowHeight = 60 xlSheet.Range("A17:C17").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 With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With xlSheet.Rows("18:20").Select : myExcel.Selection.RowHeight = 25 : xlSheet.Rows("21:21").Select : myExcel.Selection.RowHeight = 50 xlSheet.Rows("23:23").Select : myExcel.Selection.RowHeight = 180 : xlSheet.Rows("26:26").Select : myExcel.Selection.RowHeight = 35 xlSheet.Range("A26:C26").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 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("E6").Select() : myExcel.ActiveWindow.DisplayGridlines = False 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 = "" : .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