在讀這篇文章以前首先要提醒大家,Access 本身的報表也具有很強的實用性和強大的功能,只有當你發掘了其本身全部的功能卻仍不能滿足你對報表的特殊要求時才請使用 Excel 輸出報表。很明顯,使用 Excel 輸出報表第一個弱點就是必須同時打開 Access 和 Excel (當然,你得在一台機器上同時安裝 Access 和 Excel),當然如果你和我一樣擁有工作在 966MHz 上的 CPU 和 256M 內存以及大容量硬盤時,那就不必考慮了,繼續吧。
首先找到 VBA 編程界面並找到"工具"菜單並單擊"引用..."菜單項,在彈出的"引用"窗體中找到"現有引用"列表,在名為"Microsoft Excel x.0 Object Library"的項目前的方框內打鉤。
其次,你要做好一張空白的 Excel 電子表格,設定好顯示字體、邊框、打印紙張等等並將其存盤。(以下示例中該表格名為 "temp.xls" )當然啦,直接使用空白的 Excel 文件也是可以的,不過你要編程自動生成表格邊框、背景顏色、單元格格式等一些內容,這些涉及到 Excel 編程,我以後會在 Excel 專欄裡詳細敘述,這裡就不多說了。
然後你就可以在 Access 裡面制作你自己的打印預覽窗體了,在窗體中安排 2 個命令按鈕,在名為預覽的按鈕的 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" + " 月"
'以上只更改了一個單元格內的數據,可根據需要無限次加入
xlBook.Save
xlSheet.PrintPreview '如果是要打印,只要把 PrintPreview 改為 PrintOut
xlBook.close
xlApp.Quit
End Sub