【機房收費系統】之收取金額查詢
前言:i+1的學習
收取金額查詢主要有兩部分:查詢和匯出Excel表。
查詢還OK。之前做學生時就有過很多次查詢,基本大同小異。
本窗體難點在於如何匯出Excel表。這就是需要我們學習和掌握的+1部分了。剛開始接觸時,我還挺懵的,不知道如何下手,不過查查百度、站在“巨人”的肩膀後,思路漸漸也就清晰了不少。這也正應了程式設計的一句詩“山重水複疑無路,柳暗花明又一村。”
匯出Excel表,首先需要引用EXcel。遺憾的是,找了半天也沒找到。這就讓我很疑惑呀,明明電腦上有Excel呀,為什麼找不到呢?後來我的方法如下:
注意:檔案型別為可執行檔案。
好了,成功引用後,就需要開始寫程式碼了。
Public Sub ExportExcel(ByVal formname As Form, myFlexGrid As MSHFlexGrid) '(myFlexGrid As MSFlexGrid) '定義迴圈變數 Dim i As Integer Dim j As Integer '定義表,工作簿,工作表 Dim Excelapp As Excel.Application Dim Excelbook As Excel.Workbook Dim Excelsheet As Excel.Worksheet Dim ExcelRange As Excel.Range '顯示錶,工作簿,工作表 Set Excelapp = CreateObject("Excel.application") '建立一張表 Set Excelbook = Excelapp.Workbooks.Add '新增新的工作簿 Set Excelsheet = Excelbook.Worksheets(1) '建立工作表 DoEvents '空值驗證 If myFlexGrid.Rows - 1 <= 0 Then MsgBox "無資料,請勿匯出!", vbOKOnly + vbExclamation, "警告" Exit Sub Else '將MSHFlexGrid中的內容顯示到表格中 With myFlexGrid For i = 0 To .Rows - 1 '行迴圈 For j = 0 To .Cols - 1 '列迴圈 DoEvents Excelapp.ActiveSheet.Cells(i + 1, j + 1) = .TextMatrix(i, j) Next j Next i End With Excelapp.ActiveWorkbook.SaveAs App.Path & "\匯出Excel.xls" Excelapp.ActiveWorkbook.Saved = True '儲存表格 Excelapp.Quit '退出表 MsgBox "匯出完成!", vbInformation, "提示" End If End Sub
到此,學習並未結束。因為這次機房中有多次要到出Excel表。小技巧:將上述程式碼寫在模組中,使用時,只需在相應的窗體中呼叫即可。