123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- 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_清單()
- DataGridView1.DataSource = Nothing : ds.Clear() : DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView1.ColumnHeadersHeight = 40
- DataGridView1.AllowUserToAddRows = False : DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView1.MultiSelect = True
- SQL_列印_出貨單清單()
- da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
-
- DataGridView1.Columns(0).FillWeight = NumericUpDown1.Value : DataGridView1.Columns(1).FillWeight = NumericUpDown2.Value
- DataGridView1.Columns(2).FillWeight = NumericUpDown3.Value + 10 : DataGridView1.Columns(3).FillWeight = NumericUpDown5.Value
- DataGridView1.Columns(4).FillWeight = NumericUpDown6.Value : DataGridView1.Columns(5).FillWeight = NumericUpDown7.Value
-
- DataGridView1.Columns(3).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0"
- DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- TextBox7.Text = "0"
- N1 = DataGridView1.Rows.Count \ 10 + 1 : TextBox8.Text = N1
- For I As Integer = 0 To 5 : DataGridView1.Columns(I).ReadOnly = True : Next
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- DataGridView1.Rows(i).Cells("A").Value = i + 1 : DataGridView1.Rows(i).Cells("F").Value = "只"
- TextBox7.Text = Val(TextBox7.Text) + DataGridView1.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
- TextBox2.Text = dr("店名").ToString : TextBox3.Text = dr("電話").ToString : TextBox26.Text = dr("統編").ToString : TextBox12.Text = dr("送貨地址").ToString
- TextBox9.Text = dr("單據編號").ToString : TextBox1.Text = dr("聯絡人").ToString : TextBox4.Text = dr("訂單流水號").ToString : TextBox5.Text = dr("業務").ToString
- TextBox6.Text = dr("司機").ToString
- End If
- If TextBox2.Text = "其他-零售" Then
- SQL_列印_出貨單表頭_零售()
- If (dr.Read()) Then
- TextBox3.Text = dr("電話").ToString : TextBox26.Text = dr("統一編號").ToString : TextBox12.Text = dr("送貨地址").ToString : TextBox1.Text = dr("客戶名稱").ToString
- End If
- Else : End If
- SQL_列印_出貨單邊界設定讀取()
- If dr.Read() Then
- NumericUpDown1.Value = dr("A") : NumericUpDown2.Value = dr("B") : NumericUpDown3.Value = dr("C") : NumericUpDown4.Value = dr("D") : NumericUpDown5.Value = dr("E")
- NumericUpDown6.Value = dr("F") : NumericUpDown7.Value = dr("G") : NumericUpDown8.Value = dr("H") : NumericUpDown9.Value = dr("I") : NumericUpDown10.Value = dr("J")
- NumericUpDown11.Value = dr("K") : NumericUpDown12.Value = dr("L") : NumericUpDown13.Value = dr("M") : NumericUpDown14.Value = dr("表頭") : NumericUpDown15.Value = dr("清單")
- NumericUpDown16.Value = dr("表尾")
- End If : conn.Close()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- SQL_列印_出貨單邊界設定修改() : conn.Close() : MsgBox("修改完成。")
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.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 = DataGridView1.Rows.Count : AA(xlApp, xlSheet)
- For I As Integer = 1 To Val(TextBox8.Text)
- xlSheet.Cells(5 + N2, 3) = TextBox2.Text : xlSheet.Cells(6 + N2, 3) = TextBox3.Text : xlSheet.Cells(7 + N2, 3) = TextBox26.Text : xlSheet.Cells(8 + N2, 3) = TextBox12.Text
- xlSheet.Cells(4 + N2, 9) = DateTimePicker2.Value : xlSheet.Cells(5 + N2, 9) = TextBox9.Text : xlSheet.Cells(6 + N2, 9) = TextBox1.Text : xlSheet.Cells(7 + N2, 9) = TextBox4.Text
- xlSheet.Cells(8 + N2, 9) = TextBox5.Text : xlSheet.Cells(23 + N2, 9) = TextBox7.Text : xlSheet.Cells(25 + N2, 9) = TextBox7.Text : xlSheet.Cells(24 + N2, 9) = "0"
- xlSheet.Cells(23 + N2, 3) = TextBox7.Text : xlSheet.Cells(24 + N2, 3) = TextBox6.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) = DataGridView1.Rows(N5).Cells("A").Value
- xlSheet.Cells(II + 12 + N2, 2) = DataGridView1.Rows(N5).Cells("B").Value
- xlSheet.Cells(II + 12 + N2, 3) = DataGridView1.Rows(N5).Cells("C").Value
- xlSheet.Cells(II + 12 + N2, 5) = DataGridView1.Rows(N5).Cells("E").Value
- xlSheet.Cells(II + 12 + N2, 6) = DataGridView1.Rows(N5).Cells("F").Value
- xlSheet.Cells(II + 12 + N2, 7) = DataGridView1.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 = NumericUpDown1.Value
- xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = NumericUpDown2.Value
- xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = NumericUpDown3.Value
- xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = NumericUpDown4.Value
- xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = NumericUpDown5.Value
- xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = NumericUpDown6.Value
- xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = NumericUpDown7.Value
- xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = NumericUpDown8.Value
- xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = NumericUpDown9.Value
- xlSheet.Columns("J:J").Select : myExcel.Selection.ColumnWidth = NumericUpDown10.Value
- xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = NumericUpDown11.Value
- xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = NumericUpDown12.Value
- xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = NumericUpDown13.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 = NumericUpDown14.Value
- xlSheet.Rows(12 + N2 & ":" & 22 + N2).Select : myExcel.Selection.RowHeight = NumericUpDown15.Value
- xlSheet.Rows(23 + N2 & ":" & 27 + N2).Select : myExcel.Selection.RowHeight = NumericUpDown16.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
|