Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

列印_出貨單.vb 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. Option Strict Off
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  5. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  6. Imports Microsoft.Office.Interop.Excel.XlWindowState
  7. Imports Microsoft.Office.Interop.Excel
  8. Public Class 列印_出貨單
  9. 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
  10. Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
  11. Private Sub Set_清單()
  12. DataGridView1.DataSource = Nothing : ds.Clear() : DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView1.ColumnHeadersHeight = 40
  13. DataGridView1.AllowUserToAddRows = False : DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView1.MultiSelect = True
  14. SQL_列印_出貨單清單()
  15. da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  16. DataGridView1.Columns(0).FillWeight = NumericUpDown1.Value : DataGridView1.Columns(1).FillWeight = NumericUpDown2.Value
  17. DataGridView1.Columns(2).FillWeight = NumericUpDown3.Value + 10 : DataGridView1.Columns(3).FillWeight = NumericUpDown5.Value
  18. DataGridView1.Columns(4).FillWeight = NumericUpDown6.Value : DataGridView1.Columns(5).FillWeight = NumericUpDown7.Value
  19. DataGridView1.Columns(3).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0"
  20. DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  21. DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. DataGridView1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  24. DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  25. TextBox7.Text = "0"
  26. N1 = DataGridView1.Rows.Count \ 10 + 1 : TextBox8.Text = N1
  27. For I As Integer = 0 To 5 : DataGridView1.Columns(I).ReadOnly = True : Next
  28. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  29. DataGridView1.Rows(i).Cells("A").Value = i + 1 : DataGridView1.Rows(i).Cells("F").Value = "只"
  30. TextBox7.Text = Val(TextBox7.Text) + DataGridView1.Rows(i).Cells("G").Value
  31. Next
  32. End Sub
  33. Private Sub 列印_出貨單_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  34. Set_清單() : SQL_列印_出貨單表頭()
  35. If dr.Read() Then
  36. TextBox2.Text = dr("店名").ToString : TextBox3.Text = dr("電話").ToString : TextBox26.Text = dr("統編").ToString : TextBox12.Text = dr("送貨地址").ToString
  37. TextBox9.Text = dr("單據編號").ToString : TextBox1.Text = dr("聯絡人").ToString : TextBox4.Text = dr("訂單流水號").ToString : TextBox5.Text = dr("業務").ToString
  38. TextBox6.Text = dr("司機").ToString
  39. End If
  40. If TextBox2.Text = "其他-零售" Then
  41. SQL_列印_出貨單表頭_零售()
  42. If (dr.Read()) Then
  43. TextBox3.Text = dr("電話").ToString : TextBox26.Text = dr("統一編號").ToString : TextBox12.Text = dr("送貨地址").ToString : TextBox1.Text = dr("客戶名稱").ToString
  44. End If
  45. Else : End If
  46. SQL_列印_出貨單邊界設定讀取()
  47. If dr.Read() Then
  48. NumericUpDown1.Value = dr("A") : NumericUpDown2.Value = dr("B") : NumericUpDown3.Value = dr("C") : NumericUpDown4.Value = dr("D") : NumericUpDown5.Value = dr("E")
  49. NumericUpDown6.Value = dr("F") : NumericUpDown7.Value = dr("G") : NumericUpDown8.Value = dr("H") : NumericUpDown9.Value = dr("I") : NumericUpDown10.Value = dr("J")
  50. NumericUpDown11.Value = dr("K") : NumericUpDown12.Value = dr("L") : NumericUpDown13.Value = dr("M") : NumericUpDown14.Value = dr("表頭") : NumericUpDown15.Value = dr("清單")
  51. NumericUpDown16.Value = dr("表尾")
  52. End If : conn.Close()
  53. End Sub
  54. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  55. SQL_列印_出貨單邊界設定修改() : conn.Close() : MsgBox("修改完成。")
  56. End Sub
  57. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  58. xlApp = CType(CreateObject("Excel.Application"), Application)
  59. xlBook = xlApp.Workbooks.Add
  60. xlApp.DisplayAlerts = True
  61. xlBook.Activate()
  62. xlSheet = NewMethod(xlBook)
  63. xlSheet.Activate()
  64. xlApp.Visible = True
  65. xlApp.Application.WindowState = xlMaximized
  66. N2 = 0 : N5 = 0 : N3 = DataGridView1.Rows.Count : AA(xlApp, xlSheet)
  67. For I As Integer = 1 To Val(TextBox8.Text)
  68. 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
  69. 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
  70. 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"
  71. xlSheet.Cells(23 + N2, 3) = TextBox7.Text : xlSheet.Cells(24 + N2, 3) = TextBox6.Text
  72. If N3 > 10 Then : N4 = 10 : Else : N4 = N3 : End If
  73. For II As Integer = 0 To N4 - 1
  74. xlSheet.Cells(II + 12 + N2, 1) = DataGridView1.Rows(N5).Cells("A").Value
  75. xlSheet.Cells(II + 12 + N2, 2) = DataGridView1.Rows(N5).Cells("B").Value
  76. xlSheet.Cells(II + 12 + N2, 3) = DataGridView1.Rows(N5).Cells("C").Value
  77. xlSheet.Cells(II + 12 + N2, 5) = DataGridView1.Rows(N5).Cells("E").Value
  78. xlSheet.Cells(II + 12 + N2, 6) = DataGridView1.Rows(N5).Cells("F").Value
  79. xlSheet.Cells(II + 12 + N2, 7) = DataGridView1.Rows(N5).Cells("G").Value
  80. xlSheet.Cells(II + 12 + N2, 9) = "= E" & II + 12 & " * G" & II + 12
  81. If N3 < 10 Then
  82. xlSheet.Cells(II + 12 + N2 + 1, 2) = "(以下空白)"
  83. End If
  84. If N3 > 10 Then : N3 -= 10 : End If
  85. N5 += 1
  86. Next
  87. BB(xlApp, xlSheet) : N2 = 27
  88. Next
  89. xlSheet.PageSetup.PrintArea = ""
  90. xlApp.Cells.Select()
  91. xlSheet.Range("B1").Select()
  92. xlApp.Application.WindowState = xlMinimized
  93. xlSheet.Cells.Select()
  94. MsgBox("列印完成。")
  95. Me.Close()
  96. End Sub
  97. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  98. Return CType(xlBook.Worksheets.Add, Worksheet)
  99. End Function
  100. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  101. xlSheet.Cells.Select()
  102. With myExcel.Selection.Font : .Name = "Times New Roman" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  103. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  104. End Sub
  105. Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  106. xlSheet.Rows(12 + N2 & ":" & 25 + N2).Select
  107. With myExcel.Selection.Font : .Size = 11 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  108. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  109. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = NumericUpDown1.Value
  110. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = NumericUpDown2.Value
  111. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = NumericUpDown3.Value
  112. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = NumericUpDown4.Value
  113. xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = NumericUpDown5.Value
  114. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = NumericUpDown6.Value
  115. xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = NumericUpDown7.Value
  116. xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = NumericUpDown8.Value
  117. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = NumericUpDown9.Value
  118. xlSheet.Columns("J:J").Select : myExcel.Selection.ColumnWidth = NumericUpDown10.Value
  119. xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = NumericUpDown11.Value
  120. xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = NumericUpDown12.Value
  121. xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = NumericUpDown13.Value
  122. xlSheet.Range("I" & 4 + N2).Select() : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd"
  123. xlSheet.Range("E" & 12 + N2 & ":E" & 21 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
  124. xlSheet.Range("G" & 12 + N2 & ":G" & 21 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
  125. xlSheet.Range("I" & 12 + N2 & ":I" & 25 + N2).Select() : myExcel.Selection.NumberFormatLocal = "#,##0"
  126. xlSheet.Range("C" & 5 + N2 & ":C" & 8 + N2).Select()
  127. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  128. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  129. xlSheet.Range("I" & 4 + N2 & ":I" & 8 + N2).Select()
  130. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  131. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  132. xlSheet.Rows(3 + N2 & ":" & 8 + N2).Select : myExcel.Selection.RowHeight = NumericUpDown14.Value
  133. xlSheet.Rows(12 + N2 & ":" & 22 + N2).Select : myExcel.Selection.RowHeight = NumericUpDown15.Value
  134. xlSheet.Rows(23 + N2 & ":" & 27 + N2).Select : myExcel.Selection.RowHeight = NumericUpDown16.Value
  135. xlSheet.Range("C" & 23 + N2).Select() : myExcel.Selection.NumberFormatLocal = "[DBNum2][$-zh-TW]G/通用格式"
  136. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  137. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  138. End Sub
  139. End Class