Ingen beskrivning
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 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  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 System.IO
  12. Public Class 公告
  13. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  14. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  15. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  16. Dim 位置1 As String
  17. Dim N2 As Integer : Dim N3 As Integer
  18. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  19. Private Sub 公告_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  20. Me.MdiParent = ICS_ASMS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  21. SQL_讀取公司資料()
  22. If dr.Read() Then
  23. 公司名稱.Text = dr("公司名稱")
  24. End If
  25. conn.Close()
  26. 已核准的營運成本收支單_rb.Checked = True
  27. 作廢的營運成本收支單_rb.Checked = False
  28. Set_清單1()
  29. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = False : 列印_bt.Enabled = False
  30. End Sub
  31. Private Sub Set_清單1()
  32. 控制表_dgv.DataSource = Nothing : ds1.Clear()
  33. 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  34. 控制表_dgv.ColumnHeadersHeight = 25
  35. 控制表_dgv.AllowUserToAddRows = False
  36. 控制表_dgv.RowTemplate.Height = 30
  37. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  38. If 作廢的營運成本收支單_rb.Checked = True And 已核准的營運成本收支單_rb.Checked = False Then
  39. SQL_通用_控制表清單1("公告")
  40. ElseIf 作廢的營運成本收支單_rb.Checked = False And 已核准的營運成本收支單_rb.Checked = True Then
  41. SQL_通用_控制表清單("公告")
  42. End If
  43. da.Fill(ds1) : 控制表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  44. 控制表_dgv.Columns(0).FillWeight = 30 : 控制表_dgv.Columns(1).FillWeight = 70 : 控制表_dgv.Columns(2).Visible = False
  45. 控制表_dgv.Columns(3).Visible = False : 控制表_dgv.Columns(4).Visible = False : 控制表_dgv.Columns(5).Visible = False
  46. 控制表_dgv.Columns(6).Visible = False : 控制表_dgv.Columns(7).Visible = False : 控制表_dgv.Columns(8).Visible = False
  47. 控制表_dgv.Columns(9).Visible = False : 控制表_dgv.Columns(10).Visible = False : 控制表_dgv.Columns(11).Visible = False
  48. 控制表_dgv.Columns(12).Visible = False : 控制表_dgv.Columns(13).Visible = False : 控制表_dgv.Columns(14).Visible = False
  49. 控制表_dgv.Columns("開單人").Visible = False
  50. End Sub
  51. Private Sub 控制表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 控制表_dgv.CellClick
  52. If e.RowIndex = -1 Then : Else
  53. 單號_tb.Text = 控制表_dgv(2, e.RowIndex).Value.ToString
  54. Dim dateString As String = 控制表_dgv(0, e.RowIndex).Value.ToString
  55. Dim dateParts() As String = dateString.Split("/"c)
  56. Dim year As Integer = Integer.Parse(dateParts(0)) + 1911 ' 將民國年轉換為西元年
  57. Dim month As Integer = Integer.Parse(dateParts(1))
  58. Dim day As Integer = Integer.Parse(dateParts(2))
  59. Dim dateTime As New DateTime(year, month, day)
  60. 選擇日期_dtp.Value = dateTime
  61. 選擇日期_dtp.CustomFormat = "yyyy/MM/dd"
  62. 選擇日期_dtp.Format = DateTimePickerFormat.Custom
  63. 檔案名稱_tb.Text = 控制表_dgv(1, e.RowIndex).Value.ToString
  64. 主旨_tb.Text = 控制表_dgv(3, e.RowIndex).Value.ToString
  65. 說明_rtb.Text = 控制表_dgv(4, e.RowIndex).Value.ToString
  66. 擬辦_tb.Text = 控制表_dgv(5, e.RowIndex).Value.ToString
  67. ComboBox1.Text = 控制表_dgv(6, e.RowIndex).Value.ToString
  68. ComboBox2.Text = 控制表_dgv(7, e.RowIndex).Value.ToString
  69. ComboBox3.Text = 控制表_dgv(8, e.RowIndex).Value.ToString
  70. ComboBox4.Text = 控制表_dgv(9, e.RowIndex).Value.ToString
  71. ComboBox5.Text = 控制表_dgv(10, e.RowIndex).Value.ToString
  72. ComboBox6.Text = 控制表_dgv(11, e.RowIndex).Value.ToString
  73. ComboBox7.Text = 控制表_dgv(12, e.RowIndex).Value.ToString
  74. ComboBox7.Text = 控制表_dgv(12, e.RowIndex).Value.ToString
  75. 開單人_tb.Text = 控制表_dgv("開單人", e.RowIndex).Value.ToString
  76. If 登入人級別 <> "00" Then
  77. If 控制表_dgv(14, e.RowIndex).Value = True Then
  78. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = False : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  79. ElseIf 控制表_dgv(13, e.RowIndex).Value = True And 控制表_dgv(14, e.RowIndex).Value = False Then
  80. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = True : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  81. ElseIf 控制表_dgv(13, e.RowIndex).Value = False And 控制表_dgv(14, e.RowIndex).Value = False Then
  82. 刪除_bt.Enabled = True : 儲存_bt.Enabled = True : 作廢_bt.Enabled = True : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  83. End If
  84. Else
  85. 刪除_bt.Enabled = True : 儲存_bt.Enabled = True : 作廢_bt.Enabled = True : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  86. End If
  87. End If
  88. End Sub
  89. Private Sub 查詢_tb_Click(sender As Object, e As EventArgs) Handles 查詢_tb.Click
  90. PA56 = InputBox("請輸入要查詢的單號資料。") : Set_清單1() : PA56 = ""
  91. End Sub
  92. Private Sub 檔案名稱_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 檔案名稱_tb.KeyPress
  93. ' 允许字母、数字和空格,禁止其他字符
  94. If Not Char.IsLetterOrDigit(e.KeyChar) AndAlso Not Char.IsWhiteSpace(e.KeyChar) Then
  95. e.Handled = True
  96. End If
  97. End Sub
  98. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  99. 單號_tb.Text = "" : 檔案名稱_tb.Text = "" : 主旨_tb.Text = "" : 說明_rtb.Text = "" : 擬辦_tb.Text = ""
  100. ComboBox1.Text = "" : ComboBox2.Text = "" : ComboBox3.Text = "" : ComboBox4.Text = ""
  101. ComboBox5.Text = "" : ComboBox6.Text = "" : ComboBox7.Text = "" : 開單人_tb.Text = gUserName
  102. Dim NUM1 As Integer
  103. Dim dat1 As String
  104. Dim selectedDate As DateTime = 選擇日期_dtp.Value
  105. Dim taiwanYear As Integer = selectedDate.Year - 1911
  106. Dim str As String = String.Format("{0}{1:00}{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day)
  107. PA1 = String.Format("{0}/{1:00}/{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day)
  108. SQL_通用_查詢第一筆單號()
  109. If dr.Read() Then : 單號_tb.Text = dr("流水號").ToString : Else : 單號_tb.Text = str & "00" : End If
  110. dat1 = 單號_tb.Text.Substring(0, 7)
  111. If dat1 <> str Then : NUM1 = 1 : Else : NUM1 = Double.Parse(單號_tb.Text.Substring(7, 2)) + 1 : End If
  112. If NUM1 < 10 Then : 單號_tb.Text = str & "0" & NUM1
  113. ElseIf NUM1 > 9 Then : 單號_tb.Text = str & NUM1
  114. End If
  115. PA = 單號_tb.Text
  116. SQL_通用_新增一筆公函控制表("公告") : conn.Close()
  117. 刪除_bt.Enabled = True : 儲存_bt.Enabled = True : 作廢_bt.Enabled = False : 列印_bt.Enabled = False : 新增_bt.Enabled = False
  118. 'ComboBox1.SelectedIndex = 2
  119. 'ComboBox2.SelectedIndex = 3
  120. 'ComboBox3.SelectedIndex = 7
  121. 'ComboBox4.SelectedIndex = 8
  122. End Sub
  123. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  124. SQL_通用_控制表刪除(單號_tb.Text) : conn.Close() : MsgBox("刪除成功!!")
  125. 單號_tb.Text = "" : 檔案名稱_tb.Text = "" : 主旨_tb.Text = "" : 說明_rtb.Text = "" : 擬辦_tb.Text = ""
  126. ComboBox1.Text = "" : ComboBox2.Text = "" : ComboBox3.Text = "" : ComboBox4.Text = "" : 開單人_tb.Text = ""
  127. ComboBox5.Text = "" : ComboBox6.Text = "" : ComboBox7.Text = "" : Set_清單1()
  128. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = False : 列印_bt.Enabled = False : 新增_bt.Enabled = True
  129. End Sub
  130. Private Sub 儲存_bt_Click(sender As Object, e As EventArgs) Handles 儲存_bt.Click
  131. If 開單人_tb.Text = gUserName Or 登入人級別 = "00" Then
  132. SQL_通用_控制表修改(檔案名稱_tb.Text, 主旨_tb.Text, 說明_rtb.Text, 擬辦_tb.Text, ComboBox1.Text, ComboBox2.Text, ComboBox3.Text, ComboBox4.Text,
  133. ComboBox5.Text, ComboBox6.Text, ComboBox7.Text, 單號_tb.Text, "公告") : conn.Close() : MsgBox("儲存成功!!") : Set_清單1()
  134. If 登入人級別 <> "00" Then
  135. 刪除_bt.Enabled = True : 儲存_bt.Enabled = True : 作廢_bt.Enabled = True : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  136. End If
  137. Else
  138. MsgBox("請確認開單人是否為本人")
  139. End If
  140. End Sub
  141. Private Sub 作廢_bt_Click(sender As Object, e As EventArgs) Handles 作廢_bt.Click
  142. SQL_通用_控制表作廢(單號_tb.Text, "公告") : conn.Close() : MsgBox("作廢成功!!") : Set_清單1()
  143. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = False : 列印_bt.Enabled = True
  144. End Sub
  145. Private Sub 作廢的營運成本收支單_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢的營運成本收支單_rb.Click
  146. 作廢的營運成本收支單_rb.Checked = True : 已核准的營運成本收支單_rb.Checked = False
  147. Set_清單1()
  148. End Sub
  149. Private Sub 已核准的營運成本收支單_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 已核准的營運成本收支單_rb.Click
  150. 作廢的營運成本收支單_rb.Checked = False : 已核准的營運成本收支單_rb.Checked = True
  151. Set_清單1()
  152. End Sub
  153. Private Sub 查詢_tb_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_tb.MouseEnter
  154. ToolTip1.SetToolTip(Me.查詢_tb, "關鍵字搜尋")
  155. End Sub
  156. Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter
  157. ToolTip1.SetToolTip(Me.新增_bt, "新增")
  158. End Sub
  159. Private Sub 確認新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 儲存_bt.MouseEnter
  160. ToolTip1.SetToolTip(Me.儲存_bt, "儲存")
  161. End Sub
  162. Private Sub 修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 作廢_bt.MouseEnter
  163. ToolTip1.SetToolTip(Me.作廢_bt, "作廢")
  164. End Sub
  165. Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter
  166. ToolTip1.SetToolTip(Me.刪除_bt, "刪除")
  167. End Sub
  168. Private Sub 匯出EXCEL_bt_MouseEnter(sender As Object, e As EventArgs) Handles 列印_bt.MouseEnter
  169. ToolTip1.SetToolTip(Me.列印_bt, "匯出PDF")
  170. End Sub
  171. Private Sub 字體_NUD_ValueChanged(sender As Object, e As EventArgs) Handles 字體_NUD.ValueChanged
  172. 主旨_tb.Font = New System.Drawing.Font("微軟正黑體", 字體_NUD.Value)
  173. 說明_rtb.Font = New System.Drawing.Font("微軟正黑體", 字體_NUD.Value)
  174. 擬辦_tb.Font = New System.Drawing.Font("微軟正黑體", 字體_NUD.Value)
  175. End Sub
  176. Private Sub 列印_bt_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  177. SQL_通用_控制表鎖定(單號_tb.Text, "公告")
  178. If 登入人級別 <> "00" Then
  179. 刪除_bt.Enabled = False : 儲存_bt.Enabled = False : 作廢_bt.Enabled = True : 列印_bt.Enabled = True : 新增_bt.Enabled = True
  180. End If
  181. Set_清單1()
  182. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application) : xlApp.Visible = True : xlApp.DisplayAlerts = True
  183. xlApp.Application.WindowState = xlMaximized : xlBook = xlApp.Workbooks.Add : xlSheet = NewMethod(xlBook) : xlBook.Activate() : xlSheet.Activate()
  184. xlSheet.Cells(1, 1) = "公告"
  185. xlSheet.Cells(2, 1) = "主旨:"
  186. xlSheet.Cells(2, 2) = 主旨_tb.Text : xlSheet.Cells(2, 3) = 主旨_tb.Text
  187. xlSheet.Cells(3, 1) = "說明:"
  188. Dim lines As New List(Of String)()
  189. Dim text As String = 說明_rtb.Text
  190. lines.Clear()
  191. ' 使用 Graphics.MeasureString 测量文本的宽度
  192. Using g As Graphics = CreateGraphics()
  193. Dim currentLine As String = ""
  194. For Each c As Char In text
  195. If c = ControlChars.Lf Then
  196. ' 如果遇到换行符号,添加一个新的段落
  197. lines.Add(currentLine)
  198. currentLine = ""
  199. Else
  200. currentLine += c
  201. ' 计算当前行的宽度
  202. Dim width As Integer = TextRenderer.MeasureText(currentLine, 說明_rtb.Font).Width
  203. ' 当宽度接近 RichTextBox 的宽度时,添加一个分段符号
  204. If width >= 450 Then
  205. lines.Add(currentLine)
  206. currentLine = ""
  207. End If
  208. End If
  209. Next
  210. ' 如果最后一行没有被添加,添加它
  211. If currentLine <> "" Then
  212. lines.Add(currentLine)
  213. End If
  214. End Using
  215. For i As Integer = 0 To lines.Count - 1
  216. 字串處理(lines(i))
  217. lines(i) = 已處理字串
  218. Next
  219. For i = 0 To lines.Count - 1
  220. xlSheet.Cells(3 + i, 2) = lines(i) : xlSheet.Cells(3 + i, 3) = lines(i)
  221. N2 = i + 3
  222. Next
  223. BB(xlApp, xlSheet)
  224. xlApp.Sheets(2).Delete : xlSheet.PageSetup.PrintArea = ""
  225. Dim pdfFolderPath As String = Path.Combine(System.Windows.Forms.Application.StartupPath, "pdf")
  226. If Not Directory.Exists(pdfFolderPath) Then
  227. Directory.CreateDirectory(pdfFolderPath)
  228. End If
  229. Dim pdfFilePath As String = Path.Combine(pdfFolderPath, 檔案名稱_tb.Text & ".pdf")
  230. xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, pdfFilePath, XlFixedFormatQuality.xlQualityStandard, True)
  231. xlApp.Cells.Select() : xlApp.Application.WindowState = xlMinimized : xlBook.Close(False)
  232. Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
  233. Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
  234. Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
  235. xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect()
  236. Try
  237. Dim chromePath As String = "C:\Program Files\Google\Chrome\Application\chrome.exe"
  238. If System.IO.File.Exists(chromePath) Then
  239. Dim process As New Process()
  240. process.StartInfo.FileName = "chrome"
  241. process.StartInfo.Arguments = """" & pdfFilePath & """"
  242. process.Start()
  243. Else : Dim edgePath As String = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
  244. If System.IO.File.Exists(edgePath) Then
  245. Dim process As New Process()
  246. process.StartInfo.FileName = "msedge"
  247. process.StartInfo.Arguments = """" & pdfFilePath & """"
  248. process.Start()
  249. Else
  250. Process.Start(pdfFilePath)
  251. End If
  252. End If
  253. Catch ex As Exception
  254. MsgBox("以存檔至桌面 。" & vbCrLf & "檔案名稱:" & 檔案名稱_tb.Text & ".pdf")
  255. End Try
  256. End Sub
  257. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  258. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  259. End Function
  260. Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  261. xlSheet.Cells.Select()
  262. With myExcel.Selection.Font
  263. .Name = "標楷體"
  264. .Size = 16
  265. .Strikethrough = False
  266. .Superscript = False
  267. .Subscript = False
  268. .OutlineFont = False
  269. .Shadow = False
  270. .Underline = xlUnderlineStyleNone
  271. .ThemeColor = xlThemeColorLight1
  272. .TintAndShade = 0
  273. .ThemeFont = xlThemeFontNone
  274. End With
  275. xlSheet.Rows("1:1").Select
  276. With myExcel.Selection.Font
  277. .Name = "標楷體"
  278. .Size = 18
  279. .Strikethrough = False
  280. .Superscript = False
  281. .Subscript = False
  282. .OutlineFont = False
  283. .Shadow = False
  284. .Underline = xlUnderlineStyleNone
  285. .ThemeColor = xlThemeColorLight1
  286. .TintAndShade = 0
  287. .ThemeFont = xlThemeFontNone
  288. End With
  289. xlSheet.Columns("A:A").ColumnWidth = 8
  290. xlSheet.Columns("B:B").ColumnWidth = 85
  291. xlSheet.Columns("C:C").ColumnWidth = 85
  292. xlSheet.Range("A1:B1").Select()
  293. With myExcel.Selection
  294. .HorizontalAlignment = xlCenter
  295. .VerticalAlignment = xlCenter
  296. .WrapText = False
  297. .Orientation = 0
  298. .AddIndent = False
  299. .IndentLevel = 0
  300. .ShrinkToFit = False
  301. .ReadingOrder = xlContext
  302. .MergeCells = False
  303. End With
  304. myExcel.Selection.Merge
  305. xlSheet.Range("A2").Select()
  306. With myExcel.Selection
  307. .HorizontalAlignment = xlLeft
  308. .VerticalAlignment = xlTop
  309. .WrapText = False
  310. .Orientation = 0
  311. .AddIndent = False
  312. .IndentLevel = 0
  313. .ShrinkToFit = False
  314. .ReadingOrder = xlContext
  315. .MergeCells = False
  316. End With
  317. xlSheet.Range("A3").Select()
  318. With myExcel.Selection
  319. .HorizontalAlignment = xlLeft
  320. .VerticalAlignment = xlTop
  321. .WrapText = False
  322. .Orientation = 0
  323. .AddIndent = False
  324. .IndentLevel = 0
  325. .ShrinkToFit = False
  326. .ReadingOrder = xlContext
  327. .MergeCells = False
  328. End With
  329. xlSheet.Range("B2").Select()
  330. With myExcel.Selection
  331. .HorizontalAlignment = xlLeft
  332. .VerticalAlignment = xlTop
  333. .WrapText = True
  334. .Orientation = 0
  335. .AddIndent = False
  336. .IndentLevel = 0
  337. .ShrinkToFit = False
  338. .ReadingOrder = xlContext
  339. .MergeCells = False
  340. End With
  341. For i = 3 To N2
  342. xlSheet.Range("B" & i).Select()
  343. With myExcel.Selection
  344. .HorizontalAlignment = xlLeft
  345. .VerticalAlignment = xlTop
  346. .WrapText = True
  347. .Orientation = 0
  348. .AddIndent = False
  349. .IndentLevel = 0
  350. .ShrinkToFit = False
  351. .ReadingOrder = xlContext
  352. .MergeCells = False
  353. End With
  354. Next
  355. For i = 1 To N2
  356. xlSheet.Rows(i & ":" & i).Select
  357. xlSheet.Rows(i & ":" & i).EntireRow.AutoFit
  358. Next
  359. xlSheet.Columns("C").Select
  360. myExcel.Selection.EntireColumn.Hidden = True
  361. For i = 1 To N2
  362. xlSheet.Rows(i).RowHeight = xlSheet.Rows(i).RowHeight + 5
  363. Next i
  364. Dim tt As String
  365. If 隱藏最後排日期_cb.Checked = True Then
  366. Dim selectedDate As DateTime = 選擇日期_dtp.Value
  367. Dim taiwanYear As Integer = selectedDate.Year - 1911
  368. tt = "中華民國" & taiwanYear & "年" & selectedDate.Month & "月" & selectedDate.Day & "日"
  369. Else
  370. tt = ""
  371. End If
  372. myExcel.Application.PrintCommunication = False
  373. With myExcel.ActiveSheet.PageSetup
  374. .PrintTitleRows = ""
  375. .PrintTitleColumns = ""
  376. End With
  377. myExcel.Application.PrintCommunication = True
  378. myExcel.ActiveSheet.PageSetup.PrintArea = ""
  379. myExcel.Application.PrintCommunication = False
  380. With myExcel.ActiveSheet.PageSetup
  381. .LeftHeader = ""
  382. .CenterHeader = ""
  383. .RightHeader = ""
  384. .LeftFooter = ""
  385. .CenterFooter = tt
  386. .RightFooter = ""
  387. .LeftMargin = myExcel.Application.InchesToPoints(0.25)
  388. .RightMargin = myExcel.Application.InchesToPoints(0.25)
  389. .TopMargin = myExcel.Application.InchesToPoints(0.75)
  390. .BottomMargin = myExcel.Application.InchesToPoints(0.75)
  391. .HeaderMargin = myExcel.Application.InchesToPoints(0.3)
  392. .FooterMargin = myExcel.Application.InchesToPoints(0.3)
  393. .PrintHeadings = False
  394. .PrintGridlines = False
  395. .CenterHorizontally = False
  396. .CenterVertically = False
  397. .Draft = False
  398. .FirstPageNumber = xlAutomatic
  399. .BlackAndWhite = False
  400. .Zoom = False
  401. .FitToPagesWide = 1
  402. .FitToPagesTall = 0
  403. .OddAndEvenPagesHeaderFooter = False
  404. .DifferentFirstPageHeaderFooter = False
  405. .ScaleWithDocHeaderFooter = True
  406. .AlignMarginsHeaderFooter = True
  407. .EvenPage.LeftHeader.Text = ""
  408. .EvenPage.CenterHeader.Text = ""
  409. .EvenPage.RightHeader.Text = ""
  410. .EvenPage.LeftFooter.Text = ""
  411. .EvenPage.CenterFooter.Text = ""
  412. .EvenPage.RightFooter.Text = ""
  413. .FirstPage.LeftHeader.Text = ""
  414. .FirstPage.CenterHeader.Text = ""
  415. .FirstPage.RightHeader.Text = ""
  416. .FirstPage.LeftFooter.Text = ""
  417. .FirstPage.CenterFooter.Text = ""
  418. .FirstPage.RightFooter.Text = ""
  419. End With
  420. myExcel.Application.PrintCommunication = True
  421. End Sub
  422. End Class