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 36KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Imports System.IO
  4. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  5. Imports Microsoft.Office.Interop.Excel.Constants
  6. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  7. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  8. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  9. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  10. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  11. Imports Microsoft.Office.Interop.Excel.XlWindowState
  12. Imports Microsoft.Office.Interop.Excel
  13. Public Class 營運成本收支單一覽表
  14. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet
  15. Dim DTP As String : Dim N1 As Integer : Dim N2 As Integer
  16. Dim xlApp As Application
  17. Dim xlBook As Workbook
  18. Dim xlSheet As Worksheet
  19. Private Sub Set_清單1()
  20. 單據彙總_dgv.DataSource = Nothing : ds1.Clear()
  21. 單據彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  22. 單據彙總_dgv.ColumnHeadersHeight = 25
  23. 單據彙總_dgv.AllowUserToAddRows = False
  24. SQL_營運成本收支單一覽表_查詢清單() : da.Fill(ds1) : 單據彙總_dgv.DataSource = ds1.Tables(0) : conn.Close()
  25. 單據彙總_dgv.Columns(0).FillWeight = 160 : 單據彙總_dgv.Columns(1).Visible = False : 單據彙總_dgv.Columns(2).FillWeight = 100 : 單據彙總_dgv.Columns(3).Visible = False
  26. 單據彙總_dgv.Columns(4).FillWeight = 100 : 單據彙總_dgv.Columns(5).Visible = False : 單據彙總_dgv.Columns(6).Visible = False
  27. End Sub
  28. Private Sub Set_清單2()
  29. 財務彙總_dgv.DataSource = Nothing : ds2.Clear()
  30. 財務彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  31. 財務彙總_dgv.ColumnHeadersHeight = 25
  32. 財務彙總_dgv.AllowUserToAddRows = False
  33. SQL_營運成本收支單一覽表_查詢清單2() : da.Fill(ds2) : 財務彙總_dgv.DataSource = ds2.Tables(0) : conn.Close()
  34. 財務彙總_dgv.Columns(0).FillWeight = 100 : 財務彙總_dgv.Columns(1).FillWeight = 140 : 財務彙總_dgv.Columns(2).FillWeight = 140 : 財務彙總_dgv.Columns(3).FillWeight = 140
  35. 財務彙總_dgv.Columns(4).FillWeight = 100 : 財務彙總_dgv.Columns(5).FillWeight = 100 : 財務彙總_dgv.Columns(6).FillWeight = 100 : 財務彙總_dgv.Columns(7).FillWeight = 100
  36. 財務彙總_dgv.Columns(8).FillWeight = 100 : 財務彙總_dgv.Columns(9).FillWeight = 100
  37. 財務彙總_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" : 財務彙總_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 財務彙總_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00"
  38. 財務彙總_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00"
  39. 財務彙總_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 財務彙總_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  40. 財務彙總_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 財務彙總_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  41. 財務彙總_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 財務彙總_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  42. 財務彙總_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 財務彙總_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  43. 財務彙總_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 財務彙總_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  44. 財務彙總_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 財務彙總_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  45. 財務彙總_dgv.Columns(0).ReadOnly = True : 財務彙總_dgv.Columns(1).ReadOnly = True : 財務彙總_dgv.Columns(2).ReadOnly = True : 財務彙總_dgv.Columns(3).ReadOnly = True
  46. 財務彙總_dgv.Columns(4).ReadOnly = True : 財務彙總_dgv.Columns(5).ReadOnly = True : 財務彙總_dgv.Columns(6).ReadOnly = True : 財務彙總_dgv.Columns(7).ReadOnly = True
  47. End Sub
  48. Private Sub Set_費用清單()
  49. 明細_dgv.DataSource = Nothing : ds.Clear()
  50. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  51. 明細_dgv.ColumnHeadersHeight = 25
  52. 明細_dgv.AllowUserToAddRows = False
  53. 明細_dgv.RowTemplate.Height = 35
  54. SQL_營運成本收支單一覽表_查詢費用清單() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  55. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 300 : 明細_dgv.Columns(3).FillWeight = 500
  56. 明細_dgv.Columns(4).FillWeight = 140 : 明細_dgv.Columns(5).FillWeight = 140 : 明細_dgv.Columns(6).FillWeight = 140 : 明細_dgv.Columns(7).FillWeight = 140
  57. 明細_dgv.Columns(8).FillWeight = 140 : 明細_dgv.Columns(9).FillWeight = 140 : 明細_dgv.Columns(10).FillWeight = 140 : 明細_dgv.Columns(11).Visible = False
  58. 明細_dgv.Columns(12).Visible = False
  59. 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True
  60. 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00"
  61. 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  62. 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  63. 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  64. 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  65. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  66. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  67. 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  68. 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  69. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  70. 台幣現金_tb.Text = "0.00" : 台幣支出_tb.Text = "0.00" : 台幣現金餘額_tb.Text = "0.00" : 台幣零用金_tb.Text = "0.00" : 台幣支票_tb.Text = "0.00"
  71. 人民幣零用金_tb.Text = "0.00" : 人民幣支票_tb.Text = "0.00" : 人民幣現金_tb.Text = "0.00" : 人民幣支出_tb.Text = "0.00" : 人民幣現金餘額_tb.Text = "0.00"
  72. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  73. If 明細_dgv.Rows(i).Cells("幣別").Value = "台幣現金" Then
  74. 台幣現金_tb.Text = Val(台幣現金_tb.Text) + 明細_dgv.Rows(i).Cells("現金").Value
  75. 台幣支出_tb.Text = Val(台幣支出_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value
  76. 台幣零用金_tb.Text = Val(台幣零用金_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value
  77. 台幣支票_tb.Text = Val(台幣支票_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value
  78. End If
  79. If 明細_dgv.Rows(i).Cells("幣別").Value = "人民幣現金" Then
  80. 人民幣現金_tb.Text = Val(人民幣現金_tb.Text) + 明細_dgv.Rows(i).Cells("現金").Value
  81. 人民幣支出_tb.Text = Val(人民幣支出_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value
  82. 人民幣零用金_tb.Text = Val(人民幣零用金_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value
  83. 人民幣支票_tb.Text = Val(人民幣支票_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value
  84. End If
  85. Next i
  86. 台幣現金餘額_tb.Text = Val(台幣零用金_tb.Text) + Val(台幣現金_tb.Text) - Val(台幣支出_tb.Text) : 人民幣現金餘額_tb.Text = Val(人民幣零用金_tb.Text) + Val(人民幣現金_tb.Text) - Val(人民幣支出_tb.Text)
  87. If Val(台幣現金餘額_tb.Text) > 0 Then : 台幣現金餘額_tb.ForeColor = Color.Blue : Else : 台幣現金餘額_tb.ForeColor = Color.Red : End If
  88. If Val(人民幣現金餘額_tb.Text) > 0 Then : 人民幣現金餘額_tb.ForeColor = Color.Blue : Else : 台幣現金餘額_tb.ForeColor = Color.Red : End If
  89. 台幣現金_tb.Text = Strings.Format(Val(台幣現金_tb.Text), "#,##0.00") : 台幣支出_tb.Text = Strings.Format(Val(台幣支出_tb.Text), "#,##0.00") : 台幣現金餘額_tb.Text = Strings.Format(Val(台幣現金餘額_tb.Text), "#,##0.00")
  90. 台幣零用金_tb.Text = Strings.Format(Val(台幣零用金_tb.Text), "#,##0.00") : 台幣支票_tb.Text = Strings.Format(Val(台幣支票_tb.Text), "#,##0.00")
  91. 人民幣零用金_tb.Text = Strings.Format(Val(人民幣零用金_tb.Text), "#,##0.00") : 人民幣支票_tb.Text = Strings.Format(Val(人民幣支票_tb.Text), "#,##0.00") : 人民幣現金_tb.Text = Strings.Format(Val(人民幣現金_tb.Text), "#,##0.00")
  92. 人民幣支出_tb.Text = Strings.Format(Val(人民幣支出_tb.Text), "#,##0.00") : 人民幣現金餘額_tb.Text = Strings.Format(Val(人民幣現金餘額_tb.Text), "#,##0.00")
  93. End Sub
  94. Private Sub 日期格式()
  95. If 會計月_ch.Checked = True Then
  96. '-------------日期一----------------------------------------------------------------------------------------
  97. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  98. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1)
  99. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "26" : 開始日期_dtp.Value = DTP
  100. '-------------日期二----------------------------------------------------------------------------------------
  101. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "25" : 結束日期_dtp.Value = DTP
  102. Else
  103. '-------------日期一----------------------------------------------------------------------------------------
  104. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1)
  105. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  106. '-------------日期二----------------------------------------------------------------------------------------
  107. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  108. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  109. End If
  110. End Sub
  111. Private Sub 營運成本收支單一覽表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  112. Me.MdiParent = YD_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  113. DTP = Strings.Left(Strings.Format(Today(), "yyyy/MM/dd"), 8) & "01"
  114. 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = Today()
  115. 日期格式() : 財務彙總_dgv.Visible = False : 明細_rb.Checked = True
  116. End Sub
  117. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 單據彙總_dgv.CellClick
  118. If e.RowIndex = -1 Then : Else
  119. 收支單號_tb.Text = 單據彙總_dgv(0, e.RowIndex).Value.ToString : 驗證碼_tb.Text = 單據彙總_dgv(6, e.RowIndex).Value.ToString
  120. 申請人_tb.Text = 單據彙總_dgv(1, e.RowIndex).Value.ToString : 申請日期_dtp.Value = 單據彙總_dgv(2, e.RowIndex).Value.ToString
  121. 審核人_tb.Text = 單據彙總_dgv(3, e.RowIndex).Value.ToString : 審核日期_dtp.Value = 單據彙總_dgv(4, e.RowIndex).Value.ToString
  122. 圖片編碼_tb.Text = 單據彙總_dgv(5, e.RowIndex).Value.ToString
  123. Set_費用清單()
  124. End If
  125. End Sub
  126. Private Sub 財務彙總_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 財務彙總_dgv.RowPostPaint
  127. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2) : Dim linePen2 As New Pen(Color.Green, 2)
  128. If e.RowIndex = 財務彙總_dgv.Rows.Count - 1 Then
  129. Exit Sub
  130. Else
  131. If 財務彙總_dgv(0, e.RowIndex).Value.ToString <> 財務彙總_dgv(0, e.RowIndex + 1).Value.ToString Then
  132. Dim startX As Integer = IIf(財務彙總_dgv.RowHeadersVisible, 財務彙總_dgv.RowHeadersWidth, 0)
  133. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  134. Dim endX As Integer = startX + 財務彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 財務彙總_dgv.HorizontalScrollingOffset
  135. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  136. Exit Sub
  137. End If
  138. If 財務彙總_dgv(8, e.RowIndex).Value.ToString <> 財務彙總_dgv(8, e.RowIndex + 1).Value.ToString Then
  139. Dim startX As Integer = IIf(財務彙總_dgv.RowHeadersVisible, 財務彙總_dgv.RowHeadersWidth, 0)
  140. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  141. Dim endX As Integer = startX + 財務彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 財務彙總_dgv.HorizontalScrollingOffset
  142. e.Graphics.DrawLine(linePen2, startX, startY, endX, startY)
  143. Exit Sub
  144. End If
  145. If 財務彙總_dgv(1, e.RowIndex).Value.ToString <> 財務彙總_dgv(1, e.RowIndex + 1).Value.ToString Then
  146. Dim startX As Integer = IIf(財務彙總_dgv.RowHeadersVisible, 財務彙總_dgv.RowHeadersWidth, 0)
  147. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  148. Dim endX As Integer = startX + 財務彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 財務彙總_dgv.HorizontalScrollingOffset
  149. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY)
  150. Exit Sub
  151. End If
  152. End If
  153. End Sub
  154. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 當日_bt.Click
  155. DTP = Strings.Format(Today(), "yyyy/MM/dd")
  156. 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = DTP
  157. End Sub
  158. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 當月_bt.Click
  159. DTP = Strings.Left(Strings.Format(Today(), "yyyy/MM/dd"), 8) & "01"
  160. 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = Today()
  161. End Sub
  162. Private Sub 彙總計算()
  163. If 明細_rb.Checked = False And 彙總_rb.Checked = True Then
  164. 台幣現金_tb.Text = "0.00" : 台幣支出_tb.Text = "0.00" : 台幣現金餘額_tb.Text = "0.00" : 台幣零用金_tb.Text = "0.00" : 台幣支票_tb.Text = "0.00"
  165. 人民幣零用金_tb.Text = "0.00" : 人民幣支票_tb.Text = "0.00" : 人民幣現金_tb.Text = "0.00" : 人民幣支出_tb.Text = "0.00" : 人民幣現金餘額_tb.Text = "0.00"
  166. For i As Integer = 0 To 財務彙總_dgv.Rows.Count - 1
  167. If 財務彙總_dgv.Rows(i).Cells("幣別").Value = "台幣現金" Then
  168. 台幣現金_tb.Text = Val(台幣現金_tb.Text) + 財務彙總_dgv.Rows(i).Cells("現金").Value
  169. 台幣支出_tb.Text = Val(台幣支出_tb.Text) + 財務彙總_dgv.Rows(i).Cells("支出").Value
  170. 台幣零用金_tb.Text = Val(台幣零用金_tb.Text) + 財務彙總_dgv.Rows(i).Cells("零用金").Value
  171. 台幣支票_tb.Text = Val(台幣支票_tb.Text) + 財務彙總_dgv.Rows(i).Cells("支票").Value
  172. End If
  173. If 財務彙總_dgv.Rows(i).Cells("幣別").Value = "人民幣現金" Then
  174. If 財務彙總_dgv.Rows(i).Cells("主項").Value <> "上月結存" Then
  175. 人民幣現金_tb.Text = Val(人民幣現金_tb.Text) + 財務彙總_dgv.Rows(i).Cells("現金").Value
  176. 人民幣支出_tb.Text = Val(人民幣支出_tb.Text) + 財務彙總_dgv.Rows(i).Cells("支出").Value
  177. 人民幣零用金_tb.Text = Val(人民幣零用金_tb.Text) + 財務彙總_dgv.Rows(i).Cells("零用金").Value
  178. 人民幣支票_tb.Text = Val(人民幣支票_tb.Text) + 財務彙總_dgv.Rows(i).Cells("支票").Value
  179. End If
  180. End If
  181. Next i
  182. 台幣現金餘額_tb.Text = Val(台幣零用金_tb.Text) + Val(台幣現金_tb.Text) - Val(台幣支出_tb.Text) : 人民幣現金餘額_tb.Text = Val(人民幣零用金_tb.Text) + Val(人民幣現金_tb.Text) - Val(人民幣支出_tb.Text)
  183. If Val(台幣現金餘額_tb.Text) > 0 Then : 台幣現金餘額_tb.ForeColor = Color.Blue : Else : 台幣現金餘額_tb.ForeColor = Color.Red : End If
  184. If Val(人民幣現金餘額_tb.Text) > 0 Then : 人民幣現金餘額_tb.ForeColor = Color.Blue : Else : 台幣現金餘額_tb.ForeColor = Color.Red : End If
  185. 台幣現金_tb.Text = Strings.Format(Val(台幣現金_tb.Text), "#,##0.00") : 台幣支出_tb.Text = Strings.Format(Val(台幣支出_tb.Text), "#,##0.00") : 台幣現金餘額_tb.Text = Strings.Format(Val(台幣現金餘額_tb.Text), "#,##0.00")
  186. 台幣零用金_tb.Text = Strings.Format(Val(台幣零用金_tb.Text), "#,##0.00") : 台幣支票_tb.Text = Strings.Format(Val(台幣支票_tb.Text), "#,##0.00")
  187. 人民幣零用金_tb.Text = Strings.Format(Val(人民幣零用金_tb.Text), "#,##0.00") : 人民幣支票_tb.Text = Strings.Format(Val(人民幣支票_tb.Text), "#,##0.00") : 人民幣現金_tb.Text = Strings.Format(Val(人民幣現金_tb.Text), "#,##0.00")
  188. 人民幣支出_tb.Text = Strings.Format(Val(人民幣支出_tb.Text), "#,##0.00") : 人民幣現金餘額_tb.Text = Strings.Format(Val(人民幣現金餘額_tb.Text), "#,##0.00")
  189. End If
  190. End Sub
  191. Private Sub 上個月_bt_Click(sender As Object, e As EventArgs) Handles 上個月_bt.Click
  192. If 會計月_ch.Checked = True Then
  193. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  194. 開始日期_dtp.Value = 中間日期_dtp.Value
  195. 結束日期_dtp.Value = 中間日期_dtp.Value
  196. Else
  197. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  198. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  199. 結束日期_dtp.Value = 中間日期_dtp.Value
  200. End If
  201. 日期格式()
  202. End Sub
  203. Private Sub 下個月_bt_Click(sender As Object, e As EventArgs) Handles 下個月_bt.Click
  204. If 會計月_ch.Checked = True Then
  205. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  206. 開始日期_dtp.Value = 中間日期_dtp.Value
  207. 結束日期_dtp.Value = 中間日期_dtp.Value
  208. Else
  209. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  210. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  211. 結束日期_dtp.Value = 中間日期_dtp.Value
  212. End If
  213. 日期格式()
  214. End Sub
  215. Private Sub DateTimePicker4_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged
  216. Set_清單1() : Set_清單2() : 彙總計算()
  217. End Sub
  218. Private Sub DateTimePicker3_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged
  219. Set_清單1() : Set_清單2() : 彙總計算()
  220. End Sub
  221. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月_ch.Click
  222. 會計月_ch.Checked = True : 一般月_ch.Checked = False : 日期格式()
  223. End Sub
  224. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月_ch.Click
  225. 會計月_ch.Checked = False : 一般月_ch.Checked = True : 日期格式()
  226. End Sub
  227. Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles 明細_rb.Click
  228. 明細_dgv.Visible = True : 財務彙總_dgv.Visible = False : 明細_rb.Checked = True : 彙總_rb.Checked = False
  229. 台幣現金_tb.Text = "0.00" : 台幣支出_tb.Text = "0.00" : 台幣現金餘額_tb.Text = "0.00" : 台幣零用金_tb.Text = "0.00" : 台幣支票_tb.Text = "0.00" : 單據彙總_dgv.Enabled = True
  230. End Sub
  231. Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles 彙總_rb.Click
  232. 明細_dgv.Visible = False : 財務彙總_dgv.Visible = True : 明細_rb.Checked = False : 彙總_rb.Checked = True
  233. 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 審核人_tb.Text = "" : 明細_dgv.DataSource = Nothing : ds.Clear() : 單據彙總_dgv.Enabled = False
  234. 彙總計算()
  235. End Sub
  236. Private Sub TextBox14_TextChanged(sender As Object, e As EventArgs) Handles 圖片編碼_tb.TextChanged
  237. SQL_營運成本收支單一覽表_查詢簽名檔圖片()
  238. While dr.Read() = True
  239. Dim unused As Byte() = New Byte(-1) {}
  240. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  241. Dim oStream As New MemoryStream(bytes)
  242. 簽名圖_pb.Image = Bitmap.FromStream(oStream)
  243. End While
  244. conn.Close()
  245. 簽名圖_pb.SizeMode = 4
  246. End Sub
  247. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 支付單列印成EXCEL.Click
  248. xlApp = CType(CreateObject("Excel.Application"), Application)
  249. xlBook = xlApp.Workbooks.Add
  250. xlApp.DisplayAlerts = True
  251. xlBook.Activate()
  252. xlSheet = NewMethod(xlBook)
  253. xlSheet.Activate()
  254. xlApp.Visible = True
  255. xlApp.Application.WindowState = xlMaximized
  256. xlSheet.Cells(1, 1) = "年度" : xlSheet.Cells(1, 2) = Year(Today) - 1911
  257. If 明細_rb.Checked = True And 彙總_rb.Checked = False Then
  258. xlSheet.Cells(1, 3) = "雅邸家居-營運費用收支明細表"
  259. xlSheet.Cells(2, 1) = "收款日期" : xlSheet.Cells(2, 2) = "會計科目" : xlSheet.Cells(2, 3) = "客戶或用途"
  260. xlSheet.Cells(2, 4) = "零用金" : xlSheet.Cells(2, 5) = "支票" : xlSheet.Cells(2, 6) = "現金" : xlSheet.Cells(2, 7) = "支出" : xlSheet.Cells(2, 8) = "現金餘額" : xlSheet.Cells(2, 9) = "票期"
  261. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  262. xlSheet.Cells(i + 3, 1) = 申請日期_dtp.Value : xlSheet.Cells(i + 3, 2) = 明細_dgv.Rows(i).Cells("會計科目").Value
  263. xlSheet.Cells(i + 3, 3) = 明細_dgv.Rows(i).Cells("用途").Value : xlSheet.Cells(i + 3, 4) = 明細_dgv.Rows(i).Cells("零用金").Value
  264. xlSheet.Cells(i + 3, 5) = 明細_dgv.Rows(i).Cells("支票").Value : xlSheet.Cells(i + 3, 6) = 明細_dgv.Rows(i).Cells("現金").Value
  265. xlSheet.Cells(i + 3, 7) = 明細_dgv.Rows(i).Cells("支出").Value : xlSheet.Cells(i + 3, 9) = 明細_dgv.Rows(i).Cells("票期").Value
  266. If i = 0 Then
  267. xlSheet.Cells(i + 3, 8) = "=D3+F3-G3"
  268. Else
  269. xlSheet.Cells(i + 3, 8) = "=H" & i + 2 & "+D" & i + 3 & "+F" & i + 3 & "-G" & i + 3 & ""
  270. End If
  271. With xlApp.Selection
  272. .Font.Bold = True
  273. End With
  274. N1 = i + 3 : N2 = i + 3
  275. Next i
  276. xlSheet.Cells(N1 + 1, 3) = "以下空白" : xlSheet.Cells(N1 + 3, 1) = "簽核(點交)" : xlSheet.Cells(N1 + 3, 7) = "製表 : " & 申請人_tb.Text & " - " & 申請日期_dtp.Value
  277. xlSheet.Cells(N1 + 2, 4) = "=SUM(D3:D" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 5) = "=SUM(E3:E" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 6) = "=SUM(F3:F" & N1 + 1 & ")"
  278. xlSheet.Cells(N1 + 2, 7) = "=SUM(G3:G" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 8) = "=H" & N1 : xlSheet.Cells(N1 + 2, 1) = "合計"
  279. AA(xlApp, xlSheet) : BB(xlApp, xlSheet)
  280. ElseIf 明細_rb.Checked = False And 彙總_rb.Checked = True Then
  281. xlSheet.Cells(1, 3) = "雅邸家居-營運費用收支彙總簡表"
  282. xlSheet.Cells(2, 1) = "日期" : xlSheet.Cells(2, 2) = "主項" : xlSheet.Cells(2, 3) = "子項" : xlSheet.Cells(2, 4) = "子細項" : xlSheet.Cells(2, 5) = "零用金"
  283. xlSheet.Cells(2, 6) = "支票" : xlSheet.Cells(2, 7) = "現金" : xlSheet.Cells(2, 8) = "支出" : xlSheet.Cells(2, 9) = "現金餘額"
  284. For i As Integer = 0 To 財務彙總_dgv.Rows.Count - 1
  285. xlSheet.Cells(i + 3, 1) = 財務彙總_dgv.Rows(i).Cells("日期").Value
  286. xlSheet.Cells(i + 3, 2) = 財務彙總_dgv.Rows(i).Cells("主項").Value
  287. xlSheet.Cells(i + 3, 3) = 財務彙總_dgv.Rows(i).Cells("子項").Value
  288. xlSheet.Cells(i + 3, 4) = 財務彙總_dgv.Rows(i).Cells("子細項").Value
  289. xlSheet.Cells(i + 3, 5) = 財務彙總_dgv.Rows(i).Cells("零用金").Value
  290. xlSheet.Cells(i + 3, 6) = 財務彙總_dgv.Rows(i).Cells("支票").Value
  291. xlSheet.Cells(i + 3, 7) = 財務彙總_dgv.Rows(i).Cells("現金").Value
  292. xlSheet.Cells(i + 3, 8) = 財務彙總_dgv.Rows(i).Cells("支出").Value
  293. If i = 0 Then
  294. xlSheet.Cells(i + 3, 9) = "=E3+G3-H3"
  295. Else
  296. xlSheet.Cells(i + 3, 9) = "=I" & i + 2 & "+E" & i + 3 & "+G" & i + 3 & "-H" & i + 3 & ""
  297. End If
  298. With xlApp.Selection
  299. .Font.Bold = True
  300. End With
  301. N1 = i + 3 : N2 = i + 3
  302. Next i
  303. xlSheet.Cells(N1 + 1, 2) = "以下空白" : xlSheet.Cells(N1 + 3, 1) = "簽核" : xlSheet.Cells(N1 + 3, 5) = "製表 : " & gUserName & " - " & Today()
  304. xlSheet.Cells(N1 + 2, 5) = "=SUM(E3:E" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 6) = "=SUM(F3:F" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 7) = "=SUM(G3:G" & N1 + 1 & ")"
  305. xlSheet.Cells(N1 + 2, 8) = "=SUM(H3:H" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 9) = "=I" & N1 : xlSheet.Cells(N1 + 2, 1) = "合計"
  306. CC(xlApp, xlSheet)
  307. End If
  308. xlSheet.PageSetup.PrintArea = ""
  309. xlApp.Cells.Select()
  310. xlSheet.Range("B1").Select()
  311. xlApp.Application.WindowState = xlMinimized
  312. xlSheet.Cells.Select()
  313. xlApp.ActiveSheet.Protect(DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="0911274990")
  314. xlApp.ActiveSheet.EnableSelection = 1
  315. MsgBox("列印完成。")
  316. End Sub
  317. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  318. Return CType(xlBook.Worksheets.Add, Worksheet)
  319. End Function
  320. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  321. xlSheet.Cells.Select()
  322. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  323. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  324. End With
  325. xlSheet.Columns("A:A").Select : myExcel.Selection.NumberFormatLocal = "m/d;@"
  326. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  327. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  328. End With
  329. xlSheet.Range("B1").Select()
  330. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  331. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  332. End With
  333. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 25
  334. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 30
  335. xlSheet.Columns("D:H").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0"
  336. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "[$-zh-TW]e/m/d;@"
  337. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 25
  338. xlSheet.Range("A2:I2").Select()
  339. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  340. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  341. End With
  342. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  343. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  344. End With
  345. xlSheet.Range("A2:I" & N1 + 2).Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  346. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  347. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  348. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  349. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  350. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  351. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  352. myExcel.ActiveWindow.DisplayGridlines = False
  353. xlSheet.Rows("3:" & N1 + 2).Select : myExcel.Selection.RowHeight = 20
  354. xlSheet.Rows(N1 + 3 & ":" & N1 + 3).Select : myExcel.Selection.RowHeight = 40
  355. xlSheet.Columns("I:I").Select
  356. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  357. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  358. End With
  359. xlSheet.Range("A" & N1 + 2 & ":C" & N1 + 2).Select() : myExcel.Selection.Merge
  360. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  361. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True
  362. End With
  363. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 25
  364. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  365. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  366. End With
  367. End Sub
  368. Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  369. Clipboard.SetDataObject(簽名圖_pb.Image)
  370. xlSheet.Range("B" & N2 + 3).Select()
  371. myExcel.ActiveSheet.Pictures.Paste.Select
  372. myExcel.Selection.ShapeRange.Height = 43
  373. myExcel.Selection.ShapeRange.IncrementTop(3)
  374. End Sub
  375. Private Sub CC(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  376. xlSheet.Cells.Select()
  377. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  378. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  379. End With
  380. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 8
  381. xlSheet.Columns("B:C").Select : myExcel.Selection.ColumnWidth = 15
  382. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 20
  383. xlSheet.Columns("E:I").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  384. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 25
  385. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 25
  386. xlSheet.Rows("3:" & N1 + 2).Select : myExcel.Selection.RowHeight = 20
  387. xlSheet.Rows(N1 + 3 & ":" & N1 + 3).Select : myExcel.Selection.RowHeight = 40
  388. xlSheet.Rows("2:2").Select
  389. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  390. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  391. End With
  392. xlSheet.Range("A1").Select()
  393. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  394. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  395. End With
  396. xlSheet.Range("B1").Select()
  397. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  398. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  399. End With
  400. xlSheet.Rows("1:1").Select
  401. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 16 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  402. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  403. End With
  404. xlSheet.Range("A2:I" & N1 + 2).Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  405. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  406. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  407. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  408. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  409. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  410. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  411. xlSheet.Range("A" & N1 + 2 & ":D" & N1 + 2).Select() : myExcel.Selection.Merge
  412. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  413. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True
  414. End With
  415. xlSheet.Columns("E:I").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00"
  416. myExcel.ActiveWindow.DisplayGridlines = False
  417. End Sub
  418. '----------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  419. Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click
  420. Set_清單1() : Set_清單2() : 彙總計算()
  421. End Sub
  422. End Class