Option Strict Off Imports System.Data.SqlClient Imports System.IO Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle Imports Microsoft.Office.Interop.Excel.Constants Imports Microsoft.Office.Interop.Excel.XlBordersIndex Imports Microsoft.Office.Interop.Excel.XlLineStyle Imports Microsoft.Office.Interop.Excel.XlBorderWeight Imports Microsoft.Office.Interop.Excel.XlThemeFont Imports Microsoft.Office.Interop.Excel.XlThemeColor Imports Microsoft.Office.Interop.Excel.XlWindowState Imports Microsoft.Office.Interop.Excel Public Class 財務_收支單一覽表 ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet Dim DTP As String : Dim N1 As Integer : Dim N2 As Integer Dim xlApp As Application Dim xlBook As Workbook Dim xlSheet As Worksheet Private Sub Set_清單1() DataGridView4.DataSource = Nothing : ds1.Clear() DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView4.ColumnHeadersHeight = 25 DataGridView4.AllowUserToAddRows = False ConnOpen() SQL1 = "SELECT 支付單號 AS 收支單號, 申請人, 申請日期, 審核人, 審核日期, 核准圖檔, 簽名編碼 FROM 財務控制表 WHERE (審核人 NOT LIKE '') AND (審核人 NOT LIKE '作廢%') AND 審核日期 BETWEEN '" & Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd") & "' ORDER BY 審核日期 DESC" CmdSet_For_DGV() : da.Fill(ds1) : DataGridView4.DataSource = ds1.Tables(0) : conn.Close() DataGridView4.Columns(0).FillWeight = 160 : DataGridView4.Columns(1).Visible = False : DataGridView4.Columns(2).FillWeight = 100 : DataGridView4.Columns(3).Visible = False DataGridView4.Columns(4).FillWeight = 100 : DataGridView4.Columns(5).Visible = False : DataGridView4.Columns(6).Visible = False End Sub Private Sub Set_清單2() 彙總_dgv.DataSource = Nothing : ds2.Clear() 彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 彙總_dgv.ColumnHeadersHeight = 25 彙總_dgv.AllowUserToAddRows = False ConnOpen() If 全部_ch.Checked = True And 含稅_ch.Checked = False And 非稅_ch.Checked = False Then SQL2 = "" ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = True And 非稅_ch.Checked = False Then SQL2 = " AND (財務流水帳.含稅 = 1)" ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = False And 非稅_ch.Checked = True Then SQL2 = " AND (財務流水帳.含稅 = 0 OR 財務流水帳.含稅 IS NULL)" End If SQL1 = "SELECT LEFT(財務控制表.審核日期, 7) AS 日期, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, SUM(財務流水帳.零用金) AS 零用金, SUM(財務流水帳.支票數) AS 支票, SUM(Cast(財務流水帳.收入 AS money)) AS 現金, SUM(Cast(財務流水帳.支出 AS money)) AS 支出, 財務流水帳.銀行 AS 幣別, 財務流水帳.匯率 FROM 財務控制表 RIGHT OUTER JOIN 財務流水帳 ON 財務控制表.支付單號 = 財務流水帳.支付單號 RIGHT OUTER JOIN 會計科目 ON 財務流水帳.類別 = 會計科目.編號 WHERE (財務控制表.審核日期 BETWEEN '" & Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd") & "') " & SQL2 & " GROUP BY 會計科目.第一階, 會計科目.第二階, 會計科目.會計科目, LEFT(會計科目.編號, 7), LEFT(財務控制表.審核日期, 7), 財務流水帳.銀行, 財務流水帳.匯率 ORDER BY 幣別, LEFT(財務控制表.審核日期, 7), LEFT(會計科目.編號, 7)" CmdSet_For_DGV() : da.Fill(ds2) : 彙總_dgv.DataSource = ds2.Tables(0) : conn.Close() 彙總_dgv.Columns(0).FillWeight = 100 : 彙總_dgv.Columns(1).FillWeight = 140 : 彙總_dgv.Columns(2).FillWeight = 140 : 彙總_dgv.Columns(3).FillWeight = 140 彙總_dgv.Columns(4).FillWeight = 100 : 彙總_dgv.Columns(5).FillWeight = 100 : 彙總_dgv.Columns(6).FillWeight = 100 : 彙總_dgv.Columns(7).FillWeight = 100 彙總_dgv.Columns(8).FillWeight = 100 : 彙總_dgv.Columns(9).FillWeight = 100 彙總_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" : 彙總_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 彙總_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" 彙總_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" 彙總_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 彙總_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 彙總_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 彙總_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 彙總_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 彙總_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 彙總_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 彙總_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 彙總_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 彙總_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 彙總_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 彙總_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 彙總_dgv.Columns(0).ReadOnly = True : 彙總_dgv.Columns(1).ReadOnly = True : 彙總_dgv.Columns(2).ReadOnly = True : 彙總_dgv.Columns(3).ReadOnly = True 彙總_dgv.Columns(4).ReadOnly = True : 彙總_dgv.Columns(5).ReadOnly = True : 彙總_dgv.Columns(6).ReadOnly = True : 彙總_dgv.Columns(7).ReadOnly = True End Sub Private Sub Set_費用清單() 明細_dgv.DataSource = Nothing : ds.Clear() 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細_dgv.ColumnHeadersHeight = 25 明細_dgv.AllowUserToAddRows = False 明細_dgv.RowTemplate.Height = 35 ConnOpen() If 全部_ch.Checked = True And 含稅_ch.Checked = False And 非稅_ch.Checked = False Then SQL2 = "" ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = True And 非稅_ch.Checked = False Then SQL2 = " AND (財務流水帳.含稅 = 1)" ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = False And 非稅_ch.Checked = True Then SQL2 = " AND (財務流水帳.含稅 = 0 OR 財務流水帳.含稅 IS NULL)" End If SQL1 = "SELECT 財務流水帳.支付單號, 財務流水帳.項次, 會計科目.會計科目, 財務流水帳.明細 AS 用途, Cast(財務流水帳.零用金 AS money) AS 零用金, Cast(財務流水帳.支票數 AS money) AS 支票, Cast(財務流水帳.收入 AS money) AS 現金, Cast(財務流水帳.支出 AS money) AS 支出, 財務流水帳.備註 AS 票期, 財務流水帳.匯率, 財務流水帳.銀行 AS 幣別, 財務流水帳.類別, 財務流水帳.流水號, 財務流水帳.含稅 FROM 財務流水帳 INNER JOIN 會計科目 ON 財務流水帳.類別 = 會計科目.編號 WHERE (財務流水帳.支付單號 LIKE '" & TextBox1.Text & "') " & SQL2 & " ORDER BY 財務流水帳.項次" CmdSet_For_DGV() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close() 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 300 : 明細_dgv.Columns(3).FillWeight = 350 明細_dgv.Columns(4).FillWeight = 160 : 明細_dgv.Columns(5).FillWeight = 160 : 明細_dgv.Columns(6).FillWeight = 160 : 明細_dgv.Columns(7).FillWeight = 160 明細_dgv.Columns(8).FillWeight = 140 : 明細_dgv.Columns(9).FillWeight = 140 : 明細_dgv.Columns(10).FillWeight = 140 : 明細_dgv.Columns(11).Visible = False 明細_dgv.Columns(12).Visible = False : 明細_dgv.Columns(13).FillWeight = 80 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 現1_tb.Text = "0.00" : 出1_tb.Text = "0.00" : 合1_tb.Text = "0.00" : 零1_tb.Text = "0.00" : 支1_tb.Text = "0.00" 零2_tb.Text = "0.00" : 支2_tb.Text = "0.00" : 現2_tb.Text = "0.00" : 出2_tb.Text = "0.00" : 合2_tb.Text = "0.00" For i As Integer = 0 To 明細_dgv.Rows.Count - 1 If 明細_dgv.Rows(i).Cells("幣別").Value = "台幣現金" Then 現1_tb.Text = Val(現1_tb.Text) + 明細_dgv.Rows(i).Cells("現金").Value 出1_tb.Text = Val(出1_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value 零1_tb.Text = Val(零1_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value 支1_tb.Text = Val(支1_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value End If If 明細_dgv.Rows(i).Cells("幣別").Value = "人民幣現金" Then 現2_tb.Text = Val(現2_tb.Text) + 明細_dgv.Rows(i).Cells("現金").Value 出2_tb.Text = Val(出2_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value 零2_tb.Text = Val(零2_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value 支2_tb.Text = Val(支2_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value End If If 明細_dgv.Rows(i).Cells("幣別").Value = "美金" Then 現3_tb.Text = Val(現3_tb.Text) + 明細_dgv.Rows(i).Cells("現金").Value 出3_tb.Text = Val(出3_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value 零3_tb.Text = Val(零3_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value 支3_tb.Text = Val(支3_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value End If Next i 合1_tb.Text = Val(零1_tb.Text) + Val(現1_tb.Text) - Val(出1_tb.Text) 合2_tb.Text = Val(零2_tb.Text) + Val(現2_tb.Text) - Val(出2_tb.Text) 合3_tb.Text = Val(零3_tb.Text) + Val(現3_tb.Text) - Val(出3_tb.Text) If Val(合1_tb.Text) > 0 Then : 合1_tb.ForeColor = Color.Blue : Else : 合1_tb.ForeColor = Color.Red : End If If Val(合2_tb.Text) > 0 Then : 合2_tb.ForeColor = Color.Blue : Else : 合2_tb.ForeColor = Color.Red : End If If Val(合3_tb.Text) > 0 Then : 合3_tb.ForeColor = Color.Blue : Else : 合3_tb.ForeColor = Color.Red : End If 現1_tb.Text = Strings.Format(Val(現1_tb.Text), "#,##0.00") : 出1_tb.Text = Strings.Format(Val(出1_tb.Text), "#,##0.00") : 合1_tb.Text = Strings.Format(Val(合1_tb.Text), "#,##0.00") 零1_tb.Text = Strings.Format(Val(零1_tb.Text), "#,##0.00") : 支1_tb.Text = Strings.Format(Val(支1_tb.Text), "#,##0.00") 零2_tb.Text = Strings.Format(Val(零2_tb.Text), "#,##0.00") : 支2_tb.Text = Strings.Format(Val(支2_tb.Text), "#,##0.00") : 現2_tb.Text = Strings.Format(Val(現2_tb.Text), "#,##0.00") 出2_tb.Text = Strings.Format(Val(出2_tb.Text), "#,##0.00") : 合2_tb.Text = Strings.Format(Val(合2_tb.Text), "#,##0.00") 零3_tb.Text = Strings.Format(Val(零3_tb.Text), "#,##0.00") : 支3_tb.Text = Strings.Format(Val(支3_tb.Text), "#,##0.00") : 現3_tb.Text = Strings.Format(Val(現3_tb.Text), "#,##0.00") 出3_tb.Text = Strings.Format(Val(出3_tb.Text), "#,##0.00") : 合3_tb.Text = Strings.Format(Val(合3_tb.Text), "#,##0.00") End Sub Private Sub 日期格式() If 會計月_ch.Checked = True Then '-------------日期一---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1) DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "26" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "25" : 結束日期_dtp.Value = DTP Else '-------------日期一---------------------------------------------------------------------------------------- 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1) DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1) End If End Sub Private Sub 營運費用支付單一覽表_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True DTP = Strings.Left(Strings.Format(Today(), "yyyy/MM/dd"), 8) & "01" 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = Today() 日期格式() : 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1) : 彙總_dgv.Visible = False : RadioButton1.Checked = True End Sub Dim 已超出 As Boolean Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp 'If 明細_dgv.SelectedCells.Count = 1 Then : MsgBox(明細_dgv.SelectedCells(0).ColumnIndex & " " & 明細_dgv.SelectedCells(0).RowIndex) : End If If 明細_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If If 明細_dgv.SelectedCells.Count > 0 Then If 明細_dgv.SelectedCells(0).ColumnIndex >= 4 And 明細_dgv.SelectedCells(0).ColumnIndex <= 7 Then If 已超出 = False Then Dim x As Double = 0 For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1 x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value) Next i : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0") Else : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") : End If Else : 已超出 = True : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") End If End If End Sub Private Sub 彙總_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 彙總_dgv.MouseUp 'If 彙總_dgv.SelectedCells.Count = 1 Then : MsgBox(彙總_dgv.SelectedCells(0).ColumnIndex & " " & 彙總_dgv.SelectedCells(0).RowIndex) : End If If 彙總_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If If 彙總_dgv.SelectedCells.Count > 0 Then If 彙總_dgv.SelectedCells(0).ColumnIndex >= 4 And 彙總_dgv.SelectedCells(0).ColumnIndex <= 7 Then If 已超出 = False Then Dim x As Double = 0 For i As Integer = 0 To 彙總_dgv.SelectedCells.Count - 1 x += Val(彙總_dgv.Rows(彙總_dgv.SelectedCells.Item(i).RowIndex).Cells(彙總_dgv.SelectedCells.Item(i).ColumnIndex).Value) Next i : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0") Else : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") : End If Else : 已超出 = True : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") End If End If End Sub Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView4.CellClick If e.RowIndex = -1 Then : Else TextBox1.Text = DataGridView4(0, e.RowIndex).Value.ToString : TextBox13.Text = DataGridView4(6, e.RowIndex).Value.ToString TextBox3.Text = DataGridView4(1, e.RowIndex).Value.ToString : DateTimePicker1.Value = DataGridView4(2, e.RowIndex).Value.ToString TextBox4.Text = DataGridView4(3, e.RowIndex).Value.ToString : DateTimePicker2.Value = DataGridView4(4, e.RowIndex).Value.ToString TextBox14.Text = DataGridView4(5, e.RowIndex).Value.ToString Set_費用清單() End If End Sub Private Sub DataGridView2_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 彙總_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2) : Dim linePen2 As New Pen(Color.Green, 2) If e.RowIndex = 彙總_dgv.Rows.Count - 1 Then Exit Sub Else If 彙總_dgv(0, e.RowIndex).Value.ToString <> 彙總_dgv(0, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(彙總_dgv.RowHeadersVisible, 彙總_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 彙總_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If If 彙總_dgv(8, e.RowIndex).Value.ToString <> 彙總_dgv(8, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(彙總_dgv.RowHeadersVisible, 彙總_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 彙總_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen2, startX, startY, endX, startY) Exit Sub End If If 彙總_dgv(1, e.RowIndex).Value.ToString <> 彙總_dgv(1, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(彙總_dgv.RowHeadersVisible, 彙總_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 彙總_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub 全部_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 全部_ch.Click 全部_ch.Checked = True : 含稅_ch.Checked = False : 非稅_ch.Checked = False : Set_費用清單() : Set_清單2() : 彙總計算() End Sub Private Sub 含稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 含稅_ch.Click 全部_ch.Checked = False : 含稅_ch.Checked = True : 非稅_ch.Checked = False : Set_費用清單() : Set_清單2() : 彙總計算() End Sub Private Sub 非稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 非稅_ch.Click 全部_ch.Checked = False : 含稅_ch.Checked = False : 非稅_ch.Checked = True : Set_費用清單() : Set_清單2() : 彙總計算() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click DTP = Strings.Format(Today(), "yyyy/MM/dd") 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = DTP End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click DTP = Strings.Left(Strings.Format(Today(), "yyyy/MM/dd"), 8) & "01" 開始日期_dtp.Value = DTP : 結束日期_dtp.Value = Today() End Sub Private Sub 彙總計算() If RadioButton1.Checked = False And RadioButton2.Checked = True Then 現1_tb.Text = "0.00" : 出1_tb.Text = "0.00" : 合1_tb.Text = "0.00" : 零1_tb.Text = "0.00" : 支1_tb.Text = "0.00" 零2_tb.Text = "0.00" : 支2_tb.Text = "0.00" : 現2_tb.Text = "0.00" : 出2_tb.Text = "0.00" : 合2_tb.Text = "0.00" 零3_tb.Text = "0.00" : 支3_tb.Text = "0.00" : 現3_tb.Text = "0.00" : 出3_tb.Text = "0.00" : 合3_tb.Text = "0.00" For i As Integer = 0 To 彙總_dgv.Rows.Count - 1 If 彙總_dgv.Rows(i).Cells("幣別").Value = "台幣現金" Then If 彙總_dgv.Rows(i).Cells("主項").Value <> "上月結存" Then 現1_tb.Text = Val(現1_tb.Text) + 彙總_dgv.Rows(i).Cells("現金").Value 出1_tb.Text = Val(出1_tb.Text) + 彙總_dgv.Rows(i).Cells("支出").Value 零1_tb.Text = Val(零1_tb.Text) + 彙總_dgv.Rows(i).Cells("零用金").Value 支1_tb.Text = Val(支1_tb.Text) + 彙總_dgv.Rows(i).Cells("支票").Value End If End If If 彙總_dgv.Rows(i).Cells("幣別").Value = "人民幣現金" Then If 彙總_dgv.Rows(i).Cells("主項").Value <> "上月結存" Then 現2_tb.Text = Val(現2_tb.Text) + 彙總_dgv.Rows(i).Cells("現金").Value 出2_tb.Text = Val(出2_tb.Text) + 彙總_dgv.Rows(i).Cells("支出").Value 零2_tb.Text = Val(零2_tb.Text) + 彙總_dgv.Rows(i).Cells("零用金").Value 支2_tb.Text = Val(支2_tb.Text) + 彙總_dgv.Rows(i).Cells("支票").Value End If End If If 彙總_dgv.Rows(i).Cells("幣別").Value = "美金" Then If 彙總_dgv.Rows(i).Cells("主項").Value <> "上月結存" Then 現3_tb.Text = Val(現3_tb.Text) + 彙總_dgv.Rows(i).Cells("現金").Value 出3_tb.Text = Val(出3_tb.Text) + 彙總_dgv.Rows(i).Cells("支出").Value 零3_tb.Text = Val(零3_tb.Text) + 彙總_dgv.Rows(i).Cells("零用金").Value 支3_tb.Text = Val(支3_tb.Text) + 彙總_dgv.Rows(i).Cells("支票").Value End If End If Next i 合1_tb.Text = Val(零1_tb.Text) + Val(現1_tb.Text) - Val(出1_tb.Text) 合2_tb.Text = Val(零2_tb.Text) + Val(現2_tb.Text) - Val(出2_tb.Text) 合3_tb.Text = Val(零3_tb.Text) + Val(現3_tb.Text) - Val(出3_tb.Text) If Val(合1_tb.Text) > 0 Then : 合1_tb.ForeColor = Color.Blue : Else : 合1_tb.ForeColor = Color.Red : End If If Val(合2_tb.Text) > 0 Then : 合2_tb.ForeColor = Color.Blue : Else : 合2_tb.ForeColor = Color.Red : End If If Val(合3_tb.Text) > 0 Then : 合3_tb.ForeColor = Color.Blue : Else : 合3_tb.ForeColor = Color.Red : End If 現1_tb.Text = Strings.Format(Val(現1_tb.Text), "#,##0.00") : 出1_tb.Text = Strings.Format(Val(出1_tb.Text), "#,##0.00") : 合1_tb.Text = Strings.Format(Val(合1_tb.Text), "#,##0.00") 零1_tb.Text = Strings.Format(Val(零1_tb.Text), "#,##0.00") : 支1_tb.Text = Strings.Format(Val(支1_tb.Text), "#,##0.00") 零2_tb.Text = Strings.Format(Val(零2_tb.Text), "#,##0.00") : 支2_tb.Text = Strings.Format(Val(支2_tb.Text), "#,##0.00") : 現2_tb.Text = Strings.Format(Val(現2_tb.Text), "#,##0.00") 出2_tb.Text = Strings.Format(Val(出2_tb.Text), "#,##0.00") : 合2_tb.Text = Strings.Format(Val(合2_tb.Text), "#,##0.00") 零3_tb.Text = Strings.Format(Val(零3_tb.Text), "#,##0.00") : 支3_tb.Text = Strings.Format(Val(支3_tb.Text), "#,##0.00") : 現3_tb.Text = Strings.Format(Val(現3_tb.Text), "#,##0.00") 出3_tb.Text = Strings.Format(Val(出3_tb.Text), "#,##0.00") : 合3_tb.Text = Strings.Format(Val(合3_tb.Text), "#,##0.00") End If End Sub Private Sub 上個月_bt_Click(sender As Object, e As EventArgs) Handles 上個月_bt.Click If 會計月_ch.Checked = True Then 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1) 開始日期_dtp.Value = 中間日期_dtp.Value 結束日期_dtp.Value = 中間日期_dtp.Value Else 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1) 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1) 結束日期_dtp.Value = 中間日期_dtp.Value End If 日期格式() End Sub Private Sub 下個月_bt_Click(sender As Object, e As EventArgs) Handles 下個月_bt.Click If 會計月_ch.Checked = True Then 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1) 開始日期_dtp.Value = 中間日期_dtp.Value 結束日期_dtp.Value = 中間日期_dtp.Value Else 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1) 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1) 結束日期_dtp.Value = 中間日期_dtp.Value End If 日期格式() End Sub Private Sub DateTimePicker4_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged Set_清單1() : Set_清單2() : 彙總計算() End Sub Private Sub DateTimePicker3_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged Set_清單1() : Set_清單2() : 彙總計算() End Sub Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月_ch.Click 會計月_ch.Checked = True : 一般月_ch.Checked = False : 日期格式() End Sub Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月_ch.Click 會計月_ch.Checked = False : 一般月_ch.Checked = True : 日期格式() End Sub Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.Click 明細_dgv.Visible = True : 彙總_dgv.Visible = False : RadioButton1.Checked = True : RadioButton2.Checked = False 現1_tb.Text = "0.00" : 出1_tb.Text = "0.00" : 合1_tb.Text = "0.00" : 零1_tb.Text = "0.00" : 支1_tb.Text = "0.00" : DataGridView4.Enabled = True End Sub Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.Click 明細_dgv.Visible = False : 彙總_dgv.Visible = True : RadioButton1.Checked = False : RadioButton2.Checked = True TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : 明細_dgv.DataSource = Nothing : ds.Clear() : DataGridView4.Enabled = False 彙總計算() End Sub Private Sub TextBox14_TextChanged(sender As Object, e As EventArgs) Handles TextBox14.TextChanged ConnOpen() SQL1 = "SELECT 簽名檔圖片 FROM GCM主管簽名檔管理 WHERE 圖片流水號 LIKE '" & TextBox14.Text & "'" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte()) Dim oStream As New MemoryStream(bytes) PictureBox1.Image = Bitmap.FromStream(oStream) End While conn.Close() PictureBox1.SizeMode = 4 End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click xlApp = CType(CreateObject("Excel.Application"), Application) xlBook = xlApp.Workbooks.Add xlApp.DisplayAlerts = True xlBook.Activate() xlSheet = NewMethod(xlBook) xlSheet.Activate() xlApp.Visible = True xlApp.Application.WindowState = xlMaximized xlSheet.Cells(1, 1) = "年度" : xlSheet.Cells(1, 2) = Year(Today) - 1911 If RadioButton1.Checked = True And RadioButton2.Checked = False Then xlSheet.Cells(1, 3) = "工巧明智能企業有限公司-營運費用收支明細表" xlSheet.Cells(2, 1) = "收款日期" : xlSheet.Cells(2, 2) = "會計科目" : xlSheet.Cells(2, 3) = "客戶或用途" xlSheet.Cells(2, 4) = "零用金" : xlSheet.Cells(2, 5) = "支票" : xlSheet.Cells(2, 6) = "現金" : xlSheet.Cells(2, 7) = "支出" : xlSheet.Cells(2, 8) = "現金餘額" : xlSheet.Cells(2, 9) = "票期" For i As Integer = 0 To 明細_dgv.Rows.Count - 1 xlSheet.Cells(i + 3, 1) = DateTimePicker1.Value : xlSheet.Cells(i + 3, 2) = 明細_dgv.Rows(i).Cells("會計科目").Value xlSheet.Cells(i + 3, 3) = 明細_dgv.Rows(i).Cells("用途").Value : xlSheet.Cells(i + 3, 4) = 明細_dgv.Rows(i).Cells("零用金").Value xlSheet.Cells(i + 3, 5) = 明細_dgv.Rows(i).Cells("支票").Value : xlSheet.Cells(i + 3, 6) = 明細_dgv.Rows(i).Cells("現金").Value xlSheet.Cells(i + 3, 7) = 明細_dgv.Rows(i).Cells("支出").Value : xlSheet.Cells(i + 3, 9) = 明細_dgv.Rows(i).Cells("票期").Value If i = 0 Then xlSheet.Cells(i + 3, 8) = "=D3+F3-G3" Else xlSheet.Cells(i + 3, 8) = "=H" & i + 2 & "+D" & i + 3 & "+F" & i + 3 & "-G" & i + 3 & "" End If With xlApp.Selection .Font.Bold = True End With N1 = i + 3 : N2 = i + 3 Next i xlSheet.Cells(N1 + 1, 3) = "以下空白" : xlSheet.Cells(N1 + 3, 1) = "簽核(點交)" : xlSheet.Cells(N1 + 3, 7) = "製表 : " & TextBox3.Text & " - " & DateTimePicker1.Value 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 & ")" xlSheet.Cells(N1 + 2, 7) = "=SUM(G3:G" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 8) = "=H" & N1 : xlSheet.Cells(N1 + 2, 1) = "合計" AA(xlApp, xlSheet) : BB(xlApp, xlSheet) ElseIf RadioButton1.Checked = False And RadioButton2.Checked = True Then xlSheet.Cells(1, 3) = "工巧明智能企業有限公司-營運費用收支彙總簡表" xlSheet.Cells(2, 1) = "日期" : xlSheet.Cells(2, 2) = "主項" : xlSheet.Cells(2, 3) = "子項" : xlSheet.Cells(2, 4) = "子細項" : xlSheet.Cells(2, 5) = "零用金" xlSheet.Cells(2, 6) = "支票" : xlSheet.Cells(2, 7) = "現金" : xlSheet.Cells(2, 8) = "支出" : xlSheet.Cells(2, 9) = "現金餘額" For i As Integer = 0 To 彙總_dgv.Rows.Count - 1 xlSheet.Cells(i + 3, 1) = 彙總_dgv.Rows(i).Cells("日期").Value xlSheet.Cells(i + 3, 2) = 彙總_dgv.Rows(i).Cells("主項").Value xlSheet.Cells(i + 3, 3) = 彙總_dgv.Rows(i).Cells("子項").Value xlSheet.Cells(i + 3, 4) = 彙總_dgv.Rows(i).Cells("子細項").Value xlSheet.Cells(i + 3, 5) = 彙總_dgv.Rows(i).Cells("零用金").Value xlSheet.Cells(i + 3, 6) = 彙總_dgv.Rows(i).Cells("支票").Value xlSheet.Cells(i + 3, 7) = 彙總_dgv.Rows(i).Cells("現金").Value xlSheet.Cells(i + 3, 8) = 彙總_dgv.Rows(i).Cells("支出").Value If i = 0 Then xlSheet.Cells(i + 3, 9) = "=E3+G3-H3" Else xlSheet.Cells(i + 3, 9) = "=I" & i + 2 & "+E" & i + 3 & "+G" & i + 3 & "-H" & i + 3 & "" End If With xlApp.Selection .Font.Bold = True End With N1 = i + 3 : N2 = i + 3 Next i xlSheet.Cells(N1 + 1, 2) = "以下空白" : xlSheet.Cells(N1 + 3, 1) = "簽核" : xlSheet.Cells(N1 + 3, 5) = "製表 : " & gUserName & " - " & Today() 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 & ")" xlSheet.Cells(N1 + 2, 8) = "=SUM(H3:H" & N1 + 1 & ")" : xlSheet.Cells(N1 + 2, 9) = "=I" & N1 : xlSheet.Cells(N1 + 2, 1) = "合計" CC(xlApp, xlSheet) End If xlSheet.PageSetup.PrintArea = "" xlApp.Cells.Select() xlSheet.Range("B1").Select() xlApp.Application.WindowState = xlMinimized xlSheet.Cells.Select() xlApp.ActiveSheet.Protect(DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="0911274990") xlApp.ActiveSheet.EnableSelection = 1 MsgBox("列印完成。") End Sub Private Shared Function NewMethod(xlBook As Workbook) As Worksheet Return CType(xlBook.Worksheets.Add, Worksheet) End Function Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet) xlSheet.Cells.Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone End With xlSheet.Columns("A:A").Select : myExcel.Selection.NumberFormatLocal = "m/d;@" With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Range("B1").Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 25 xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 30 xlSheet.Columns("D:H").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "#,##0;[紅色]-#,##0" xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "[$-zh-TW]e/m/d;@" xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 25 xlSheet.Range("A2:I2").Select() With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Range("A2:I" & N1 + 2).Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With myExcel.ActiveWindow.DisplayGridlines = False xlSheet.Rows("3:" & N1 + 2).Select : myExcel.Selection.RowHeight = 20 xlSheet.Rows(N1 + 3 & ":" & N1 + 3).Select : myExcel.Selection.RowHeight = 40 xlSheet.Columns("I:I").Select With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Range("A" & N1 + 2 & ":C" & N1 + 2).Select() : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True End With xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 25 With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone End With End Sub Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet) Clipboard.SetDataObject(PictureBox1.Image) xlSheet.Range("B" & N2 + 3).Select() myExcel.ActiveSheet.Pictures.Paste.Select myExcel.Selection.ShapeRange.Height = 43 myExcel.Selection.ShapeRange.IncrementTop(3) End Sub Private Sub CC(ByVal myExcel As Application, ByVal xlSheet As Worksheet) xlSheet.Cells.Select() With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone End With xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 8 xlSheet.Columns("B:C").Select : myExcel.Selection.ColumnWidth = 15 xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 20 xlSheet.Columns("E:I").Select : myExcel.Selection.ColumnWidth = 10 : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00" xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 25 xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 25 xlSheet.Rows("3:" & N1 + 2).Select : myExcel.Selection.RowHeight = 20 xlSheet.Rows(N1 + 3 & ":" & N1 + 3).Select : myExcel.Selection.RowHeight = 40 xlSheet.Rows("2:2").Select With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Range("A1").Select() With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Range("B1").Select() With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False End With xlSheet.Rows("1:1").Select With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 16 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone End With xlSheet.Range("A2:I" & N1 + 2).Select() : myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With xlSheet.Range("A" & N1 + 2 & ":D" & N1 + 2).Select() : myExcel.Selection.Merge With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True End With xlSheet.Columns("E:I").Select : myExcel.Selection.NumberFormatLocal = "#,##0.00;[紅色]-#,##0.00" myExcel.ActiveWindow.DisplayGridlines = False End Sub '----------------------滑鼠右鍵-------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click Set_清單1() : Set_清單2() : 彙總計算() End Sub End Class