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

應付款月報表.vb 42KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  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. Imports PdfSharp.Pdf
  12. Imports PdfSharp.Pdf.IO
  13. Imports System.IO
  14. Imports Telerik.Windows.Documents.Spreadsheet.Expressions.Functions
  15. Public Class 應付款月報表
  16. Dim xlApp As Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet : Dim BN As Integer
  17. Private Sub 語言轉換讀取()
  18. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  19. Me.Text = 系統語言字典("H001-172-" & 語言)
  20. TabPage1.Text = 系統語言字典("H102-157-" & 語言) : TabPage2.Text = 系統語言字典("H108-148-" & 語言) : 表頭(0) = 系統語言字典("H108-148-" & 語言)
  21. 表頭(1) = 系統語言字典("H314-124-" & 語言) : 表頭(2) = 系統語言字典("H307-114-" & 語言) : 表頭(3) = 系統語言字典("H318-100-" & 語言)
  22. 表頭(4) = 系統語言字典("H319-101-" & 語言) : 表頭(5) = 系統語言字典("H319-100-" & 語言) : 表頭(6) = 系統語言字典("H319-102-" & 語言)
  23. Label2.Text = 系統語言字典("H319-103-" & 語言) : Label1.Text = 系統語言字典("H319-104-" & 語言)
  24. Label3.Text = 系統語言字典("H319-105-" & 語言) : Label4.Text = 系統語言字典("H319-106-" & 語言)
  25. Label7.Text = 系統語言字典("H319-103-" & 語言) : Label8.Text = 系統語言字典("H319-104-" & 語言)
  26. Label5.Text = 系統語言字典("H319-105-" & 語言) : Label6.Text = 系統語言字典("H319-106-" & 語言)
  27. End Sub
  28. Private Sub 分類清單()
  29. Dim ds1 As New DataSet : 單據_dgv.DataSource = Nothing : ds1.Clear()
  30. 單據_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  31. 單據_dgv.ColumnHeadersHeight = 25 : 單據_dgv.AllowUserToAddRows = False
  32. If HX_ch.Checked = True And PGS_ch.Checked = False Then : PA = "HXI" : Else : PA = "PGS" : End If
  33. SQL_分類清單()
  34. da.Fill(ds1) : 單據_dgv.DataSource = ds1.Tables(0) : conn.Close()
  35. 單據_dgv.Columns(1).Visible = False
  36. End Sub
  37. Private Sub 分類明細()
  38. Dim ds1 As New DataSet : 明細_dgv.DataSource = Nothing : ds1.Clear()
  39. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  40. 明細_dgv.ColumnHeadersHeight = 45 : 明細_dgv.AllowUserToAddRows = False : 明細_dgv.RowTemplate.Height = 65
  41. If HX_ch.Checked = True And PGS_ch.Checked = False Then : PA = "HXI" : Else : PA = "PGS" : End If
  42. PA1 = 年份_cb.Text & "/" & 月份_cb.Text
  43. If PA2 <> "N99" Then : SQL_分類帳務(PA2, PA1, PA) : Else : SQL_分類帳務1(PA1, PA) : End If
  44. da.Fill(ds1) : 明細_dgv.DataSource = ds1.Tables(0) : conn.Close()
  45. 明細_dgv.Columns(0).FillWeight = 50 : 明細_dgv.Columns(2).FillWeight = 200 : 明細_dgv.Columns(3).FillWeight = 450
  46. 明細_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  47. 明細_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  48. 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  49. 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  50. 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  51. 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  52. 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  53. 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  54. 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  55. 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  56. 明細_dgv.Columns("主管人").Visible = False
  57. 彙總1_tb.Text = "0" : 彙總2_tb.Text = "0" : 彙總3_tb.Text = "0" : 彙總4_tb.Text = "0"
  58. For i As Integer = 0 To 明細_dgv.Rows.Count - 1 : 明細_dgv(0, i).Value = i + 1
  59. If 明細_dgv("主管人", i).Value.ToString <> "" Then : 明細_dgv(5, i).Value = "0" : End If
  60. 明細_dgv(6, i).Value = CDbl(明細_dgv(4, i).Value.ToString) - CDbl(明細_dgv(5, i).Value.ToString)
  61. 明細_dgv(4, i).Value = Strings.Format(CDbl(明細_dgv(4, i).Value.ToString), "#,##0") : 明細_dgv(5, i).Value = Strings.Format(CDbl(明細_dgv(5, i).Value.ToString), "#,##0")
  62. 明細_dgv(6, i).Value = Strings.Format(CDbl(明細_dgv(6, i).Value.ToString), "#,##0") : 彙總1_tb.Text = CDbl(彙總1_tb.Text) + CDbl(明細_dgv(4, i).Value.ToString)
  63. 彙總2_tb.Text = CDbl(彙總2_tb.Text) + CDbl(明細_dgv(6, i).Value.ToString) : 彙總3_tb.Text = CDbl(彙總3_tb.Text) + CDbl(明細_dgv(5, i).Value.ToString)
  64. Next : 彙總4_tb.Text = CDbl(彙總1_tb.Text) - CDbl(彙總2_tb.Text)
  65. 彙總1_tb.Text = Strings.Format(CDbl(彙總1_tb.Text), "#,##0") : 彙總2_tb.Text = Strings.Format(CDbl(彙總2_tb.Text), "#,##0")
  66. 彙總3_tb.Text = Strings.Format(CDbl(彙總3_tb.Text), "#,##0") : 彙總4_tb.Text = Strings.Format(CDbl(彙總3_tb.Text), "#,##0")
  67. End Sub
  68. Private Sub 年份下拉表單資料載入()
  69. SQL_年份清單() : 年份_cb.Items.Clear() : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  70. End Sub
  71. Private Sub 應付款月報表()
  72. For I As Integer = 0 To 合計_dgv.Rows.Count - 1 : 合計_dgv.Rows.RemoveAt(0) : Next
  73. Dim SXD As Integer = 單據_dgv.Rows.Count - 1
  74. For I As Integer = 0 To 單據_dgv.Rows.Count - 1
  75. 合計_dgv.Rows.Insert(0) : PA2 = 單據_dgv(1, SXD).Value.ToString : 分類明細()
  76. 合計_dgv(0, 0).Value = I + 1 : 合計_dgv(1, 0).Value = 年份_cb.Text & "/" & 月份_cb.Text : 合計_dgv(2, 0).Value = "" : Dim DFV As String
  77. If 單據_dgv(1, SXD).Value.ToString = "N01" Then : DFV = 系統語言字典("H319-107-" & 語言)
  78. ElseIf 單據_dgv(1, SXD).Value.ToString = "N02" Then : DFV = 系統語言字典("H319-108-" & 語言)
  79. ElseIf 單據_dgv(1, SXD).Value.ToString = "N99" Then : DFV = 系統語言字典("H319-109-" & 語言) : End If
  80. 合計_dgv(3, 0).Value = DFV & " " & 年份_cb.Text & "/" & 月份_cb.Text
  81. 合計_dgv(4, 0).Value = Strings.Format(CDbl(彙總1_tb.Text), "#,##0") : 合計_dgv(6, 0).Value = Strings.Format(CDbl(彙總2_tb.Text), "#,##0")
  82. 合計_dgv(5, 0).Value = Strings.Format((CDbl(彙總1_tb.Text) - CDbl(彙總2_tb.Text)), "#,##0") : SXD -= 1
  83. Next
  84. 合計_dgv.Columns(0).FillWeight = 50 : 合計_dgv.Columns(2).Visible = False : 合計_dgv.Columns(3).FillWeight = 450
  85. 合計_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  86. 合計_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  87. 合計_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  88. 合計_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  89. 合計_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  90. 合計_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  91. 合計1_tb.Text = "0" : 合計2_tb.Text = "0" : 合計3_tb.Text = "0" : 合計4_tb.Text = "0"
  92. For i As Integer = 0 To 合計_dgv.Rows.Count - 1 : 合計_dgv(0, i).Value = i + 1
  93. 合計1_tb.Text = CDbl(合計1_tb.Text) + CDbl(合計_dgv(4, i).Value.ToString)
  94. 合計2_tb.Text = CDbl(合計2_tb.Text) + CDbl(合計_dgv(6, i).Value.ToString)
  95. 合計3_tb.Text = CDbl(合計3_tb.Text) + CDbl(合計_dgv(5, i).Value.ToString)
  96. Next : 合計4_tb.Text = CDbl(合計1_tb.Text) - CDbl(合計2_tb.Text)
  97. 合計1_tb.Text = Strings.Format(CDbl(合計1_tb.Text), "#,##0") : 合計2_tb.Text = Strings.Format(CDbl(合計2_tb.Text), "#,##0")
  98. 合計3_tb.Text = Strings.Format(CDbl(合計3_tb.Text), "#,##0") : 合計4_tb.Text = Strings.Format(CDbl(合計3_tb.Text), "#,##0")
  99. End Sub
  100. Private Sub 應付款月報表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  101. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  102. H(319) = True : 介面 = "H319" : 顯示說明(999, False) : 語言轉換讀取()
  103. PictureBox2.SendToBack() : PictureBox3.SendToBack()
  104. MyMod.清單字體大小調整()
  105. 單據_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  106. End Sub
  107. Private Sub 應付款月報表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  108. 年份下拉表單資料載入() : 年份_cb.Text = DateAndTime.Year(DateAndTime.Today()) : 月份_cb.SelectedIndex = DateAndTime.Month(DateAndTime.Today) - 1 : 分類清單() : 首次開啟 = False
  109. 合計_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  110. 合計_dgv.ColumnHeadersHeight = 45 : 合計_dgv.RowTemplate.Height = 65 : 合計_dgv.AllowUserToAddRows = False
  111. Dim DB01 As New DataGridViewTextBoxColumn : Dim DB02 As New DataGridViewTextBoxColumn : Dim DB03 As New DataGridViewTextBoxColumn : Dim DB04 As New DataGridViewTextBoxColumn
  112. Dim DB05 As New DataGridViewTextBoxColumn : Dim DB06 As New DataGridViewTextBoxColumn : Dim DB07 As New DataGridViewTextBoxColumn
  113. DB01.HeaderText = "No" : DB01.Name = "No" : 合計_dgv.Columns.Insert(0, DB01) : DB02.HeaderText = 表頭(1) : DB02.Name = 表頭(1) : 合計_dgv.Columns.Insert(1, DB02)
  114. DB03.HeaderText = 表頭(2) : DB03.Name = 表頭(2) : 合計_dgv.Columns.Insert(2, DB03) : DB04.HeaderText = 表頭(3) : DB04.Name = 表頭(3) : 合計_dgv.Columns.Insert(3, DB04)
  115. DB05.HeaderText = 表頭(4) : DB05.Name = 表頭(4) : 合計_dgv.Columns.Insert(4, DB05) : DB06.HeaderText = 表頭(5) : DB06.Name = 表頭(5) : 合計_dgv.Columns.Insert(5, DB06)
  116. DB07.HeaderText = 表頭(6) : DB07.Name = 表頭(6) : 合計_dgv.Columns.Insert(6, DB07)
  117. 應付款月報表()
  118. End Sub
  119. Private Sub 應付款月報表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  120. H(319) = False : MyMod.虛擬桌面開啟()
  121. End Sub
  122. Private Sub 應付款月報表_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  123. MyMod.清單字體大小調整()
  124. 單據_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  125. End Sub
  126. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  127. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  128. End Sub
  129. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  130. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  131. End Sub
  132. Private Sub 單據_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 單據_dgv.CellClick
  133. If e.RowIndex = -1 Then : Else : PA2 = 單據_dgv(1, e.RowIndex).Value.ToString : 分類明細() : End If
  134. End Sub
  135. Private Sub 設定_bt_Click(sender As Object, e As EventArgs) Handles 設定_bt.Click
  136. 應付款會科設定.Show()
  137. End Sub
  138. Private Sub HX_ch_CheckedChanged(sender As Object, e As EventArgs) Handles HX_ch.Click
  139. PictureBox2.SendToBack() : PictureBox3.SendToBack() : HX_ch.Checked = True : PGS_ch.Checked = False : 分類明細() : 應付款月報表()
  140. End Sub
  141. Private Sub PGS_ch_CheckedChanged(sender As Object, e As EventArgs) Handles PGS_ch.Click
  142. PictureBox1.SendToBack() : PictureBox4.SendToBack() : HX_ch.Checked = False : PGS_ch.Checked = True : 分類明細() : 應付款月報表()
  143. End Sub
  144. Private Sub 年份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
  145. If 首次開啟 = False Then : 分類明細() : 應付款月報表() : End If
  146. End Sub
  147. Private Sub 月份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份_cb.SelectedIndexChanged
  148. If 首次開啟 = False Then : 分類明細() : 應付款月報表() : End If
  149. End Sub
  150. Private Sub 列印成EXCEL1_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL1_bt.Click
  151. 列印成EXCEL()
  152. End Sub
  153. Private Sub 列印成EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.Click
  154. 列印成EXCEL()
  155. End Sub
  156. Private Sub 列印成EXCEL()
  157. PA17 = "EXCEL" : PA18 = "PDF" : 選擇考勤月份.ShowDialog()
  158. xlApp = CType(CreateObject("Excel.Application"), Application)
  159. xlBook = xlApp.Workbooks.Add
  160. xlApp.DisplayAlerts = True
  161. xlApp.Visible = True
  162. xlApp.Application.WindowState = xlMaximized
  163. Dim SXD As Integer = 單據_dgv.Rows.Count - 1
  164. For I As Integer = 0 To 單據_dgv.Rows.Count - 1
  165. PA2 = 單據_dgv(1, SXD).Value.ToString : 分類明細() : Dim DFV As String
  166. If 單據_dgv(1, SXD).Value.ToString = "N01" Then : PA1 = 單據_dgv(0, SXD).Value.ToString : DFV = 系統語言字典("H319-107-" & 語言)
  167. ElseIf 單據_dgv(1, SXD).Value.ToString = "N02" Then : PA1 = 單據_dgv(0, SXD).Value.ToString : DFV = 系統語言字典("H319-108-" & 語言)
  168. ElseIf 單據_dgv(1, SXD).Value.ToString = "N99" Then : PA1 = 單據_dgv(0, SXD).Value.ToString : DFV = 系統語言字典("H319-109-" & 語言) : End If
  169. If HX_ch.Checked = True And PGS_ch.Checked = False Then : PA = "HXI" : Else : PA = "PGS" : End If
  170. xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : SXD -= 1
  171. xlApp.Sheets(1).Name = PA1.Replace("/", "_") : xlBook.Activate() : xlSheet.Activate()
  172. xlSheet.Cells(4, 2) = DFV & " " & PA & "-" & 月份_cb.Text & "-" & 年份_cb.Text
  173. xlSheet.Cells(5, 2) = "No" : xlSheet.Cells(5, 3) = 表頭(1) : xlSheet.Cells(5, 4) = 表頭(2) : xlSheet.Cells(5, 5) = 表頭(3) : xlSheet.Cells(5, 6) = 表頭(4)
  174. xlSheet.Cells(5, 7) = 表頭(5) : xlSheet.Cells(5, 8) = 表頭(6) : BN = 0
  175. For ii As Integer = 0 To 明細_dgv.Rows.Count - 1 : BN += 1
  176. xlSheet.Cells(ii + 6, 2) = 明細_dgv.Rows(ii).Cells(0).Value.ToString : xlSheet.Cells(ii + 6, 3) = 明細_dgv.Rows(ii).Cells(1).Value.ToString
  177. xlSheet.Cells(ii + 6, 4) = 明細_dgv.Rows(ii).Cells(2).Value.ToString : xlSheet.Cells(ii + 6, 5) = 明細_dgv.Rows(ii).Cells(3).Value.ToString
  178. xlSheet.Cells(ii + 6, 6) = 明細_dgv.Rows(ii).Cells(4).Value.ToString : xlSheet.Cells(ii + 6, 7) = 明細_dgv.Rows(ii).Cells(5).Value.ToString
  179. xlSheet.Cells(ii + 6, 8) = 明細_dgv.Rows(ii).Cells(6).Value.ToString
  180. Next
  181. xlSheet.Cells(6 + BN, 2) = Label2.Text : xlSheet.Cells(6 + BN, 6) = 彙總1_tb.Text
  182. xlSheet.Cells(6 + BN + 1, 2) = Label1.Text : xlSheet.Cells(6 + BN + 1, 6) = 彙總2_tb.Text
  183. xlSheet.Cells(6 + BN + 2, 2) = Label3.Text : xlSheet.Cells(6 + BN + 2, 6) = 彙總3_tb.Text
  184. xlSheet.Cells(6 + BN + 3, 2) = Label4.Text : xlSheet.Cells(6 + BN + 3, 6) = 彙總4_tb.Text
  185. AA(xlApp, xlSheet) : FF(xlApp, xlSheet)
  186. If HX_ch.Checked = True And PGS_ch.Checked = False Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If
  187. Next
  188. xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : SXD -= 1
  189. xlApp.Sheets(1).Name = "TOTAL" : xlBook.Activate() : xlSheet.Activate()
  190. xlSheet.Cells(5, 2) = "No" : xlSheet.Cells(5, 3) = 表頭(1) : xlSheet.Cells(5, 4) = 表頭(3) : xlSheet.Cells(5, 5) = 表頭(4)
  191. xlSheet.Cells(5, 6) = 表頭(5) : xlSheet.Cells(5, 7) = 表頭(6) : BN = 0
  192. For ii As Integer = 0 To 合計_dgv.Rows.Count - 1 : BN += 1
  193. xlSheet.Cells(ii + 6, 2) = 合計_dgv.Rows(ii).Cells(0).Value.ToString : xlSheet.Cells(ii + 6, 3) = 合計_dgv.Rows(ii).Cells(1).Value.ToString
  194. xlSheet.Cells(ii + 6, 4) = 合計_dgv.Rows(ii).Cells(3).Value.ToString : xlSheet.Cells(ii + 6, 5) = 合計_dgv.Rows(ii).Cells(4).Value.ToString
  195. xlSheet.Cells(ii + 6, 6) = 合計_dgv.Rows(ii).Cells(5).Value.ToString : xlSheet.Cells(ii + 6, 7) = 合計_dgv.Rows(ii).Cells(6).Value.ToString
  196. Next
  197. xlSheet.Cells(6 + BN, 2) = Label2.Text : xlSheet.Cells(6 + BN, 6) = 合計1_tb.Text
  198. xlSheet.Cells(6 + BN + 1, 2) = Label1.Text : xlSheet.Cells(6 + BN + 1, 6) = 合計2_tb.Text
  199. xlSheet.Cells(6 + BN + 2, 2) = Label3.Text : xlSheet.Cells(6 + BN + 2, 6) = 合計3_tb.Text
  200. xlSheet.Cells(6 + BN + 3, 2) = Label4.Text : xlSheet.Cells(6 + BN + 3, 6) = 合計4_tb.Text
  201. BB(xlApp, xlSheet) : FF(xlApp, xlSheet)
  202. If HX_ch.Checked = True And PGS_ch.Checked = False Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If
  203. xlApp.Sheets(單據_dgv.Rows.Count + 2).Delete : xlSheet.PageSetup.PrintArea = ""
  204. If PA19 = "PDF" Then
  205. If HX_ch.Checked = True And PGS_ch.Checked = False Then : PA = "HXI" : Else : PA = "PGS" : End If
  206. '-------------轉換成PDF---------------------------------------------------------------------
  207. Dim SERT As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
  208. xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X1.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  209. xlBook.Sheets(2).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X2.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  210. xlBook.Sheets(3).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X3.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  211. xlBook.Sheets(4).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X4.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  212. Dim pdf1 As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X1.pdf"
  213. Dim pdf2 As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X2.pdf"
  214. Dim pdf3 As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X3.pdf"
  215. Dim pdf4 As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X4.pdf"
  216. Dim outputPDF As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "-" & 年份_cb.Text & "-" & 月份_cb.Text & ".pdf"
  217. Dim mergedDocument As New PdfDocument() ' 创建一个新的PDF文档对象
  218. Dim document1 As PdfDocument = PdfReader.Open(pdf1, PdfDocumentOpenMode.Import) ' 打开第一个PDF文件
  219. For Each page As PdfPage In document1.Pages : mergedDocument.AddPage(page) : Next ' 将第一个PDF文件的页面逐一添加到合并文档
  220. Dim document2 As PdfDocument = PdfReader.Open(pdf2, PdfDocumentOpenMode.Import) ' 打开第二个PDF文件
  221. For Each page As PdfPage In document2.Pages : mergedDocument.AddPage(page) : Next ' 将第二个PDF文件的页面逐一添加到合并文档
  222. Dim document3 As PdfDocument = PdfReader.Open(pdf3, PdfDocumentOpenMode.Import) ' 打开第三个PDF文件
  223. For Each page As PdfPage In document3.Pages : mergedDocument.AddPage(page) : Next ' 将第三个PDF文件的页面逐一添加到合并文档
  224. Dim document4 As PdfDocument = PdfReader.Open(pdf4, PdfDocumentOpenMode.Import) ' 打开第三个PDF文件
  225. For Each page As PdfPage In document4.Pages : mergedDocument.AddPage(page) : Next ' 将第三个PDF文件的页面逐一添加到合并文档
  226. mergedDocument.Save(outputPDF) ' 保存合并后的PDF文件
  227. document1.Close() : document2.Close() : document3.Close() ' 关闭文档对象
  228. File.Delete(SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X1.pdf")
  229. File.Delete(SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X2.pdf")
  230. File.Delete(SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X3.pdf")
  231. File.Delete(SERT & "\KAS BESAR PERUSAHAAN " & PA & "_X4.pdf") ' 删除文件1和文件2
  232. '-------------關閉EXCEL---------------------------------------------------------------------
  233. xlSheet.PageSetup.PrintArea = "" : xlApp.Cells.Select()
  234. xlApp.Application.WindowState = xlMinimized
  235. xlBook.Close(False)
  236. Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
  237. Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
  238. Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
  239. xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect()
  240. '-------------開啟PDF---------------------------------------------------------------------
  241. Dim pdfFilePath As String = SERT & "\KAS BESAR PERUSAHAAN " & PA & "-" & 年份_cb.Text & "-" & 月份_cb.Text & ".pdf"
  242. If IsChromeInstalled() Then
  243. Try
  244. Dim chromeProcess As New Process()
  245. chromeProcess.StartInfo.FileName = "chrome"
  246. chromeProcess.StartInfo.Arguments = """" & pdfFilePath & """"
  247. chromeProcess.Start()
  248. Catch ex As Exception
  249. End Try
  250. Else
  251. Try
  252. System.Diagnostics.Process.Start("""" & pdfFilePath & """")
  253. Catch ex As Exception
  254. End Try
  255. End If
  256. End If
  257. MGB(系統語言字典("H508-121-" & 語言), 1) : 首次開啟 = False
  258. End Sub
  259. Private Function IsChromeInstalled() As Boolean
  260. Dim key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
  261. If key IsNot Nothing Then
  262. For Each subkeyName As String In key.GetSubKeyNames()
  263. Dim subkey As Microsoft.Win32.RegistryKey = key.OpenSubKey(subkeyName)
  264. Dim displayName As Object = subkey.GetValue("DisplayName")
  265. If displayName IsNot Nothing AndAlso displayName.ToString().Contains("Google Chrome") Then
  266. Return True
  267. End If
  268. Next
  269. End If
  270. Return False
  271. End Function
  272. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  273. Return CType(xlBook.Worksheets.Add, Worksheet)
  274. End Function
  275. Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  276. xlSheet.Cells.Select()
  277. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 12 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  278. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  279. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 2
  280. xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 35
  281. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 4
  282. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  283. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  284. xlSheet.Columns("C:C").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 13
  285. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  286. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  287. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 20
  288. xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 70
  289. xlSheet.Columns("D:E").Select
  290. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  291. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  292. xlSheet.Range("B5:H5").Select()
  293. With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  294. .ReadingOrder = xlContext : .MergeCells = False : End With
  295. xlSheet.Range("F5:H5").Select()
  296. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  297. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  298. xlSheet.Columns("F:H").Select : myExcel.Selection.Style = "Comma" : myExcel.Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
  299. xlSheet.Range("B" & 6 + BN & ":E" & 6 + BN).Select()
  300. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  301. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  302. xlSheet.Range("B" & 6 + BN + 1 & ":E" & 6 + BN + 1).Select()
  303. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  304. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  305. xlSheet.Range("B" & 6 + BN + 2 & ":E" & 6 + BN + 2).Select()
  306. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  307. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  308. xlSheet.Range("B" & 6 + BN + 3 & ":E" & 6 + BN + 3).Select()
  309. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  310. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  311. xlSheet.Range("B" & 6 + BN & ":E" & 6 + BN + 3).Select()
  312. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  313. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  314. xlSheet.Range("F" & 6 + BN & ":H" & 6 + BN).Select()
  315. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  316. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  317. xlSheet.Range("F" & 6 + BN + 1 & ":H" & 6 + BN + 1).Select()
  318. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  319. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  320. xlSheet.Range("F" & 6 + BN + 2 & ":H" & 6 + BN + 2).Select()
  321. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  322. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  323. xlSheet.Range("F" & 6 + BN + 3 & ":H" & 6 + BN + 3).Select()
  324. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  325. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  326. xlSheet.Rows(6 + BN & ":" & 6 + BN + 3).Select : myExcel.Selection.RowHeight = 30
  327. xlSheet.Range("B5:H" & 6 + BN + 3).Select()
  328. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  329. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  330. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  331. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  332. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  333. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  334. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  335. xlSheet.Range("B5:H5").Select()
  336. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .Color = 49407 : .TintAndShade = 0 : .PatternTintAndShade = 0 : End With
  337. xlSheet.Columns("F:H").Select : myExcel.Selection.ColumnWidth = 18
  338. xlSheet.Rows("6:6").Select : myExcel.ActiveWindow.FreezePanes = True : myExcel.ActiveWindow.DisplayGridlines = False
  339. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 35
  340. xlSheet.Rows("2:4").Select : myExcel.Selection.RowHeight = 30
  341. Dim 攔寬 As Double
  342. For i As Integer = 6 To BN + 6 - 1
  343. xlSheet.Rows(i & ":" & i).Select : 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight
  344. xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 10
  345. Next
  346. xlSheet.Range("B4:F4").Select()
  347. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  348. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  349. xlSheet.Range("B4:F4").Select()
  350. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 18 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False
  351. .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  352. End Sub
  353. Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  354. xlSheet.Cells.Select()
  355. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 12 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  356. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  357. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 2
  358. xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 35
  359. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 4
  360. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  361. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  362. xlSheet.Columns("C:C").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 13
  363. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  364. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  365. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 70
  366. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  367. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  368. xlSheet.Range("B5:G5").Select()
  369. With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  370. .ReadingOrder = xlContext : .MergeCells = False : End With
  371. xlSheet.Range("E5:G5").Select()
  372. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  373. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  374. xlSheet.Columns("E:G").Select : myExcel.Selection.Style = "Comma" : myExcel.Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
  375. xlSheet.Range("B" & 6 + BN & ":D" & 6 + BN).Select()
  376. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  377. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  378. xlSheet.Range("B" & 6 + BN + 1 & ":D" & 6 + BN + 1).Select()
  379. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  380. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  381. xlSheet.Range("B" & 6 + BN + 2 & ":D" & 6 + BN + 2).Select()
  382. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  383. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  384. xlSheet.Range("B" & 6 + BN + 3 & ":D" & 6 + BN + 3).Select()
  385. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  386. .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  387. xlSheet.Range("B" & 6 + BN & ":D" & 6 + BN + 3).Select()
  388. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  389. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  390. xlSheet.Range("E" & 6 + BN & ":G" & 6 + BN).Select()
  391. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  392. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  393. xlSheet.Range("E" & 6 + BN + 1 & ":G" & 6 + BN + 1).Select()
  394. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  395. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  396. xlSheet.Range("E" & 6 + BN + 2 & ":G" & 6 + BN + 2).Select()
  397. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  398. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  399. xlSheet.Range("E" & 6 + BN + 3 & ":G" & 6 + BN + 3).Select()
  400. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  401. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  402. xlSheet.Rows(6 + BN & ":" & 6 + BN + 3).Select : myExcel.Selection.RowHeight = 30
  403. xlSheet.Range("B5:G" & 6 + BN + 3).Select()
  404. 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("B5:G5").Select()
  412. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .Color = 49407 : .TintAndShade = 0 : .PatternTintAndShade = 0 : End With
  413. xlSheet.Columns("E:G").Select : myExcel.Selection.ColumnWidth = 18
  414. xlSheet.Rows("6:6").Select : myExcel.ActiveWindow.FreezePanes = True : myExcel.ActiveWindow.DisplayGridlines = False
  415. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 35
  416. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30
  417. Dim 攔寬 As Double
  418. For i As Integer = 6 To BN + 6 - 1
  419. xlSheet.Rows(i & ":" & i).Select : 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight
  420. xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 10
  421. Next
  422. End Sub
  423. Private Sub CC(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  424. Clipboard.SetDataObject(合約報價單.PictureBox1.Image)
  425. xlSheet.Range("B1").Select()
  426. myExcel.ActiveSheet.Pictures.Paste.Select
  427. myExcel.Selection.ShapeRange.Height = 93
  428. myExcel.Selection.ShapeRange.IncrementLeft(50)
  429. myExcel.Selection.ShapeRange.IncrementTop(0)
  430. End Sub
  431. Private Sub DD(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  432. Clipboard.SetDataObject(合約報價單.PictureBox2.Image)
  433. xlSheet.Range("B1").Select()
  434. myExcel.ActiveSheet.Pictures.Paste.Select
  435. myExcel.Selection.ShapeRange.Height = 93
  436. myExcel.Selection.ShapeRange.IncrementLeft(50)
  437. myExcel.Selection.ShapeRange.IncrementTop(0)
  438. End Sub
  439. Private Sub FF(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
  440. If HX_ch.Checked = True And PGS_ch.Checked = False Then
  441. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  442. Str01 & "\HXBWLOG.png"
  443. Else
  444. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  445. Str01 & "\PGSBWLOG.png"
  446. End If
  447. myExcel.Application.PrintCommunication = False
  448. With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$10" : .PrintTitleColumns = "" : End With
  449. myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "" : myExcel.Application.PrintCommunication = False
  450. With myExcel.ActiveSheet.PageSetup : .LeftHeader = ""
  451. .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "&G"
  452. .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁" : .RightFooter = ""
  453. .LeftMargin = myExcel.Application.InchesToPoints(0.236220472440945) : .RightMargin = myExcel.Application.InchesToPoints(0.236220472440945)
  454. .TopMargin = myExcel.Application.InchesToPoints(0.748031496062992) : .BottomMargin = myExcel.Application.InchesToPoints(0.748031496062992)
  455. .HeaderMargin = myExcel.Application.InchesToPoints(0.31496062992126) : .FooterMargin = myExcel.Application.InchesToPoints(0.31496062992126)
  456. .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = False : .CenterVertically = False : .Draft = False
  457. .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False
  458. .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True : .EvenPage.LeftHeader.Text = ""
  459. .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = "" : .EvenPage.CenterFooter.Text = ""
  460. .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = "" : .FirstPage.RightHeader.Text = ""
  461. .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = ""
  462. End With : myExcel.Application.PrintCommunication = True
  463. End Sub
  464. End Class