Sin descripción
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

樣品物料調料單申請.vb 34KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. Option Strict Off
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  5. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  6. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  7. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  8. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  9. Imports Microsoft.Office.Interop.Excel.XlWindowState
  10. Imports Microsoft.Office.Interop.Excel
  11. Public Class 樣品物料調料單申請
  12. Private ReadOnly ds, ds1, ds2 As New DataSet
  13. Dim DTP1, 位置1 As String
  14. Dim 已超出 As Boolean
  15. Dim N1, NUM1 As Integer
  16. Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
  17. Private Sub Set_清單()
  18. 調料單_dgv.DataSource = Nothing : ds.Clear()
  19. 調料單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  20. 調料單_dgv.ColumnHeadersHeight = 25
  21. 調料單_dgv.AllowUserToAddRows = False
  22. SQL_調料單清單()
  23. da.Fill(ds) : 調料單_dgv.DataSource = ds.Tables(0) : conn.Close()
  24. 調料單_dgv.Columns(0).FillWeight = 110 : 調料單_dgv.Columns(1).FillWeight = 130 : 調料單_dgv.Columns(2).FillWeight = 130 : 調料單_dgv.Columns(3).FillWeight = 70
  25. 調料單_dgv.Columns(4).FillWeight = 70
  26. 調料單_dgv.Columns(5).Visible = False : 調料單_dgv.Columns(6).Visible = False : 調料單_dgv.Columns(7).Visible = False : 調料單_dgv.Columns(8).Visible = False
  27. 調料單_dgv.Columns(9).Visible = False : 調料單_dgv.Columns(10).Visible = False
  28. End Sub
  29. Private Sub Set_使用者清單()
  30. 明細_dgv.DataSource = Nothing : ds1.Clear()
  31. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  32. 明細_dgv.ColumnHeadersHeight = 25
  33. 明細_dgv.AllowUserToAddRows = False
  34. 明細_dgv.RowTemplate.Height = 35
  35. SQL_明細清單()
  36. da.Fill(ds1) : 明細_dgv.DataSource = ds1.Tables(0) : conn.Close()
  37. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 200 : 明細_dgv.Columns(3).FillWeight = 200
  38. 明細_dgv.Columns(4).FillWeight = 200
  39. 明細_dgv.Columns(5).FillWeight = 80 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 80 : 明細_dgv.Columns(9).FillWeight = 305
  40. 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  41. 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  42. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  43. 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  44. 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  45. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  46. 明細_dgv.Columns("項次").ReadOnly = True : 明細_dgv.Columns("金額").ReadOnly = True
  47. 總金額_tb.Text = "0.00"
  48. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  49. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  50. Next i
  51. 總金額_tb.Text = Strings.Format(Val(總金額_tb.Text), "#,##0.00")
  52. End Sub
  53. Private Sub ComboBox1下拉表單資料載入()
  54. SQL_廠商類別()
  55. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  56. While (dr.Read()) : 供應商_cb.Items.Add(dr("廠商")) : 供應商編碼_cb.Items.Add(dr("供應商編碼")) : End While : conn.Close()
  57. End Sub
  58. Private Sub ComboBox下拉表單資料載入()
  59. SQL_廠商停用()
  60. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  61. While (dr.Read()) : 供應商_cb.Items.Add(dr("廠商")) : 供應商編碼_cb.Items.Add(dr("供應商編碼")) : End While : conn.Close()
  62. End Sub
  63. Private Sub ComboBox3下拉表單資料載入()
  64. SQL_權限表()
  65. 發件人_cb.Items.Clear() : 提取人_cb.Items.Clear()
  66. While (dr.Read()) : 發件人_cb.Items.Add(dr("姓名")) : 提取人_cb.Items.Add(dr("姓名")) : End While : conn.Close()
  67. End Sub
  68. Private Sub ComboBox5下拉表單資料載入()
  69. SQL_年份清單()
  70. 年份_cb.Items.Clear() : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  71. End Sub
  72. Private Sub ComboBox7下拉表單資料載入()
  73. SQL_客戶表()
  74. for_cb.Items.Clear() : While (dr.Read()) : for_cb.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
  75. End Sub
  76. Private Sub ComboBox18下拉表單資料載入()
  77. SQL_公司傳真()
  78. 廠商類別_cb.Items.Clear() : While (dr.Read()) : 廠商類別_cb.Items.Add(dr("類別")) : End While : conn.Close()
  79. End Sub
  80. Private Sub Set_日期格式轉換()
  81. DTP = Strings.Format(日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Strings.Format(Today(), "yyyyMMdd")
  82. End Sub
  83. Private Sub 樣品物料調料單_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  84. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  85. Set_清單() : ComboBox18下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  86. 申請完成_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False : 修改_bt.Enabled = False : 修改存檔_bt.Enabled = False : 刪除1_bt.Enabled = False
  87. 樣品物料調料單單號_tb.Enabled = False : 項次_tb.Enabled = False
  88. End Sub
  89. Private Sub 樣品物料調料單_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
  90. If 申請完成_bt.Enabled = True Then
  91. SQL_刪除樣品物料調料單抬頭() : conn.Close()
  92. SQL_刪除樣品物料調料單明細() : conn.Close()
  93. End If
  94. End Sub
  95. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 調料單_dgv.CellClick
  96. If e.RowIndex = -1 Then : Else
  97. ComboBox下拉表單資料載入()
  98. 樣品物料調料單單號_tb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("調料單號").Value.ToString : 修改_bt.Enabled = True : 刪除1_bt.Enabled = True
  99. 供應商編碼_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("供應商編號").Value : 發件人_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("發件人").Value
  100. 提取人_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("收件人").Value : 日期_dtp.Value = 調料單_dgv.Rows(e.RowIndex).Cells("日期").Value
  101. 制表人_tb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("制表人").Value : for_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("客戶").Value
  102. 年份_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("SHOW年").Value : 月份_cb.Text = 調料單_dgv.Rows(e.RowIndex).Cells("SHOW月").Value
  103. Set_使用者清單()
  104. End If
  105. End Sub
  106. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  107. If e.RowIndex = -1 Then : Else
  108. 項次_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("項次").Value
  109. End If
  110. End Sub
  111. Private Sub DataGridView2_CellContentClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEndEdit
  112. 總金額_tb.Text = "0.00"
  113. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  114. 明細_dgv.Rows(i).Cells("金額").Value = Val(明細_dgv.Rows(i).Cells("數量").Value) * Val(明細_dgv.Rows(i).Cells("單價").Value)
  115. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  116. Next i
  117. 總金額_tb.Text = Strings.Format(Val(總金額_tb.Text), "#,##0.00")
  118. End Sub
  119. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  120. If 尚未存檔_lb.Visible = True Then : 尚未存檔_lb.Visible = False : Else : 尚未存檔_lb.Visible = True : End If
  121. End Sub
  122. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  123. 供應商編碼_cb.SelectedIndex = 供應商_cb.SelectedIndex
  124. End Sub
  125. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商編碼_cb.SelectedIndexChanged
  126. 供應商_cb.SelectedIndex = 供應商編碼_cb.SelectedIndex
  127. SQL_供應商清單()
  128. If dr.Read() Then : 供應商公司全稱_tb.Text = dr("公司名") : 供應商聯繫人_tb.Text = dr("聯繫人1") : 供應商公司電話_tb.Text = dr("公司電話1") : End If
  129. conn.Close()
  130. End Sub
  131. Private Sub ComboBox18_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles 廠商類別_cb.SelectedIndexChanged
  132. ComboBox1下拉表單資料載入()
  133. End Sub
  134. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 開立樣品物料調料單_bt.Click
  135. Timer1.Enabled = True : 調料單_dgv.Enabled = False
  136. 開立樣品物料調料單_bt.Enabled = False : 申請完成_bt.Enabled = True : 新增_bt.Enabled = True : 刪除_bt.Enabled = True
  137. Set_日期格式轉換() : Dim NUM1 As Integer
  138. For i As Integer = 1 To 999
  139. NUM1 = 0 + i
  140. If NUM1 < 10 Then : 樣品物料調料單單號_tb.Text = "L-" & DTP1 & "-00" & NUM1
  141. ElseIf NUM1 > 9 And NUM1 < 100 Then : 樣品物料調料單單號_tb.Text = "L-" & DTP1 & "-0" & NUM1
  142. ElseIf NUM1 > 99 Then : 樣品物料調料單單號_tb.Text = "L-" & DTP1 & "-" & NUM1
  143. End If
  144. SQL_新增調料單號()
  145. If dr.Read() Then
  146. Else
  147. i = 999
  148. conn.Close()
  149. End If
  150. conn.Close()
  151. Next
  152. SQL_新增樣品物料調料單抬頭()
  153. 明細_dgv.DataSource = Nothing : ds1.Clear()
  154. conn.Close()
  155. End Sub
  156. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click
  157. Dim aa As MsgBoxResult
  158. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  159. If aa = MsgBoxResult.Ok Then
  160. SQL_刪除樣品物料調料單抬頭() : conn.Close()
  161. SQL_刪除樣品物料調料單明細() : conn.Close()
  162. 樣品物料調料單單號_tb.Text = "" : 供應商公司全稱_tb.Text = "" : 供應商聯繫人_tb.Text = "" : 供應商公司電話_tb.Text = ""
  163. ComboBox18下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  164. 明細_dgv.DataSource = Nothing : ds1.Clear()
  165. Set_清單()
  166. End If
  167. End Sub
  168. Private Sub 存檔1()
  169. Set_日期格式轉換()
  170. SQL_修改樣品物料調料單抬頭()
  171. conn.Close()
  172. End Sub
  173. Private Sub 存檔()
  174. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  175. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  176. PA5 = 明細_dgv.Rows(i).Cells("名稱").Value : PA6 = 明細_dgv.Rows(i).Cells("規格").Value
  177. PA7 = 明細_dgv.Rows(i).Cells("顏色").Value : PA8 = 明細_dgv.Rows(i).Cells("單位").Value
  178. PA9 = 明細_dgv.Rows(i).Cells("數量").Value : PA10 = 明細_dgv.Rows(i).Cells("單價").Value
  179. PA11 = 明細_dgv.Rows(i).Cells("備註").Value : PA12 = 明細_dgv.Rows(i).Cells("項次").Value
  180. SQL_修改樣品物料調料單明細()
  181. conn.Close()
  182. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  183. End Sub
  184. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  185. 存檔()
  186. SQL_查詢最後一筆項次1()
  187. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  188. NUM1 = Double.Parse(新項次) + 1
  189. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  190. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  191. End If
  192. SQL_新增樣品物料調料單明細() : conn.Close()
  193. Set_使用者清單()
  194. End Sub
  195. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  196. If 項次_tb.Text = "" Then
  197. MsgBox("未選擇需要刪除的資料")
  198. Else
  199. 存檔()
  200. SQL_刪除樣品物料調料單明細2()
  201. conn.Close()
  202. Set_使用者清單()
  203. Dim NUM1 As Integer = 0
  204. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  205. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  206. PA16 = 明細_dgv.Rows(i).Cells("項次").Value
  207. SQL_修改項次1()
  208. conn.Close()
  209. Next
  210. Set_使用者清單()
  211. End If
  212. End Sub
  213. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 申請完成_bt.Click
  214. 調料單_dgv.Enabled = True
  215. If 供應商_cb.Text = "" Or 發件人_cb.Text = "" Or 提取人_cb.Text = "" Or 年份_cb.Text = "" Or 月份_cb.Text = "" Or for_cb.Text = "" Then
  216. MsgBox("所有的下拉清單都要選擇,請重新確定資料是否正確。")
  217. Else
  218. If 供應商公司全稱_tb.Text = "" Or 供應商聯繫人_tb.Text = "" Or 供應商公司電話_tb.Text = "" Then
  219. MsgBox("供應商資料內容有缺失,請先完善供應商資料。")
  220. Else
  221. Timer1.Enabled = False : 尚未存檔_lb.Visible = False
  222. 開立樣品物料調料單_bt.Enabled = True : 申請完成_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False
  223. 存檔1() : 存檔() : 制表人_tb.Text = gUserName
  224. MsgBox("申請完成,請通知主管核準。") : Set_清單()
  225. End If
  226. End If
  227. End Sub
  228. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
  229. 修改_bt.Enabled = False : 修改存檔_bt.Enabled = True : 新增_bt.Enabled = True : 刪除_bt.Enabled = True : Timer1.Enabled = True
  230. 調料單_dgv.Enabled = False
  231. End Sub
  232. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 修改存檔_bt.Click
  233. If 供應商_cb.Text = "" Or 發件人_cb.Text = "" Or 提取人_cb.Text = "" Or 年份_cb.Text = "" Or 月份_cb.Text = "" Or for_cb.Text = "" Then
  234. MsgBox("所有的下拉清單都要選擇,請重新確定資料是否正確。")
  235. Else
  236. If 供應商公司全稱_tb.Text = "" Or 供應商聯繫人_tb.Text = "" Or 供應商公司電話_tb.Text = "" Then
  237. MsgBox("供應商資料內容有缺失,請先完善供應商資料。")
  238. Else
  239. 調料單_dgv.Enabled = True
  240. Timer1.Enabled = False : 尚未存檔_lb.Visible = False
  241. 修改_bt.Enabled = True : 修改存檔_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False
  242. 存檔1() : 存檔() : 制表人_tb.Text = gUserName
  243. MsgBox("申請完成,請通知主管核準。") : Set_清單()
  244. End If
  245. End If
  246. End Sub
  247. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  248. If 明細_dgv.SelectedCells.Count = 1 Then
  249. 已超出 = False
  250. End If
  251. If 明細_dgv.SelectedCells.Count > 0 Then
  252. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  253. If 明細_dgv.SelectedCells(0).ColumnIndex = 6 Or 明細_dgv.SelectedCells(0).ColumnIndex = 8 Then
  254. If 已超出 = False Then
  255. Dim x As Double = 0
  256. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  257. '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  258. x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  259. Next i
  260. '將計算好的資料放置到指定的控件中
  261. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
  262. Else
  263. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  264. End If
  265. Else
  266. 已超出 = True
  267. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  268. End If
  269. End If
  270. End Sub
  271. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  272. xlApp = CType(CreateObject("Excel.Application"), Application)
  273. xlBook = xlApp.Workbooks.Add
  274. xlApp.DisplayAlerts = True
  275. xlBook.Activate()
  276. xlSheet = NewMethod(xlBook)
  277. xlSheet.Activate()
  278. xlApp.Visible = True
  279. xlApp.Application.WindowState = xlMaximized
  280. xlSheet.Cells(1, 1) = "森康鞋業有限公司
  281. SenKang Footwear Ltd."
  282. xlSheet.Cells(3, 1) = "廣東東莞市厚街鎮湖景大道南150米 TEL:0769-38851258 FAX:0769-38851259" : xlSheet.Cells(6, 1) = "MATERIALS REQUEST FORM" : xlSheet.Cells(7, 1) = " 物料调料单"
  283. xlSheet.Cells(8, 1) = "Purchase NO#" : xlSheet.Cells(8, 3) = 樣品物料調料單單號_tb.Text : xlSheet.Cells(10, 1) = "TO:" : xlSheet.Cells(10, 2) = 供應商公司全稱_tb.Text
  284. xlSheet.Cells(11, 1) = "ATTN:" : xlSheet.Cells(11, 2) = 供應商聯繫人_tb.Text : xlSheet.Cells(12, 1) = "TEL:" : xlSheet.Cells(12, 2) = 供應商公司電話_tb.Text
  285. xlSheet.Cells(10, 10) = "DATE:" : xlSheet.Cells(10, 11) = 日期_dtp.Value : xlSheet.Cells(11, 10) = "FROM:" : xlSheet.Cells(11, 11) = 發件人_cb.Text
  286. xlSheet.Cells(12, 10) = "EXT:" : xlSheet.Cells(12, 11) = 提取人_cb.Text : xlSheet.Cells(14, 1) = "PLS ALWAYS REFER TO OUR PO#请于送货单上注明我们的订单号码"
  287. xlSheet.Cells(16, 1) = "Item" : xlSheet.Cells(16, 2) = "Description" : xlSheet.Cells(16, 4) = "Spec" : xlSheet.Cells(16, 6) = "Color" : xlSheet.Cells(16, 7) = "Unit"
  288. xlSheet.Cells(16, 8) = "Q'TY" : xlSheet.Cells(16, 9) = "Unit Price" : xlSheet.Cells(16, 10) = "Amount" : xlSheet.Cells(16, 11) = "Remark" : xlSheet.Cells(17, 1) = "项次"
  289. xlSheet.Cells(17, 2) = "名称" : xlSheet.Cells(17, 4) = "規格" : xlSheet.Cells(17, 6) = "颜色" : xlSheet.Cells(17, 7) = "单位" : xlSheet.Cells(17, 8) = "数量"
  290. xlSheet.Cells(17, 9) = "单价" : xlSheet.Cells(17, 10) = "金额" : xlSheet.Cells(17, 11) = "备注"
  291. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  292. xlSheet.Cells(i + 18, 1) = 明細_dgv.Rows(i).Cells("項次").Value : xlSheet.Cells(i + 18, 2) = 明細_dgv.Rows(i).Cells("名稱").Value
  293. xlSheet.Cells(i + 18, 4) = 明細_dgv.Rows(i).Cells("規格").Value : xlSheet.Cells(i + 18, 6) = 明細_dgv.Rows(i).Cells("顏色").Value
  294. xlSheet.Cells(i + 18, 7) = 明細_dgv.Rows(i).Cells("單位").Value : xlSheet.Cells(i + 18, 8) = 明細_dgv.Rows(i).Cells("數量").Value
  295. xlSheet.Cells(i + 18, 9) = 明細_dgv.Rows(i).Cells("單價").Value : xlSheet.Cells(i + 18, 10) = 明細_dgv.Rows(i).Cells("金額").Value
  296. xlSheet.Cells(i + 18, 11) = 明細_dgv.Rows(i).Cells("備註").Value
  297. With xlApp.Selection
  298. .Font.Bold = True
  299. End With
  300. N1 = i + 18
  301. Next i
  302. xlSheet.Cells(N1 + 1, 6) = "TOTAL:" : xlSheet.Cells(N1 + 1, 8) = "=SUM(H18:H" & N1 & ")" : xlSheet.Cells(N1 + 1, 10) = "=SUM(J18:J" & N1 & ")" : xlSheet.Cells(N1 + 2, 4) = "'AMOUNT金额(大写):"
  303. xlSheet.Cells(N1 + 2, 8) = "=J" & N1 + 1 : xlSheet.Cells(N1 + 3, 3) = "FOR" : xlSheet.Cells(N1 + 3, 4) = for_cb.Text : xlSheet.Cells(N1 + 3, 7) = 年份_cb.Text : xlSheet.Cells(N1 + 3, 9) = "SHOW"
  304. xlSheet.Cells(N1 + 3, 8) = 月份_cb.Text : xlSheet.Cells(N1 + 5, 1) = "样品请寄:廣東東莞市厚街鎮湖景大道南150米森康鞋業有限公司 人名 電話 收。"
  305. xlSheet.Cells(N1 + 7, 1) = "IMPORTANT: **请回复交期并提供物料报价" : xlSheet.Cells(N1 + 11, 3) = "驗證碼" : xlSheet.Cells(N1 + 11, 4) = "" : xlSheet.Cells(N1 + 12, 3) = "核准:"
  306. xlSheet.Cells(N1 + 12, 10) = "制表人:" : xlSheet.Cells(N1 + 12, 11) = 制表人_tb.Text
  307. AA(xlApp, xlSheet)
  308. xlSheet.PageSetup.PrintArea = ""
  309. xlApp.Cells.Select()
  310. xlSheet.Range("B1").Select()
  311. xlApp.Application.WindowState = xlMinimized
  312. xlApp.ActiveSheet.Protect(DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="0911274990")
  313. xlApp.ActiveSheet.EnableSelection = 1
  314. MsgBox("列印完成")
  315. End Sub
  316. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  317. Return CType(xlBook.Worksheets.Add, Worksheet)
  318. End Function
  319. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  320. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 5.86 : xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 8
  321. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 30 : xlSheet.Columns("D:E").Select : myExcel.Selection.ColumnWidth = 10
  322. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 20 : xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 6.47
  323. xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = 10 : xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 12
  324. xlSheet.Columns("J:J").Select : myExcel.Selection.ColumnWidth = 12 : xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = 25.14
  325. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 86 : xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 8.25
  326. xlSheet.Rows("4:5").Select : myExcel.Selection.RowHeight = 8.25 : xlSheet.Rows("9:9").Select : myExcel.Selection.RowHeight = 8.25
  327. xlSheet.Rows("13:13").Select : myExcel.Selection.RowHeight = 8.25 : xlSheet.Rows("14:14").Select : myExcel.Selection.RowHeight = 25
  328. xlSheet.Rows("15:15").Select : myExcel.Selection.RowHeight = 8.25
  329. xlSheet.Range("A1:K1").Select() : myExcel.Selection.Merge
  330. With myExcel.Selection.Font : .Name = "新細明體" : .Size = 28 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  331. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontMinor : End With
  332. xlSheet.Range("A3:K3").Select() : myExcel.Selection.Merge : myExcel.Selection.Font.Bold = True
  333. xlSheet.Range("A6:K6").Select() : myExcel.Selection.Merge : myExcel.Selection.Font.Bold = True
  334. xlSheet.Range("A7:K7").Select() : myExcel.Selection.Merge : myExcel.Selection.Font.Bold = True
  335. xlSheet.Range("B10:I10").Select() : myExcel.Selection.Merge
  336. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  337. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  338. xlSheet.Range("B11:I11").Select() : myExcel.Selection.Merge
  339. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  340. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  341. xlSheet.Range("B12:I12").Select() : myExcel.Selection.Merge
  342. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  343. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  344. xlSheet.Range("K10").Select()
  345. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  346. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  347. xlSheet.Rows("14:14").Select : myExcel.Selection.Font.Bold = True
  348. xlSheet.Range("B16:C16").Select() : myExcel.Selection.Merge : xlSheet.Range("D16:E16").Select() : myExcel.Selection.Merge
  349. xlSheet.Range("B17:C17").Select() : myExcel.Selection.Merge : xlSheet.Range("D17:E17").Select() : myExcel.Selection.Merge
  350. xlSheet.Range("A16:K17").Select() : myExcel.Selection.Font.Bold = True
  351. xlSheet.Rows("8:8").Select : myExcel.Selection.Font.Bold = True
  352. 位置1 = "18:" & N1 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 35.25
  353. 位置1 = N1 + 5 & ":" & N1 + 5 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 35.25 : 位置1 = N1 + 1 & ":" & N1 + 3 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 20
  354. 位置1 = N1 + 4 & ":" & N1 + 4 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 8.5 : 位置1 = N1 + 6 & ":" & N1 + 6 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 8.5
  355. 位置1 = N1 + 8 & ":" & N1 + 10 : xlSheet.Range(位置1).Select() : myExcel.Selection.RowHeight = 8.5
  356. For i As Integer = 18 To N1
  357. xlSheet.Range("B" & i & ":C" & i & "").Select() : myExcel.Selection.Merge : xlSheet.Range("D" & i & ":E" & i & "").Select() : myExcel.Selection.Merge
  358. xlSheet.Range("H" & i & ":J" & i & "").Select() : myExcel.Selection.Style = "Comma"
  359. Next i
  360. xlSheet.Rows("18:" & N1 + 2).Select
  361. With myExcel.Selection.Font : .Name = "新細明體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  362. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontMinor : End With
  363. xlSheet.Range("C" & N1 + 3).Select()
  364. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  365. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  366. xlSheet.Range("D" & N1 + 3 & ":F" & N1 + 3).Select() : myExcel.Selection.Merge
  367. xlSheet.Range("A" & N1 + 5 & ":K" & N1 + 5).Select() : myExcel.Selection.Merge
  368. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  369. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  370. xlSheet.Range("A16:K" & N1).Select()
  371. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  372. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  373. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  374. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  375. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  376. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  377. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  378. xlSheet.Range("A4:K4").Select()
  379. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  380. myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeTop).LineStyle = xlNone
  381. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  382. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  383. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  384. xlSheet.Range("A9:K9").Select()
  385. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  386. myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeTop).LineStyle = xlNone
  387. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  388. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  389. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  390. xlSheet.Range("A12:K12").Select()
  391. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  392. myExcel.Selection.Borders(xlEdgeLeft).LineStyle = xlNone : myExcel.Selection.Borders(xlEdgeTop).LineStyle = xlNone
  393. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  394. myExcel.Selection.Borders(xlEdgeRight).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  395. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  396. xlSheet.Range("D" & N1 + 2 & ":G" & N1 + 2).Select() : myExcel.Selection.Merge
  397. xlSheet.Range("H" & N1 + 2 & ":J" & N1 + 2).Select() : myExcel.Selection.Merge
  398. xlSheet.Range("H" & N1 + 2 & ":J" & N1 + 2).Select() : myExcel.Selection.NumberFormatLocal = "[DBNum2][$-zh-CN]G/通用格式"
  399. myExcel.ActiveWindow.Zoom = 80 : myExcel.ActiveWindow.DisplayGridlines = False
  400. xlSheet.Range("C" & N1 + 11).Select()
  401. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  402. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  403. xlSheet.Range("C" & N1 + 12).Select()
  404. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  405. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  406. xlSheet.Range("A" & N1 + 5 & ":K" & N1 + 5).Select()
  407. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  408. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  409. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  410. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  411. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  412. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  413. xlSheet.Range("A7:K7").Select()
  414. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  415. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  416. xlSheet.Range("A6:K6").Select()
  417. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  418. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  419. xlSheet.Range("A3:K3").Select()
  420. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  421. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  422. xlSheet.Range("A1:K1").Select()
  423. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  424. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  425. xlSheet.Range("N12").Select()
  426. xlSheet.Range("B18:C" & N1).Select()
  427. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  428. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  429. xlSheet.Range("D18:F" & N1).Select()
  430. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  431. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  432. End Sub
  433. End Class