完成查詢充值記錄的代碼后,,對查詢+導(dǎo)出有一些感悟,。在學(xué)習(xí)機(jī)房收費(fèi)系統(tǒng)時,對于查詢+導(dǎo)出的困難,,個人認(rèn)為是導(dǎo)出相對于我自己比較難,,主要有三點(diǎn):
1,我寫過程不熟練,;
2,這是excel與vb的結(jié)合使用,,由于VB與EXCEL由于分別屬于不同的應(yīng)用系統(tǒng)對于我來說是一個挑戰(zhàn),;
3,是一個新的知識點(diǎn),。
我主要在寫代碼的時候,,主要先了解了vb與Excel之間的關(guān)系。后來在完成了代碼,,其步驟如下:
第一步:
一般設(shè)計窗體時用到了MSHFlexGrid,,MSHFlexGRid ,DataGrid等部件時,,會需要導(dǎo)出一些報表,,就會調(diào)用Microsoft Office Excel。我首先要連接下Excel的對象,,因?yàn)樵趘b調(diào)用Excel中要用到一些對象,。其對象如下圖:
1, Application對象表示Excel運(yùn)用程序本身,。作用是提供在相應(yīng)的程序,,實(shí)例中當(dāng)前用戶的對象的信息。如圖所示:
2,,Workbook對象表示Excel應(yīng)用程序的單個工作簿,。主要是vb要制定一個特定的工作簿。
3,,Worksheet對象就是我們平常在Excel的sheet表,。主要是vb指定的一個特定的sheet表,。包含了Range對象和Cell對象。range對象包含了cell對象,。
4,,Chart對象表示工作表中的圖表。
介紹了以上的Excel對象后,,我們在VB中調(diào)用Excel的時便會很清楚對象的聲明,,及位置,在腦海了就已經(jīng)形成一幅Excel表,。
第二部:代碼,。
在自定義過程中。代碼如下:
Public Sub ExportExcel(formname As Form, FlexGridName As String) '參數(shù)傳遞
xlApp As Excel.Application '聲明application對象,Excel運(yùn)用程序本身,。作用是提供在相應(yīng)的程序,,實(shí)例中當(dāng)前用戶的對象的信息。
Dim xlBook As Excel.WorkBook '聲明workbook,。Workbook對象表示Excel應(yīng)用程序的單個工作簿,。主要是vb要制定一個特定的工作簿。
Dim xlSheet As Excel.Worksheet '聲明worksheet,。Worksheet對象就是我們平常在Excel的sheet表,。主要是vb指定的一個特定的sheet表。包含了Range對象和Cell對象,。
Screen.MousePointer = 11 'Screen.MousePointer = vbHourglass 'VbHourglass 11 被顯示的鼠標(biāo)指針的類型為沙漏(表示等待狀態(tài)),。
Set XLApp = CreateObject("Excel.Application") '創(chuàng)建EXCEL對象
Set XLBook = XLApp.WorkBooks.Add '添加一個EXCEL工件簿文件并且添加內(nèi)容
' Set XLSheet = XLBook.Worksheets("sheet1") '設(shè)置活動工作表,表的名字也可以更改,,不再敘說
Set XLSheet = XLBook.WorkSheets(1)
With formname.Controls(FlexGridName)
For LngRows = 0 To .Rows - 1
For Intcols = 0 To .Cols - 1
XLSheet.Cells(LngRows + 1, Intcols + 1).Value = "'" & .TextMatrix(LngRows, Intcols)
XLApp.Visible = True '顯示當(dāng)前窗口
XLApp.Caption = "學(xué)生充值記錄查詢" '更改 Excel 標(biāo)題欄
'Screen.MousePointer = vbDefault 'vbDefault 0 (缺省值)形狀由對象決定,。
Screen.MousePointer = vbDefault 'vbDefault 0 (缺省值)形狀由對象決定。
MsgBox "請確認(rèn)您的電腦已安裝Excel,!", vbExclamation, "提示"
注:標(biāo)紅色的地方是最容易出錯的也是重要的地方,。
當(dāng)然有的文章也提及到了加“引用”的問題,以上的代碼是沒有加引用,,但是我也測試了以下:
從"工程"菜單中選擇"引用"欄,;選擇Microsoft
Excel 14.0 ObjectLibrary(EXCEL2010),然后選擇"確定",。表示在工程中要引用EXCEL類型庫,。如圖:
然后再把上溯的代碼敲一遍即可。但是我也不知道加了引用與直接使用的區(qū)別,,有待我的研究,,如果大家有知道的請留言給我。謝謝。