在讀這篇文章以前首先要提醒大家,Access 本身的報表也具有很強(qiáng)的實用性和強(qiáng)大的功能,只有當(dāng)你發(fā)掘了其本身全部的功能卻仍不能滿足你對報表的特殊要求時才請使用 Excel 輸出報表。很明顯,使用 Excel 輸出報表第一個弱點就是必須同時打開 Access 和 Excel (當(dāng)然,你得在一臺機(jī)器上同時安裝 Access 和 Excel),當(dāng)然如果你和我一樣擁有工作在 966MHz 上的 CPU 和 256M 內(nèi)存以及大容量硬盤時,那就不必考慮了,繼續(xù)吧。
首先找到 VBA 編程界面并找到"工具"菜單并單擊"引用..."菜單項,在彈出的"引用"窗體中找到"現(xiàn)有引用"列表,在名為"Microsoft Excel x.0 Object Library"的項目前的方框內(nèi)打鉤。
其次,你要做好一張空白的 Excel 電子表格,設(shè)定好顯示字體、邊框、打印紙張等等并將其存盤。(以下示例中該表格名為 "temp.xls" )當(dāng)然啦,直接使用空白的 Excel 文件也是可以的,不過你要編程自動生成表格邊框、背景顏色、單元格格式等一些內(nèi)容,這些涉及到 Excel 編程,我以后會在 Excel 專欄里詳細(xì)敘述,這里就不多說了。
然后你就可以在 Access 里面制作你自己的打印預(yù)覽窗體了,在窗體中安排 2 個命令按鈕,在名為預(yù)覽的按鈕的 click 事件里輸入以下代碼:
Private Sub ExcelPreview_Click()
Dim xlApp As Excel.Application
Dim xlBook As Workbook, xlSheet As Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlApp = New Excel.Application
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open("c:reprottemp.xls")
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Cells(3, 1) = "制表日期:" + "12" + " 月"
'以上只更改了一個單元格內(nèi)的數(shù)據(jù),可根據(jù)需要無限次加入
xlBook.Save
xlSheet.PrintPreview '如果是要打印,只要把 PrintPreview 改為 PrintOut
xlBook.close
xlApp.Quit
End Sub
更多信息請查看IT技術(shù)專欄