在读这篇文章以前首先要提醒大家,Access 本身的报表也具有很强的实用性和强大的功能,只有当你发掘了其本身全部的功能却仍不能满足你对报表的特殊要求时才请使用 Excel 输出报表。很明显,使用 Excel 输出报表第一个弱点就是必须同时打开 Access 和 Excel (当然,你得在一台机器上同时安装 Access 和 Excel),当然如果你和我一样拥有工作在 966MHz 上的 CPU 和 256M 内存以及大容量硬盘时,那就不必考虑了,继续吧。 首先找到 VBA 编程界面并找到"工具"菜单并单击"引用..."菜单项,在弹出的"引用"窗体中找到"现有引用"列表,在名为"Microsoft Excel x.0 Object Library"的项目前的方框内打钩。. [& g# s. U/ J8 L
其次,你要做好一张空白的 Excel 电子表格,设定好显示字体、边框、打印纸张等等并将其存盘。(以下示例中该表格名为 "temp.xls" )当然啦,直接使用空白的 Excel 文件也是可以的,不过你要编程自动生成表格边框、背景颜色、单元格格式等一些内容,这些涉及到 Excel 编程,我以后会在 Excel 专栏里详细叙述,这里就不多说了。+ P3 V ^! z& R" @+ c
然后你就可以在 Access 里面制作你自己的打印预览窗体了,在窗体中安排 2 个命令按钮,考试,大提示在名为预览的按钮的 click 事件里输入以下代码:
/ J7 Y. y5 o. N* \# ]1 `" B; a7 v Private Sub ExcelPreview_Click()& G3 ^8 _1 r" M" _; @; T
Dim xlApp As Excel.Application Z# |7 y9 O4 O: v4 r
Dim xlBook As Workbook, xlSheet As Worksheet. A, o5 Z3 Y" g j
Set xlApp = CreateObject("Excel.Application")
: r" d4 J% {, l0 d1 B' r- ? Set xlApp = New Excel.Application
1 e6 z! s' Q9 u! t% ^' J% R5 [/ ~( w3 e xlApp.Visible = True
/ G- L, G0 z/ s2 U Set xlBook = xlApp.Workbooks.Open("c:reprottemp.xls")
# k5 f+ t6 b: R' f Set xlSheet = xlBook.Worksheets(1)
4 o5 G' S3 ^$ j) H$ y xlSheet.Cells(3, 1) = "制表日期:" + "12" + " 月"1 W! ^% B8 T2 w
'以上只更改了一个单元格内的数据,可根据需要无限次加入( }6 e2 [% B" }3 O9 b) q, W
xlBook.Save0 h u! K" R7 w$ j
xlSheet.PrintPreview '如果是要打印,只要把 PrintPreview 改为 PrintOut
7 r( V. w9 D% R, q1 J9 F xlBook.close
" R6 w" h0 W+ S* q% F2 }0 i1 C$ y xlApp.Quit% P4 Z, _6 {6 ?5 F7 H
End Sub& I7 D# j+ g" d" c& N) z3 N
OK,然后就可以单击该按钮看看生成的表格如何了 |