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

營運成本收支單對帳表.vb 37KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  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 System.Data.SqlClient
  11. Public Class 營運成本收支單對帳表
  12. ReadOnly conn1 As New SqlConnection
  13. ReadOnly cmd As New SqlCommand : ReadOnly cmd1 As New SqlCommand : Dim ds4 As New DataSet
  14. ReadOnly ds As New DataSet
  15. Dim N2 As Integer
  16. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  17. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  18. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  19. Dim 位置1 As String : ReadOnly 對話框(2) As String
  20. Private Sub Set_清單1()
  21. 明細_dgv.DataSource = Nothing : ds.Clear()
  22. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  23. 明細_dgv.ColumnHeadersHeight = 45
  24. 明細_dgv.AllowUserToAddRows = False
  25. SQL_營運成本收支單對帳表_查詢最後一筆清單() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  26. End Sub
  27. Private Sub Set_grid()
  28. 明細_dgv.Columns(0).FillWeight = 120 : 明細_dgv.Columns(1).FillWeight = 60 : 明細_dgv.Columns(2).FillWeight = 80 : 明細_dgv.Columns(3).FillWeight = 60
  29. 明細_dgv.Columns(4).FillWeight = 80 : 明細_dgv.Columns(5).FillWeight = 50 : 明細_dgv.Columns(6).FillWeight = 150 : 明細_dgv.Columns(7).FillWeight = 233
  30. 明細_dgv.Columns(8).FillWeight = 80 : 明細_dgv.Columns(9).FillWeight = 80 : 明細_dgv.Columns(10).FillWeight = 80 : 明細_dgv.Columns(11).FillWeight = 80
  31. 明細_dgv.Columns(12).FillWeight = 80 : 明細_dgv.Columns(13).FillWeight = 50 : 明細_dgv.Columns(14).FillWeight = 85 : 明細_dgv.Columns(15).FillWeight = 50
  32. 明細_dgv.Columns(16).FillWeight = 85 : 明細_dgv.Columns(17).FillWeight = 80 : 明細_dgv.Columns(18).FillWeight = 80 : 明細_dgv.Columns(19).FillWeight = 80
  33. 明細_dgv.Columns(20).FillWeight = 80 : 明細_dgv.Columns(21).FillWeight = 70 : 明細_dgv.Columns(22).FillWeight = 70
  34. If 隱藏申請審核資訊_cb.Checked = False Then
  35. 明細_dgv.Columns(1).Visible = True : 明細_dgv.Columns(2).Visible = True : 明細_dgv.Columns(3).Visible = True : 明細_dgv.Columns(4).Visible = True
  36. Else
  37. 明細_dgv.Columns(1).Visible = False : 明細_dgv.Columns(2).Visible = False : 明細_dgv.Columns(3).Visible = False : 明細_dgv.Columns(4).Visible = False
  38. End If
  39. If 隱藏作帳點交資訊_cb.Checked = False Then
  40. 明細_dgv.Columns(13).Visible = True : 明細_dgv.Columns(14).Visible = True : 明細_dgv.Columns(15).Visible = True : 明細_dgv.Columns(16).Visible = True
  41. Else
  42. 明細_dgv.Columns(13).Visible = False : 明細_dgv.Columns(14).Visible = False : 明細_dgv.Columns(15).Visible = False : 明細_dgv.Columns(16).Visible = False
  43. End If
  44. 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(9).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(10).DefaultCellStyle.Format = "#,##0"
  45. 明細_dgv.Columns(11).DefaultCellStyle.Format = "#,##0"
  46. 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  47. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  48. 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  49. 明細_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  50. 明細_dgv.Columns(21).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(21).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  51. 明細_dgv.Columns(22).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(22).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  52. 支出1_tb.Text = "0" : 現金1_tb.Text = "0" : 損益1_tb.Text = "0" : 零用金1_tb.Text = "0" : 已兌現支票1_tb.Text = "0" : 未兌現支票1_tb.Text = "0"
  53. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  54. 現金1_tb.Text = Val(現金1_tb.Text) + 明細_dgv.Rows(i).Cells(表頭(39)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  55. 支出1_tb.Text = Val(支出1_tb.Text) + 明細_dgv.Rows(i).Cells(表頭(112)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  56. 零用金1_tb.Text = Val(零用金1_tb.Text) + 明細_dgv.Rows(i).Cells(表頭(110)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  57. If 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = True Then
  58. 已兌現支票1_tb.Text = Val(已兌現支票1_tb.Text) + 明細_dgv.Rows(i).Cells(表頭(111)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  59. ElseIf 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = False Then
  60. 未兌現支票1_tb.Text = Val(未兌現支票1_tb.Text) + 明細_dgv.Rows(i).Cells(表頭(111)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  61. End If
  62. If 明細_dgv(表頭(115), i).Value = "台幣現金" Then : 明細_dgv(表頭(115), i).Value = "台幣" : Else : 明細_dgv(表頭(115), i).Value = "人民幣" : End If
  63. Next i
  64. 損益1_tb.Text = Val(已兌現支票1_tb.Text) + Val(零用金1_tb.Text) + Val(現金1_tb.Text) - Val(支出1_tb.Text)
  65. If Val(損益1_tb.Text) > 0 Then : 損益1_tb.ForeColor = Color.Blue : Else : 損益1_tb.ForeColor = Color.Red : End If
  66. 支出1_tb.Text = Strings.Format(Val(支出1_tb.Text), "#,##0") : 損益1_tb.Text = Strings.Format(Val(損益1_tb.Text), "#,##0") : 現金1_tb.Text = Strings.Format(Val(現金1_tb.Text), "#,##0")
  67. 零用金1_tb.Text = Strings.Format(Val(零用金1_tb.Text), "#,##0") : 已兌現支票1_tb.Text = Strings.Format(Val(已兌現支票1_tb.Text), "#,##0") : 未兌現支票1_tb.Text = Strings.Format(Val(未兌現支票1_tb.Text), "#,##0")
  68. End Sub
  69. Private Sub ComboBox1下拉表單資料載入()
  70. conn.Close()
  71. SQL_年份清單() : 查詢日期_cb.Items.Clear()
  72. While (dr.Read()) : 查詢日期_cb.Items.Add(dr("年份")) : End While
  73. conn.Close()
  74. End Sub
  75. Private Sub Set_語言()
  76. 語言_dgv.DataSource = Nothing : ds4.Clear()
  77. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  78. 語言_dgv.ColumnHeadersHeight = 25
  79. 語言_dgv.AllowUserToAddRows = False
  80. SQL_系統語言導入()
  81. da.Fill(ds4) : 語言_dgv.DataSource = ds4.Tables(0) : conn.Close()
  82. End Sub
  83. Private Sub 語言轉換讀取()
  84. Set_語言() : conn.Close()
  85. For i As Integer = 0 To 語言_dgv.Rows.Count - 1
  86. If 語言_dgv("控件", i).Value.ToString = "營運成本收支單對帳表" Then : Me.Text = 語言_dgv("內容", i).Value.ToString : End If
  87. If 語言_dgv("控件", i).Value.ToString = "查詢日期_lb" Then : 查詢日期_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  88. If 語言_dgv("控件", i).Value.ToString = "單號_lb" Then : 單號_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  89. If 語言_dgv("控件", i).Value.ToString = "隱藏申請審核資訊_cb" Then : 隱藏申請審核資訊_cb.Text = 語言_dgv("內容", i).Value.ToString : End If
  90. If 語言_dgv("控件", i).Value.ToString = "隱藏作帳點交資訊_cb" Then : 隱藏作帳點交資訊_cb.Text = 語言_dgv("內容", i).Value.ToString : End If
  91. If 語言_dgv("控件", i).Value.ToString = "資料尚未存檔_lb" Then : 資料尚未存檔_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  92. If 語言_dgv("控件", i).Value.ToString = "關鍵字查詢_bt" Then : 關鍵字查詢_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  93. If 語言_dgv("控件", i).Value.ToString = "清除查詢資料_bt" Then : 清除查詢資料_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  94. If 語言_dgv("控件", i).Value.ToString = "對帳記錄存檔_bt" Then : 對帳記錄存檔_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  95. If 語言_dgv("控件", i).Value.ToString = "匯出EXCEL_bt" Then : 匯出EXCEL_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  96. If 語言_dgv("控件", i).Value.ToString = "未兌現支票_lb" Then : 未兌現支票_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  97. If 語言_dgv("控件", i).Value.ToString = "未兌現支票1_lb" Then : 未兌現支票1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  98. If 語言_dgv("控件", i).Value.ToString = "已兌現支票_lb" Then : 已兌現支票_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  99. If 語言_dgv("控件", i).Value.ToString = "已兌現支票1_lb" Then : 已兌現支票1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  100. If 語言_dgv("控件", i).Value.ToString = "零用金_lb" Then : 零用金_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  101. If 語言_dgv("控件", i).Value.ToString = "零用金1_lb" Then : 零用金1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  102. If 語言_dgv("控件", i).Value.ToString = "現金_lb" Then : 現金_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  103. If 語言_dgv("控件", i).Value.ToString = "現金1_lb" Then : 現金1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  104. If 語言_dgv("控件", i).Value.ToString = "支出_lb" Then : 支出_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  105. If 語言_dgv("控件", i).Value.ToString = "支出1_lb" Then : 支出1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  106. If 語言_dgv("控件", i).Value.ToString = "損益_lb" Then : 損益_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  107. If 語言_dgv("控件", i).Value.ToString = "損益1_lb" Then : 損益1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  108. If 語言_dgv("控件", i).Value.ToString = "只顯示支票資料_cb" Then : 只顯示支票資料_cb.Text = 語言_dgv("內容", i).Value.ToString : End If
  109. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_收支單號" Then : 表頭(107) = 語言_dgv("內容", i).Value.ToString : End If
  110. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_申請人" Then : 表頭(19) = 語言_dgv("內容", i).Value.ToString : End If
  111. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_申請日期" Then : 表頭(20) = 語言_dgv("內容", i).Value.ToString : End If
  112. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_審核人" Then : 表頭(120) = 語言_dgv("內容", i).Value.ToString : End If
  113. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_審核日期" Then : 表頭(121) = 語言_dgv("內容", i).Value.ToString : End If
  114. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_項次" Then : 表頭(11) = 語言_dgv("內容", i).Value.ToString : End If
  115. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_會計科目" Then : 表頭(98) = 語言_dgv("內容", i).Value.ToString : End If
  116. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_零用金" Then : 表頭(110) = 語言_dgv("內容", i).Value.ToString : End If
  117. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_支票" Then : 表頭(111) = 語言_dgv("內容", i).Value.ToString : End If
  118. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_現金" Then : 表頭(39) = 語言_dgv("內容", i).Value.ToString : End If
  119. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_支出" Then : 表頭(112) = 語言_dgv("內容", i).Value.ToString : End If
  120. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_票期" Then : 表頭(113) = 語言_dgv("內容", i).Value.ToString : End If
  121. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_會計" Then : 表頭(98) = 語言_dgv("內容", i).Value.ToString : End If
  122. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_用途與內容" Then : 表頭(122) = 語言_dgv("內容", i).Value.ToString : End If
  123. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_作帳日期" Then : 表頭(123) = 語言_dgv("內容", i).Value.ToString : End If
  124. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_點交" Then : 表頭(124) = 語言_dgv("內容", i).Value.ToString : End If
  125. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_點交日期" Then : 表頭(125) = 語言_dgv("內容", i).Value.ToString : End If
  126. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_零用金點交" Then : 表頭(126) = 語言_dgv("內容", i).Value.ToString : End If
  127. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_支票兌現" Then : 表頭(127) = 語言_dgv("內容", i).Value.ToString : End If
  128. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_現金點交" Then : 表頭(128) = 語言_dgv("內容", i).Value.ToString : End If
  129. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_支出點交" Then : 表頭(129) = 語言_dgv("內容", i).Value.ToString : End If
  130. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_匯率" Then : 表頭(114) = 語言_dgv("內容", i).Value.ToString : End If
  131. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_幣別" Then : 表頭(115) = 語言_dgv("內容", i).Value.ToString : End If
  132. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_會計" Then : 表頭(130) = 語言_dgv("內容", i).Value.ToString : End If
  133. If 語言_dgv("控件", i).Value.ToString = "對話框1" Then : 對話框(0) = 語言_dgv("內容", i).Value.ToString : End If
  134. If 語言_dgv("控件", i).Value.ToString = "對話框2" Then : 對話框(1) = 語言_dgv("內容", i).Value.ToString : End If
  135. If 語言_dgv("控件", i).Value.ToString = "對話框3" Then : 對話框(2) = 語言_dgv("內容", i).Value.ToString : End If
  136. Next
  137. End Sub
  138. Private Sub 營運成本收支單對帳表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  139. 介面 = "H304" : Set_語言() : 語言轉換讀取()
  140. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  141. PA19 = "" : PA18 = "" : PA20 = ""
  142. 現金_tb.Text = "0" : 支出_tb.Text = "0" : 損益_tb.Text = "0" : 零用金_tb.Text = "0" : 已兌現支票_tb.Text = "0" : 未兌現支票_tb.Text = "0"
  143. 現金1_tb.Text = "0" : 支出1_tb.Text = "0" : 損益1_tb.Text = "0" : 零用金1_tb.Text = "0" : 已兌現支票1_tb.Text = "0" : 未兌現支票1_tb.Text = "0"
  144. SQL_營運成本收支單對帳表_修改會計() : conn.Close()
  145. SQL_營運成本收支單對帳表_修改出納() : conn.Close()
  146. SQL_營運成本收支單對帳表_修改現金() : conn.Close()
  147. SQL_營運成本收支單對帳表_修改備用金() : conn.Close()
  148. SQL_營運成本收支單對帳表_修改公帳() : conn.Close()
  149. SQL_營運成本收支單對帳表_修改支票() : conn.Close()
  150. SQL_營運成本收支單對帳表_修改日期() : conn.Close()
  151. SQL_營運成本收支單對帳表_修改出納日期() : conn.Close()
  152. 資料尚未存檔_lb.Visible = False
  153. ComboBox1下拉表單資料載入()
  154. 查詢日期_cb.Text = Year(Today) : 查詢日期1_cb.SelectedIndex = Month(Today) - 1
  155. PA20 = "AND (財務收支控制表.審核日期 LIKE N'" & PA17 & "/" & PA16 & "%') "
  156. End Sub
  157. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  158. If 資料尚未存檔_lb.Visible = True Then : 資料尚未存檔_lb.Visible = False : Else : 資料尚未存檔_lb.Visible = True : End If
  159. End Sub
  160. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 清除查詢資料_bt.Click
  161. ComboBox1下拉表單資料載入()
  162. 查詢日期1_cb.Items.Clear()
  163. 查詢日期1_cb.Items.Add("01") : 查詢日期1_cb.Items.Add("02") : 查詢日期1_cb.Items.Add("03") : 查詢日期1_cb.Items.Add("04") : 查詢日期1_cb.Items.Add("05") : 查詢日期1_cb.Items.Add("06")
  164. 查詢日期1_cb.Items.Add("07") : 查詢日期1_cb.Items.Add("08") : 查詢日期1_cb.Items.Add("09") : 查詢日期1_cb.Items.Add("10") : 查詢日期1_cb.Items.Add("11") : 查詢日期1_cb.Items.Add("12")
  165. PA17 = "" : PA16 = "" : PA20 = ""
  166. 明細_dgv.DataSource = Nothing : ds.Clear()
  167. End Sub
  168. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 對帳記錄存檔_bt.Click
  169. Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
  170. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  171. PA15 = 明細_dgv.Rows(i).Cells(表頭(128)).Value
  172. PA14 = 明細_dgv.Rows(i).Cells(表頭(126)).Value
  173. PA13 = 明細_dgv.Rows(i).Cells(表頭(129)).Value
  174. PA12 = 明細_dgv.Rows(i).Cells(表頭(127)).Value
  175. PA11 = 明細_dgv.Rows(i).Cells(表頭(107)).Value
  176. PA10 = 明細_dgv.Rows(i).Cells(表頭(11)).Value
  177. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  178. SQL_營運成本收支單對帳表_修改對帳記錄存檔() : conn1.Close()
  179. Next
  180. MsgBox(對話框(0)) : Set_清單1() : HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  181. End Sub
  182. Private Sub 總金額計算()
  183. Dim FFGG As Integer = 0 : Dim GGHH As Integer = 0 : Dim HHJJ As Integer = 0 : Dim JJKK As Integer = 0 : Dim KKLL As Integer = 0
  184. 現金_tb.Text = "0" : 支出_tb.Text = "0" : 損益_tb.Text = "0" : 零用金_tb.Text = "0" : 已兌現支票_tb.Text = "0" : 未兌現支票_tb.Text = "0"
  185. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  186. If 明細_dgv.Rows(i).Cells(表頭(107)).Value = 收支單號_tb.Text Then
  187. FFGG = Val(FFGG) + 明細_dgv.Rows(i).Cells(表頭(39)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  188. GGHH = Val(GGHH) + 明細_dgv.Rows(i).Cells(表頭(112)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  189. HHJJ = Val(HHJJ) + 明細_dgv.Rows(i).Cells(表頭(112)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  190. If 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = True Then
  191. JJKK = Val(JJKK) + 明細_dgv.Rows(i).Cells(表頭(111)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  192. ElseIf 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = False Then
  193. KKLL = Val(KKLL) + 明細_dgv.Rows(i).Cells(表頭(111)).Value * 明細_dgv.Rows(i).Cells(表頭(114)).Value
  194. End If
  195. End If
  196. Next i
  197. 現金_tb.Text = FFGG : 支出_tb.Text = GGHH : 零用金_tb.Text = HHJJ : 已兌現支票_tb.Text = JJKK : 未兌現支票_tb.Text = KKLL
  198. 損益_tb.Text = JJKK + HHJJ + FFGG - GGHH
  199. If Val(損益_tb.Text) > 0 Then : 損益_tb.ForeColor = Color.Blue : Else : 損益_tb.ForeColor = Color.Red : End If
  200. 現金_tb.Text = Strings.Format(Val(現金_tb.Text), "#,##0") : 支出_tb.Text = Strings.Format(Val(支出_tb.Text), "#,##0") : 損益_tb.Text = Strings.Format(Val(損益_tb.Text), "#,##0")
  201. 零用金_tb.Text = Strings.Format(Val(零用金_tb.Text), "#,##0") : 已兌現支票_tb.Text = Strings.Format(Val(已兌現支票_tb.Text), "#,##0") : 未兌現支票_tb.Text = Strings.Format(Val(未兌現支票_tb.Text), "#,##0")
  202. End Sub
  203. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  204. If e.RowIndex = -1 Then : Else
  205. Timer1.Enabled = True
  206. 收支單號_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells(表頭(107)).Value
  207. 總金額計算()
  208. End If
  209. End Sub
  210. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 明細_dgv.RowPostPaint
  211. Dim linePen As New Pen(Color.Blue, 2)
  212. If e.RowIndex = 明細_dgv.Rows.Count - 1 Then
  213. Exit Sub
  214. Else
  215. If 明細_dgv(0, e.RowIndex).Value.ToString <> 明細_dgv(0, e.RowIndex + 1).Value.ToString Then
  216. Dim startX As Integer = IIf(明細_dgv.RowHeadersVisible, 明細_dgv.RowHeadersWidth, 0)
  217. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  218. Dim endX As Integer = startX + 明細_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 明細_dgv.HorizontalScrollingOffset
  219. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  220. Exit Sub
  221. End If
  222. End If
  223. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  224. If 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = True Then
  225. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  226. ElseIf 明細_dgv(9, i).Value <> 0 And 明細_dgv(18, i).Value = False Then
  227. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  228. End If
  229. Next
  230. End Sub
  231. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期_cb.SelectedIndexChanged
  232. PA17 = 查詢日期_cb.Text
  233. If PA17 = "" Or PA16 = "" Then
  234. Else
  235. PA20 = "AND (財務收支控制表.審核日期 LIKE N'" & PA17 & "/" & PA16 & "%') "
  236. Set_清單1()
  237. End If
  238. End Sub
  239. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期1_cb.SelectedIndexChanged
  240. PA16 = 查詢日期1_cb.Text
  241. If PA17 = "" Or PA16 = "" Then
  242. Else
  243. PA20 = "AND (財務收支控制表.審核日期 LIKE N'" & PA17 & "/" & PA16 & "%') "
  244. Set_清單1()
  245. End If
  246. End Sub
  247. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 只顯示支票資料_cb.Click
  248. If 只顯示支票資料_cb.Checked = False Then
  249. PA19 = ""
  250. Set_清單1()
  251. Else
  252. PA19 = " AND (財務收支明細表.支票數 <> 0) "
  253. Set_清單1()
  254. End If
  255. End Sub
  256. Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏申請審核資訊_cb.Click
  257. Set_grid()
  258. End Sub
  259. Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏作帳點交資訊_cb.Click
  260. Set_grid()
  261. End Sub
  262. '-----------------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------
  263. Private Sub BBBToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ContextMenuStrip1.Click
  264. MsgBox(對話框(1))
  265. '列印_零用金支付明細.ShowDialog()
  266. End Sub
  267. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢_bt.Click
  268. PA = InputBox("請輸入要查詢的關鍵字。")
  269. PA18 = " AND (財務收支控制表.支付單號 LIKE N'%" & PA & "%' OR 財務收支控制表.申請人 LIKE N'%" & PA & "%' OR 財務收支控制表.審核人 LIKE N'%" & PA &
  270. "%' OR 財務收支明細表.明細 LIKE N'%" & PA & "%' OR 財務收支控制表.備註 LIKE N'%" & PA & "%' OR 財務收支明細表.備註 LIKE N'%" & PA & "%')" : Set_清單1()
  271. PA18 = "" : PA = ""
  272. End Sub
  273. '-----------------------------EXCEL--------------------------------------------------------------------------------------------------------------------------------------
  274. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  275. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  276. End Function
  277. Private Sub 匯出EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 匯出EXCEL_bt.Click
  278. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  279. xlApp.Visible = True
  280. xlApp.DisplayAlerts = True
  281. xlApp.Application.WindowState = xlMaximized
  282. xlBook = xlApp.Workbooks.Add
  283. xlSheet = NewMethod(xlBook)
  284. xlBook.Activate()
  285. xlSheet.Activate()
  286. xlSheet.Cells(1, 1) = "雅邸家具有限公司-營運費用收支明細表"
  287. xlSheet.Cells(2, 1) = "收支單號 "
  288. xlSheet.Cells(2, 2) = "申請人"
  289. xlSheet.Cells(2, 3) = "申請日期 "
  290. xlSheet.Cells(2, 4) = "審核人"
  291. xlSheet.Cells(2, 5) = "審核日期"
  292. xlSheet.Cells(2, 6) = "項次"
  293. xlSheet.Cells(2, 7) = "會計科目 "
  294. xlSheet.Cells(2, 8) = "用途與內容"
  295. xlSheet.Cells(2, 9) = "零用金"
  296. xlSheet.Cells(2, 10) = "支票"
  297. xlSheet.Cells(2, 11) = "現金"
  298. xlSheet.Cells(2, 12) = "支出"
  299. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  300. xlSheet.Cells(i + 3, 1) = 明細_dgv.Rows(i).Cells(表頭(107)).Value
  301. xlSheet.Cells(i + 3, 2) = 明細_dgv.Rows(i).Cells(表頭(19)).Value
  302. xlSheet.Cells(i + 3, 3) = 明細_dgv.Rows(i).Cells(表頭(20)).Value
  303. xlSheet.Cells(i + 3, 4) = 明細_dgv.Rows(i).Cells(表頭(120)).Value
  304. xlSheet.Cells(i + 3, 5) = 明細_dgv.Rows(i).Cells(表頭(121)).Value
  305. xlSheet.Cells(i + 3, 6) = 明細_dgv.Rows(i).Cells(表頭(11)).Value
  306. xlSheet.Cells(i + 3, 7) = 明細_dgv.Rows(i).Cells(表頭(98)).Value
  307. xlSheet.Cells(i + 3, 8) = 明細_dgv.Rows(i).Cells(表頭(122)).Value
  308. xlSheet.Cells(i + 3, 9) = 明細_dgv.Rows(i).Cells(表頭(112)).Value
  309. xlSheet.Cells(i + 3, 10) = 明細_dgv.Rows(i).Cells(表頭(111)).Value
  310. xlSheet.Cells(i + 3, 11) = 明細_dgv.Rows(i).Cells(表頭(39)).Value
  311. xlSheet.Cells(i + 3, 12) = 明細_dgv.Rows(i).Cells(表頭(112)).Value
  312. N2 = i + 3
  313. Next i
  314. xlSheet.Cells(N2 + 1, 8) = "合計"
  315. xlSheet.Cells(N2 + 1, 9) = "=SUM(I3:I" & N2 & ")"
  316. xlSheet.Cells(N2 + 1, 10) = "=SUM(J3:J" & N2 & ")"
  317. xlSheet.Cells(N2 + 1, 11) = "=SUM(K3:K" & N2 & ")"
  318. xlSheet.Cells(N2 + 1, 12) = "=SUM(L3:L" & N2 & ")"
  319. '--------------------------------------彙總-----------------------------
  320. xlSheet.Cells(N2 + 2, 8) = "彙總"
  321. xlSheet.Cells(N2 + 2, 9) = "=I" & N2 + 1 & "+J" & N2 + 1 & "+K" & N2 + 1 & "-L" & N2 + 1 & ""
  322. BB(xlApp, xlSheet)
  323. xlSheet.PageSetup.PrintArea = ""
  324. xlApp.Cells.Select()
  325. xlApp.Application.WindowState = xlMinimized
  326. MsgBox(對話框(2))
  327. 'Me.Close()
  328. End Sub
  329. Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  330. xlSheet.Cells.Select()
  331. With myExcel.Selection.Font
  332. .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False
  333. .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  334. End With
  335. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 15
  336. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 9
  337. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 9
  338. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 9
  339. xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 9
  340. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 5
  341. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  342. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  343. End With
  344. xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 20
  345. xlSheet.Columns("H:H").Select : myExcel.Selection.ColumnWidth = 35
  346. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  347. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  348. End With
  349. xlSheet.Columns("I:L").Select : myExcel.Selection.ColumnWidth = 9 : myExcel.Selection.Style = "Comma"
  350. myExcel.Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
  351. myExcel.Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
  352. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 35
  353. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30
  354. With myExcel.Selection : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  355. .ReadingOrder = xlContext : .MergeCells = False
  356. End With
  357. myExcel.Selection.AutoFilter
  358. xlSheet.Rows("1:1").Select
  359. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  360. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  361. End With
  362. xlSheet.Range("A1:L1").Select()
  363. With myExcel.Selection
  364. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  365. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  366. End With
  367. myExcel.Selection.Merge
  368. xlSheet.Rows("3:3").Select : myExcel.ActiveWindow.FreezePanes = True : xlSheet.Range("A1:L2").Select()
  369. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  370. With myExcel.Selection.Borders(xlEdgeLeft)
  371. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  372. End With
  373. With myExcel.Selection.Borders(xlEdgeTop)
  374. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  375. End With
  376. With myExcel.Selection.Borders(xlEdgeBottom)
  377. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  378. End With
  379. With myExcel.Selection.Borders(xlEdgeRight)
  380. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  381. End With
  382. With myExcel.Selection.Borders(xlInsideVertical)
  383. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  384. End With
  385. With myExcel.Selection.Borders(xlInsideHorizontal)
  386. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  387. End With
  388. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  389. With myExcel.Selection.Borders(xlEdgeLeft)
  390. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  391. End With
  392. With myExcel.Selection.Borders(xlEdgeTop)
  393. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  394. End With
  395. With myExcel.Selection.Borders(xlEdgeBottom)
  396. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  397. End With
  398. With myExcel.Selection.Borders(xlEdgeRight)
  399. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  400. End With
  401. With myExcel.Selection.Borders(xlInsideVertical)
  402. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  403. End With
  404. With myExcel.Selection.Borders(xlInsideHorizontal)
  405. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  406. End With
  407. xlSheet.Range("A3:L" & N2).Select()
  408. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  409. With myExcel.Selection.Borders(xlEdgeLeft)
  410. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  411. End With
  412. With myExcel.Selection.Borders(xlEdgeTop)
  413. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  414. End With
  415. With myExcel.Selection.Borders(xlEdgeBottom)
  416. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  417. End With
  418. With myExcel.Selection.Borders(xlEdgeRight)
  419. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  420. End With
  421. With myExcel.Selection.Borders(xlInsideVertical)
  422. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  423. End With
  424. With myExcel.Selection.Borders(xlInsideHorizontal)
  425. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  426. End With
  427. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  428. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  429. With myExcel.Selection.Borders(xlEdgeLeft)
  430. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  431. End With
  432. With myExcel.Selection.Borders(xlEdgeTop)
  433. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  434. End With
  435. With myExcel.Selection.Borders(xlEdgeBottom)
  436. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  437. End With
  438. With myExcel.Selection.Borders(xlEdgeRight)
  439. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium
  440. End With
  441. With myExcel.Selection.Borders(xlInsideVertical)
  442. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  443. End With
  444. With myExcel.Selection.Borders(xlInsideHorizontal)
  445. .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin
  446. End With
  447. xlSheet.Range("L2").Select() : myExcel.Selection.ClearContents
  448. xlSheet.Range("L2").Select() : myExcel.Selection.ClearContents
  449. xlSheet.Range("A2:L2").Select()
  450. With myExcel.Selection
  451. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  452. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  453. End With
  454. With myExcel.Selection.Font
  455. .Name = "微軟正黑體"
  456. .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False : .Underline = xlUnderlineStyleNone
  457. .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  458. End With
  459. With myExcel.Selection.Font
  460. .Name = "微軟正黑體" : .Size = 12 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  461. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  462. End With
  463. With myExcel.Selection.Interior
  464. .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent6 : .TintAndShade = 0 : .PatternTintAndShade = 0
  465. End With
  466. xlSheet.Range("A1:L1").Select() : myExcel.Selection.Font.Size = 11
  467. With myExcel.Selection.Font
  468. .Name = "微軟正黑體" : .Size = 22 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False
  469. .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  470. End With
  471. End Sub
  472. End Class