説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

應付賬款控制表.vb 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  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. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet
  13. Dim N1 As Integer
  14. Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
  15. Private Sub Set_賬款主單()
  16. DataGridView1.DataSource = Nothing : ds.Clear() : DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView1.ColumnHeadersHeight = 40
  17. DataGridView1.AllowUserToAddRows = False : DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView1.MultiSelect = True
  18. SQL_應付賬款主單()
  19. da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  20. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).FillWeight = 100
  21. DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. For I As Integer = 0 To 1 : DataGridView1.Columns(I).ReadOnly = True : Next
  24. End Sub
  25. Private Sub Set_賬款清單()
  26. DataGridView2.DataSource = Nothing : ds1.Clear() : DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView2.ColumnHeadersHeight = 40
  27. DataGridView2.AllowUserToAddRows = False : DataGridView2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView2.MultiSelect = True
  28. If TextBox6.Text = "" Then : SQL_應付賬款清單一() : Else : SQL_應付賬款清單二() : End If
  29. da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  30. DataGridView2.Columns(0).FillWeight = 150 : DataGridView2.Columns(1).Visible = False : DataGridView2.Columns(2).Visible = False : DataGridView2.Columns(3).Visible = False
  31. DataGridView2.Columns(4).FillWeight = 80 : DataGridView2.Columns(5).FillWeight = 300 : DataGridView2.Columns(6).FillWeight = 80 : DataGridView2.Columns(7).FillWeight = 80
  32. DataGridView2.Columns(8).FillWeight = 80 : DataGridView2.Columns(9).FillWeight = 80 : DataGridView2.Columns(10).FillWeight = 100 : DataGridView2.Columns(11).FillWeight = 100
  33. DataGridView2.Columns(12).FillWeight = 150 : DataGridView2.Columns(13).FillWeight = 60 : DataGridView2.Columns(14).FillWeight = 50 : DataGridView2.Columns(15).Visible = False
  34. DataGridView2.Columns(16).FillWeight = 120 : DataGridView2.Columns(17).Visible = False
  35. DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(7).DefaultCellStyle.Format = "#,##0.000"
  36. DataGridView2.Columns(8).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(9).DefaultCellStyle.Format = "#,##0"
  37. DataGridView2.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  38. DataGridView2.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  39. DataGridView2.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  40. DataGridView2.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  41. DataGridView2.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  42. DataGridView2.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  43. DataGridView2.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  44. DataGridView2.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  45. DataGridView2.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  46. For I As Integer = 0 To 12 : DataGridView2.Columns(I).ReadOnly = True : Next : DataGridView2.Columns(14).ReadOnly = True
  47. For I As Integer = 0 To DataGridView2.Rows.Count - 1
  48. If DataGridView2.Rows(I).Cells("應付立帳").Value.ToString = "" Then : DataGridView2.Rows(I).Cells("應付立帳").Value = False : End If
  49. DataGridView2.Rows(I).Cells("選擇").Value = False
  50. Next
  51. End Sub
  52. Private Sub Set_財務清單()
  53. DataGridView3.DataSource = Nothing : ds2.Clear() : DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView3.ColumnHeadersHeight = 40
  54. DataGridView3.AllowUserToAddRows = False : DataGridView3.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView3.MultiSelect = True
  55. DataGridView3.RowTemplate.Height = 35
  56. SQL_應付賬款清單三()
  57. da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close()
  58. DataGridView3.Columns(0).Visible = False : DataGridView3.Columns(1).Visible = False : DataGridView3.Columns(2).FillWeight = 75 : DataGridView3.Columns(3).Visible = False
  59. DataGridView3.Columns(4).FillWeight = 150 : DataGridView3.Columns(5).FillWeight = 80 : DataGridView3.Columns(6).Visible = False : DataGridView3.Columns(7).FillWeight = 80
  60. DataGridView3.Columns(8).Visible = False : DataGridView3.Columns(9).FillWeight = 150 : DataGridView3.Columns(10).FillWeight = 50 : DataGridView3.Columns(11).FillWeight = 50
  61. DataGridView3.Columns(12).FillWeight = 120 : DataGridView3.Columns(13).FillWeight = 75 : DataGridView3.Columns(14).FillWeight = 95 : DataGridView3.Columns(15).FillWeight = 95
  62. DataGridView3.Columns(16).FillWeight = 95 : DataGridView3.Columns(17).FillWeight = 95 : DataGridView3.Columns(18).FillWeight = 75 : DataGridView3.Columns(19).Visible = False
  63. DataGridView3.Columns(20).FillWeight = 150 : DataGridView3.Columns(21).FillWeight = 100 : DataGridView3.Columns(22).FillWeight = 80 : DataGridView3.Columns(23).FillWeight = 150
  64. DataGridView3.Columns(24).Visible = False : DataGridView3.Columns(25).Visible = False : DataGridView3.Columns(26).Visible = False
  65. DataGridView3.Columns(6).DefaultCellStyle.Format = "#,##0" : DataGridView3.Columns(7).DefaultCellStyle.Format = "#,##0"
  66. DataGridView3.Columns(8).DefaultCellStyle.Format = "#,##0" : DataGridView3.Columns(5).DefaultCellStyle.Format = "#,##0"
  67. DataGridView3.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  68. DataGridView3.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  69. DataGridView3.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  70. DataGridView3.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  71. DataGridView3.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  72. DataGridView3.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  73. DataGridView3.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  74. DataGridView3.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView3.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  75. End Sub
  76. Private Sub 日期格式()
  77. If 會計月.Checked = True Then
  78. '-------------日期一----------------------------------------------------------------------------------------
  79. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  80. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(-1)
  81. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "26" : DateTimePicker1.Value = DTP
  82. '-------------日期二----------------------------------------------------------------------------------------
  83. DTP = Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & "25" : DateTimePicker2.Value = DTP
  84. Else
  85. '-------------日期一----------------------------------------------------------------------------------------
  86. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(1)
  87. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  88. '-------------日期二----------------------------------------------------------------------------------------
  89. DTP = Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker2.Value = DTP
  90. DateTimePicker2.Value = DateTimePicker2.Value.AddMonths(1) : DateTimePicker2.Value = DateTimePicker2.Value.AddDays(-1)
  91. End If
  92. End Sub
  93. Private Sub 應付賬款控制表1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  94. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  95. DateTimePicker4.Visible = False : TextBox1.Visible = False : TextBox5.Visible = False
  96. 日期格式() : Set_賬款主單()
  97. End Sub
  98. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  99. If 會計月.Checked = True Then
  100. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(-1)
  101. DateTimePicker1.Value = DateTimePicker4.Value
  102. DateTimePicker2.Value = DateTimePicker4.Value
  103. Else
  104. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(-1)
  105. DateTimePicker1.Value = DateTimePicker4.Value.AddMonths(-1)
  106. DateTimePicker2.Value = DateTimePicker4.Value
  107. End If
  108. TextBox6.Text = "" : 日期格式() : Set_賬款主單()
  109. End Sub
  110. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  111. If 會計月.Checked = True Then
  112. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(1)
  113. DateTimePicker1.Value = DateTimePicker4.Value
  114. DateTimePicker2.Value = DateTimePicker4.Value
  115. Else
  116. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(1)
  117. DateTimePicker1.Value = DateTimePicker4.Value.AddMonths(-1)
  118. DateTimePicker2.Value = DateTimePicker4.Value
  119. End If
  120. TextBox6.Text = "" : 日期格式() : Set_賬款主單()
  121. End Sub
  122. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月.Click
  123. 會計月.Checked = True : 一般月.Checked = False : TextBox6.Text = "" : 日期格式() : Set_賬款主單()
  124. End Sub
  125. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月.Click
  126. 會計月.Checked = False : 一般月.Checked = True : TextBox6.Text = "" : 日期格式() : Set_賬款主單()
  127. End Sub
  128. Private Sub 選中金額計算()
  129. TextBox4.Text = "0" : TextBox5.Text = "0"
  130. For I As Integer = 0 To DataGridView2.Rows.Count - 1
  131. If DataGridView2.Rows(I).Cells("選擇").Value = True Then
  132. TextBox5.Text = Val(TextBox5.Text) + DataGridView2.Rows(I).Cells("金額").Value
  133. TextBox4.Text = Val(TextBox4.Text) + DataGridView2.Rows(I).Cells("金額").Value
  134. End If
  135. Next
  136. NumericUpDown2.Value = Val(TextBox5.Text) - NumericUpDown1.Value
  137. TextBox4.Text = Strings.Format(Val(TextBox4.Text), "#,##0")
  138. End Sub
  139. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  140. If e.RowIndex = -1 Then : Else
  141. TextBox6.Text = "" : TextBox2.Text = "" : CheckBox2.Checked = False : TextBox4.Text = "0" : NumericUpDown1.Value = 0 : NumericUpDown2.Value = 0
  142. TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells("供應商編號").Value
  143. TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("供應商").Value
  144. Set_賬款清單() : Set_財務清單()
  145. For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = True : Next i : 選中金額計算()
  146. End If
  147. End Sub
  148. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  149. If e.RowIndex = -1 Then : Else
  150. If DataGridView2.Rows(e.RowIndex).Cells("申請日期").Value.ToString = "" Then : Else : DateTimePicker3.Value = DataGridView2.Rows(e.RowIndex).Cells("申請日期").Value.ToString : End If
  151. TextBox2.Text = DataGridView2.Rows(e.RowIndex).Cells("單據編號").Value : TextBox6.Text = DataGridView2.Rows(e.RowIndex).Cells("財務單號").Value.ToString
  152. For I As Integer = 0 To DataGridView2.Rows.Count - 1
  153. If CheckBox2.Checked = False Then
  154. DataGridView2.Rows(I).Cells("選擇").Value = False
  155. End If
  156. If TextBox2.Text = DataGridView2.Rows(I).Cells("單據編號").Value Then
  157. DataGridView2.Rows(I).Cells("選擇").Value = True
  158. End If
  159. Next
  160. 選中金額計算() : Set_財務清單()
  161. NumericUpDown1.Value = 0
  162. For I As Integer = 0 To DataGridView3.Rows.Count - 1
  163. If DataGridView3.Rows(I).Cells("開票").Value < 0 Or DataGridView3.Rows(I).Cells("付現").Value < 0 Then : Else
  164. NumericUpDown1.Value = NumericUpDown1.Value + DataGridView3.Rows(I).Cells("開票").Value + DataGridView3.Rows(I).Cells("付現").Value
  165. End If
  166. Next
  167. End If
  168. End Sub
  169. Private Sub DataGridView2_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView2.RowPostPaint
  170. Dim linePen As New Pen(Color.Blue, 2)
  171. If e.RowIndex = DataGridView2.Rows.Count - 1 Then : Exit Sub
  172. Else
  173. If DataGridView2(0, e.RowIndex).Value.ToString <> DataGridView2(0, e.RowIndex + 1).Value.ToString Then
  174. Dim startX As Integer = IIf(DataGridView2.RowHeadersVisible, DataGridView2.RowHeadersWidth, 0)
  175. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  176. Dim endX As Integer = startX + DataGridView2.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView2.HorizontalScrollingOffset
  177. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  178. End If
  179. End If
  180. End Sub
  181. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  182. TextBox6.Text = "" : TextBox1.Text = "%%" : Set_賬款清單() : Set_財務清單()
  183. End Sub
  184. Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
  185. NumericUpDown2.Value = Val(TextBox5.Text) - NumericUpDown1.Value
  186. End Sub
  187. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  188. For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = True : Next i : 選中金額計算()
  189. End Sub
  190. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  191. For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = False : Next i : 選中金額計算()
  192. End Sub
  193. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  194. Dim 選擇判斷 As Boolean = False
  195. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  196. If DataGridView2.Rows(i).Cells("選擇").Value = True Then
  197. 選擇判斷 = True : Exit For
  198. End If
  199. Next i
  200. If 選擇判斷 = True Then
  201. If CheckBox1.Checked = False Then : DTP = Strings.Format(Today(), "yyyy/MM/dd") : DTP1 = Strings.Format(Today(), "yyyyMMdd")
  202. Else : DTP1 = Strings.Format(DateTimePicker3.Value, "yyyyMMdd") : DTP = Strings.Format(DateTimePicker3.Value, "yyyy/MM/dd") : End If
  203. 收付應沖金額 = Val(TextBox5.Text)
  204. 財務單申請狀態 = "應付" : 收付對應財務單號 = TextBox6.Text
  205. 收付對應客戶供應商編號 = TextBox1.Text
  206. For I As Integer = 0 To DataGridView2.Rows.Count - 1
  207. If DataGridView2.Rows(I).Cells("選擇").Value = True Then
  208. PA19 = DataGridView2.Rows(I).Cells("資料流水號").Value.ToString
  209. SQL_應收應付單號連接暫存檔新增() : conn.Close()
  210. End If
  211. Next
  212. 財務單具申請.ShowDialog()
  213. Set_賬款清單() : Set_財務清單() : 財務單具申請.Close()
  214. For I As Integer = 0 To DataGridView2.Rows.Count - 1
  215. DataGridView2.Rows(I).Cells("選擇").Value = True
  216. Next
  217. Else
  218. MsgBox("最少要選擇一張單據。")
  219. End If
  220. End Sub
  221. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  222. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  223. If TextBox2.Text = DataGridView2.Rows(i).Cells("單據編號").Value.ToString Then
  224. DataGridView2.Rows(i).Cells("應付立帳").Value = False
  225. End If
  226. Next i
  227. End Sub
  228. Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
  229. CheckBox2.Checked = True
  230. Set_賬款清單() : For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = True : Next i : 選中金額計算()
  231. End Sub
  232. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  233. xlApp = CType(CreateObject("Excel.Application"), Application)
  234. xlBook = xlApp.Workbooks.Add
  235. xlApp.DisplayAlerts = True
  236. xlApp.Visible = True
  237. xlApp.Application.WindowState = xlMaximized
  238. N1 = 0
  239. If DataGridView2.Rows.Count = 0 Then : Else
  240. xlSheet = NewMethod(xlBook)
  241. xlSheet.Cells(1, 1) = MAOJI_ERP_SYS.ComboBox2.Text : xlSheet.Cells(2, 1) = DateTimePicker1.Value & " 到 " & DateTimePicker2.Value & " 應付帳款清單"
  242. xlSheet.Cells(3, 1) = "單據編號" : xlSheet.Cells(3, 2) = "供應商" : xlSheet.Cells(3, 3) = "頁碼" : xlSheet.Cells(3, 4) = "品名" : xlSheet.Cells(3, 5) = "單價" : xlSheet.Cells(3, 6) = "匯率"
  243. xlSheet.Cells(3, 7) = "入庫" : xlSheet.Cells(3, 8) = "金額" : xlSheet.Cells(3, 9) = "採購下單" : xlSheet.Cells(3, 10) = "入庫日期" : xlSheet.Cells(3, 11) = "是否立帳"
  244. xlSheet.Cells(2, 7) = "合計" : xlSheet.Cells(2, 8) = "=SUBTOTAL(9,H4:H9999)"
  245. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  246. If DataGridView2.Rows(i).Cells("選擇").Value = True Then
  247. xlSheet.Cells(N1 + 4, 1) = DataGridView2.Rows(i).Cells("單據編號").Value : xlSheet.Cells(N1 + 4, 2) = DataGridView2.Rows(i).Cells("供應商").Value
  248. xlSheet.Cells(N1 + 4, 3) = DataGridView2.Rows(i).Cells("頁碼").Value : xlSheet.Cells(N1 + 4, 4) = DataGridView2.Rows(i).Cells("品名").Value
  249. xlSheet.Cells(N1 + 4, 5) = DataGridView2.Rows(i).Cells("單價").Value : xlSheet.Cells(N1 + 4, 6) = DataGridView2.Rows(i).Cells("匯率").Value
  250. xlSheet.Cells(N1 + 4, 7) = DataGridView2.Rows(i).Cells("入庫").Value : xlSheet.Cells(N1 + 4, 8) = DataGridView2.Rows(i).Cells("金額").Value
  251. xlSheet.Cells(N1 + 4, 9) = DataGridView2.Rows(i).Cells("採購下單").Value : xlSheet.Cells(N1 + 4, 10) = DataGridView2.Rows(i).Cells("入庫日期").Value
  252. If DataGridView2.Rows(i).Cells("應付立帳").Value = True Then : PA1 = "YES" : Else : PA1 = "NO" : End If
  253. xlSheet.Cells(N1 + 4, 11) = PA1
  254. N1 += 1
  255. End If
  256. Next i
  257. N1 += 4
  258. AA(xlApp, xlSheet)
  259. End If
  260. xlSheet.PageSetup.PrintArea = ""
  261. xlApp.Cells.Select()
  262. xlSheet.Range("B1").Select()
  263. xlApp.Application.WindowState = xlMinimized
  264. xlSheet.Cells.Select()
  265. MsgBox("列印完成。")
  266. End Sub
  267. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  268. Return CType(xlBook.Worksheets.Add, Worksheet)
  269. End Function
  270. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  271. xlSheet.Cells.Select()
  272. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  273. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  274. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 18 : xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 10
  275. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 9 : xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 30
  276. xlSheet.Columns("E:H").Select : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0"
  277. xlSheet.Columns("F:F").Select : myExcel.Selection.NumberFormatLocal = "#,##0.000;[紅色]-#,##0.000"
  278. xlSheet.Columns("E:H").Select : myExcel.Selection.ColumnWidth = 7 : xlSheet.Columns("I:J").Select : myExcel.Selection.ColumnWidth = 10
  279. xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = 8
  280. xlSheet.Rows("1:1").Select
  281. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 22 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  282. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  283. xlSheet.Rows("2:2").Select
  284. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 18 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  285. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  286. xlSheet.Rows("3:3").Select
  287. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  288. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  289. xlSheet.Rows("4:4").Select : myExcel.ActiveWindow.FreezePanes = True : xlSheet.Rows("3:3").Select : myExcel.Selection.AutoFilter
  290. xlSheet.Rows("3:3").Select : myExcel.Selection.RowHeight = 25
  291. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  292. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  293. xlSheet.Range("H2:I2").Select()
  294. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  295. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  296. xlSheet.Range("G2:I2").Select()
  297. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  298. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  299. xlSheet.Range("A1:K1").Select()
  300. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  301. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  302. xlSheet.Range("A2:F2").Select()
  303. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  304. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  305. xlSheet.Range("L10").Select() : myExcel.ActiveWindow.DisplayGridlines = False
  306. xlSheet.Range("G2").Select()
  307. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  308. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  309. xlSheet.Range("A3:K" & N1).Select()
  310. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  311. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  312. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  313. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  314. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  315. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  316. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  317. End Sub
  318. End Class