123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- Option Strict Off
- 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
- Public Class 列印_零用金支付明細
- Private ReadOnly ds, ds1 As New DataSet
- Dim N1, N2 As Integer
- Dim xlApp As Microsoft.Office.Interop.Excel.Application
- Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
- Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
- Private Sub Set_清單()
- DataGridView1.DataSource = Nothing : ds.Clear()
- DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- DataGridView1.ColumnHeadersHeight = 25
- DataGridView1.AllowUserToAddRows = False
- ConnOpen()
- If CheckBox1.Checked = True Then
- SQL1 = 列印用SQL
- Else
- SQL1 = "SELECT 零用金支付表.流水號, 零用金支付表.部門, 零用金支付表.申請人, LEFT(零用金支付表.申請日期, 10) AS 申請日期, 零用金支付表.審核人, LEFT(零用金支付表.審核日期, 10) AS 審核日期, " &
- "零用金支付表.核准人, LEFT(零用金支付表.核准日期, 10) AS 核准日期, 零用金支付明細.項次, 零用金支付明細.用途, 零用金支付明細.金額, 零用金支付明細.會計 AS 會計作業, " &
- "零用金支付明細.出納 AS 出納作業, 零用金支付明細.備註, 零用金支付表.會計, 零用金支付表.作帳日期, 零用金支付表.出納, 零用金支付表.出納日期, 零用金支付明細.現金, 零用金支付明細.備用金, " &
- "零用金支付明細.公帳 FROM 零用金支付表 RIGHT OUTER JOIN 零用金支付明細 " &
- "ON 零用金支付表.流水號 = 零用金支付明細.流水號 WHERE (零用金支付表.審核人 NOT LIKE N'作廢%') AND (零用金支付表.核准人 NOT LIKE N'') AND (零用金支付表.核准人 NOT LIKE N'作廢%') " &
- "AND (零用金支付表.核准日期 LIKE N'" & ComboBox1.Text & "%') " &
- " ORDER BY 零用金支付表.流水號 DESC, 零用金支付明細.項次"
- End If
- CmdSet_For_DGV()
- da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- ConnOpen()
- SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC"
- CmdSet_For_dr()
- ComboBox1.Items.Clear()
- While (dr.Read()) : ComboBox1.Items.Add(dr("年份")) : End While
- conn.Close()
- End Sub
- Private Sub 列印_零用金支付明細_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- FormBorderStyle = FormBorderStyle.SizableToolWindow : ControlBox = False
- ComboBox1下拉表單資料載入()
- CheckBox1.Checked = True : CheckBox2.Checked = False
- Set_清單() : DataGridView1.Visible = False
- End Sub
- Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
- xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.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(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) = "項次"
- xlSheet.Cells(2, 10) = "用途" : xlSheet.Cells(2, 11) = "金額" : xlSheet.Cells(2, 12) = "備註" : xlSheet.Cells(2, 13) = "會計" : xlSheet.Cells(2, 14) = "作帳日期" : xlSheet.Cells(2, 15) = "出納"
- xlSheet.Cells(2, 16) = "出納日期" : xlSheet.Cells(2, 17) = "現金" : xlSheet.Cells(2, 18) = "備用金" : xlSheet.Cells(2, 19) = "公帳"
- AA(xlApp, xlSheet)
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- xlSheet.Cells(i + 3, 1) = DataGridView1.Rows(i).Cells("流水號").Value : xlSheet.Cells(i + 3, 2) = DataGridView1.Rows(i).Cells("部門").Value
- xlSheet.Cells(i + 3, 3) = DataGridView1.Rows(i).Cells("申請人").Value : xlSheet.Cells(i + 3, 4) = DataGridView1.Rows(i).Cells("申請日期").Value
- xlSheet.Cells(i + 3, 5) = DataGridView1.Rows(i).Cells("審核人").Value : xlSheet.Cells(i + 3, 6) = DataGridView1.Rows(i).Cells("審核日期").Value
- xlSheet.Cells(i + 3, 7) = DataGridView1.Rows(i).Cells("核准人").Value : xlSheet.Cells(i + 3, 8) = DataGridView1.Rows(i).Cells("核准日期").Value
- xlSheet.Cells(i + 3, 9) = DataGridView1.Rows(i).Cells("項次").Value : xlSheet.Cells(i + 3, 10) = DataGridView1.Rows(i).Cells("用途").Value
- xlSheet.Cells(i + 3, 11) = DataGridView1.Rows(i).Cells("金額").Value : xlSheet.Cells(i + 3, 12) = DataGridView1.Rows(i).Cells("備註").Value
- xlSheet.Cells(i + 3, 13) = DataGridView1.Rows(i).Cells("會計").Value : xlSheet.Cells(i + 3, 14) = DataGridView1.Rows(i).Cells("作帳日期").Value
- xlSheet.Cells(i + 3, 15) = DataGridView1.Rows(i).Cells("出納").Value : xlSheet.Cells(i + 3, 16) = DataGridView1.Rows(i).Cells("出納日期").Value
- xlSheet.Cells(i + 3, 17) = DataGridView1.Rows(i).Cells("現金").Value : xlSheet.Cells(i + 3, 18) = DataGridView1.Rows(i).Cells("備用金").Value
- xlSheet.Cells(i + 3, 19) = DataGridView1.Rows(i).Cells("公帳").Value
- With xlApp.Selection
- .Font.Bold = True
- End With
- N2 = i + 3 : N1 = i
- Next i
-
- BB(xlApp, xlSheet)
-
- xlSheet.PageSetup.PrintArea = ""
- xlApp.Cells.Select()
- xlSheet.Range("B1").Select()
- xlApp.Application.WindowState = xlMinimized
- MsgBox("列印完成")
- Me.Close()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- 列印用SQL = "" : Me.Close()
- End Sub
- Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
- Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
- End Function
- Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.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.Rows("1:1").Select : myExcel.Selection.RowHeight = 30
- xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 25
- With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
- .ReadingOrder = xlContext : .MergeCells = False : End With
- myExcel.Selection.AutoFilter
- xlSheet.Range("A1").Select()
- With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 20 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
- .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
- xlSheet.Rows("3:3").Select
- myExcel.ActiveWindow.FreezePanes = True
-
- xlSheet.Range("A2:S2").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.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 15.5
- xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 11.5
- xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 6
- xlSheet.Columns("D:D").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 10
- xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 6
- xlSheet.Columns("F:F").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 10
- xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 6
- xlSheet.Columns("H:H").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 10
- xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 4 : myExcel.Selection.NumberFormatLocal = "@"
- xlSheet.Columns("J:J").Select : myExcel.Selection.ColumnWidth = 52
- xlSheet.Columns("K:K").Select : myExcel.Selection.ColumnWidth = 12 : myExcel.Selection.Style = "Comma"
- xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = 45
- xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = 6
- xlSheet.Columns("N:N").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 10
- xlSheet.Columns("O:O").Select : myExcel.Selection.ColumnWidth = 6
- xlSheet.Columns("P:P").Select : myExcel.Selection.NumberFormatLocal = "yyyy/mm/dd" : myExcel.Selection.ColumnWidth = 10
- xlSheet.Columns("Q:S").Select : myExcel.Selection.ColumnWidth = 8
- xlSheet.Cells.Select() : myExcel.ActiveWindow.Zoom = 90
- End Sub
- Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
- Dim 位置1 As String
- 位置1 = "A3:S" & N1 + 3 : xlSheet.Range(位置1).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
- End Sub
- Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.Click
- CheckBox1.Checked = True : CheckBox2.Checked = False
- Set_清單()
- End Sub
- Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.Click
- CheckBox1.Checked = False : CheckBox2.Checked = True
- Set_清單()
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
- Set_清單()
- End Sub
- End Class
|