123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- Option Strict Off
- Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
- Imports Microsoft.Office.Interop.Excel.Constants
- 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 ds As New DataSet : Dim N1 As Integer : Dim N2 As Integer : Dim N3 As Integer : Dim N4 As Integer : Dim N5 As Integer
- Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
- Private Sub Set_清單()
- 出貨明細_dgv.DataSource = Nothing : ds.Clear()
- 出貨明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 出貨明細_dgv.ColumnHeadersHeight = 40
- 出貨明細_dgv.AllowUserToAddRows = False
- 出貨明細_dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
- 出貨明細_dgv.MultiSelect = True
- SQL_列印_出貨單清單()
- da.Fill(ds) : 出貨明細_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 出貨明細_dgv.Columns(0).FillWeight = A_nud.Value : 出貨明細_dgv.Columns(1).FillWeight = B_nud.Value
- 出貨明細_dgv.Columns(2).FillWeight = C_nud.Value + 10 : 出貨明細_dgv.Columns(3).FillWeight = E_nud.Value
- 出貨明細_dgv.Columns(4).FillWeight = F_nud.Value : 出貨明細_dgv.Columns(5).FillWeight = G_nud.Value
-
- 出貨明細_dgv.Columns(3).DefaultCellStyle.Format = "#,##0" : 出貨明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0"
- 出貨明細_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 出貨明細_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 出貨明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 出貨明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 出貨明細_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 出貨明細_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 出貨明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 出貨明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 出貨明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 出貨明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 合計_tb.Text = "0"
- N1 = 出貨明細_dgv.Rows.Count \ 10 + 1 : 幾頁_tb.Text = N1
- For I As Integer = 0 To 5 : 出貨明細_dgv.Columns(I).ReadOnly = True : Next
- For i As Integer = 0 To 出貨明細_dgv.Rows.Count - 1
- 出貨明細_dgv.Rows(i).Cells("A").Value = i + 1 : 出貨明細_dgv.Rows(i).Cells("F").Value = "只"
- 合計_tb.Text = Val(合計_tb.Text) + 出貨明細_dgv.Rows(i).Cells("G").Value
- Next
- End Sub
- Private Sub 列印_出貨單_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Set_清單() : SQL_列印_出貨單表頭()
- If dr.Read() Then
- 客戶公司_tb.Text = dr("店名").ToString : 電話_tb.Text = dr("電話").ToString : 統一編號_tb.Text = dr("統編").ToString : 送貨地址_tb.Text = dr("送貨地址").ToString
- 單據編號_tb.Text = dr("單據編號").ToString : 客戶聯絡人_tb.Text = dr("聯絡人").ToString : 訂單號碼_tb.Text = dr("訂單流水號").ToString : 業務人員_tb.Text = dr("業務").ToString
- 司機_tb.Text = dr("司機").ToString
- End If
- If 客戶公司_tb.Text = "其他-零售" Then
- SQL_列印_出貨單表頭_零售()
- If (dr.Read()) Then
- 電話_tb.Text = dr("電話").ToString : 統一編號_tb.Text = dr("統一編號").ToString : 送貨地址_tb.Text = dr("送貨地址").ToString : 客戶聯絡人_tb.Text = dr("客戶名稱").ToString
- End If
- Else : End If
- SQL_列印_出貨單邊界設定讀取()
- If dr.Read() Then
- A_nud.Value = dr("A") : B_nud.Value = dr("B") : C_nud.Value = dr("C") : D_nud.Value = dr("D") : E_nud.Value = dr("E")
- F_nud.Value = dr("F") : G_nud.Value = dr("G") : H_nud.Value = dr("H") : I_nud.Value = dr("I") : J_nud.Value = dr("J")
- K_nud.Value = dr("K") : L_nud.Value = dr("L") : M_nud.Value = dr("M") : N1_nud.Value = dr("表頭") : N2_nud.Value = dr("清單")
- N3_nud.Value = dr("表尾")
- End If : conn.Close()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 設定存檔_bt.Click
- SQL_列印_出貨單邊界設定修改() : conn.Close() : MsgBox("修改完成。")
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
- xlApp = CType(CreateObject("Excel.Application"), Application)
- xlBook = xlApp.Workbooks.Add
- xlApp.DisplayAlerts = True
- xlBook.Activate()
- xlSheet = NewMethod(xlBook)
- xlSheet.Activate()
- xlApp.Visible = True
- xlApp.Application.WindowState = xlMaximized
- N2 = 0 : N5 = 0 : N3 = 出貨明細_dgv.Rows.Count : AA(xlApp, xlSheet)
- For I As Integer = 1 To Val(幾頁_tb.Text)
- xlSheet.Cells(5 + N2, 3) = 客戶公司_tb.Text : xlSheet.Cells(6 + N2, 3) = 電話_tb.Text : xlSheet.Cells(7 + N2, 3) = 統一編號_tb.Text : xlSheet.Cells(8 + N2, 3) = 送貨地址_tb.Text
- xlSheet.Cells(4 + N2, 9) = 填單日期_dtp.Value : xlSheet.Cells(5 + N2, 9) = 單據編號_tb.Text : xlSheet.Cells(6 + N2, 9) = 客戶聯絡人_tb.Text : xlSheet.Cells(7 + N2, 9) = 訂單號碼_tb.Text
- xlSheet.Cells(8 + N2, 9) = 業務人員_tb.Text : xlSheet.Cells(23 + N2, 9) = 合計_tb.Text : xlSheet.Cells(25 + N2, 9) = 合計_tb.Text : xlSheet.Cells(24 + N2, 9) = "0"
- xlSheet.Cells(23 + N2, 3) = 合計_tb.Text : xlSheet.Cells(24 + N2, 3) = 司機_tb.Text
-
- If N3 > 10 Then : N4 = 10 : Else : N4 = N3 : End If
- For II As Integer = 0 To N4 - 1
- xlSheet.Cells(II + 12 + N2, 1) = 出貨明細_dgv.Rows(N5).Cells("A").Value
- xlSheet.Cells(II + 12 + N2, 2) = 出貨明細_dgv.Rows(N5).Cells("B").Value
- xlSheet.Cells(II + 12 + N2, 3) = 出貨明細_dgv.Rows(N5).Cells("C").Value
- xlSheet.Cells(II + 12 + N2, 5) = 出貨明細_dgv.Rows(N5).Cells("E").Value
- xlSheet.Cells(II + 12 + N2, 6) = 出貨明細_dgv.Rows(N5).Cells("F").Value
- xlSheet.Cells(II + 12 + N2, 7) = 出貨明細_dgv.Rows(N5).Cells("G").Value
- xlSheet.Cells(II + 12 + N2, 9) = "= E" & II + 12 & " * G" & II + 12
- If N3 < 10 Then
- xlSheet.Cells(II + 12 + N2 + 1, 2) = "(以下空白)"
- End If
- If N3 > 10 Then : N3 -= 10 : End If
- N5 += 1
- Next
- BB(xlApp, xlSheet) : N2 = 27
- Next
-
- xlSheet.PageSetup.PrintArea = ""
- xlApp.Cells.Select()
- xlSheet.Range("B1").Select()
- xlApp.Application.WindowState = xlMinimized
- xlSheet.Cells.Select()
- MsgBox("列印完成。")
- Me.Close()
- 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 = "Times New Roman" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
- .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
- End Sub
- Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- xlSheet.Rows(12 + N2 & ":" & 25 + N2).Select
- With myExcel.Selection.Font : .Size = 11 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
- .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
-
- xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = A_nud.Value
- xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = B_nud.Value
- xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = C_nud.Value
- xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = D_nud.Value
- xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = E_nud.Value
- xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = F_nud.Value
- xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = G_nud.Value
- xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = H_nud.Value
- xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = I_nud.Value
- xlSheet.Columns("J:J").Select : myExcel.Selection.ColumnWidth = J_nud.Value
- xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = K_nud.Value
- xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = L_nud.Value
- xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = M_nud.Value
- xlSheet.Range("I" & 4 + N2).Select() : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd"
- xlSheet.Range("E" & 12 + N2 & ":E" & 21 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
- xlSheet.Range("G" & 12 + N2 & ":G" & 21 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
- xlSheet.Range("I" & 12 + N2 & ":I" & 25 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
-
- xlSheet.Range("C" & 5 + N2 & ":C" & 8 + N2).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("I" & 4 + N2 & ":I" & 8 + N2).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.Rows(3 + N2 & ":" & 8 + N2).Select : myExcel.Selection.RowHeight = N1_nud.Value
- xlSheet.Rows(12 + N2 & ":" & 22 + N2).Select : myExcel.Selection.RowHeight = N2_nud.Value
- xlSheet.Rows(23 + N2 & ":" & 27 + N2).Select : myExcel.Selection.RowHeight = N3_nud.Value
-
- xlSheet.Range("C" & 23 + N2).Select() : myExcel.Selection.NumberFormatLocal = "[DBNum2][$-zh-TW]G/通用格式"
- With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
- .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- End Sub
- End Class
|