关于从ACCESS中向WORD填写数据的问题的说明 一、问题来源:bbs/dispbbs.asp?boardID=2&ID=17414&page=1 解决的方法见上面附件。 二、解决问题的几个关键: 1.怎样在WORD空表格里填写内容; 2.填写的步骤; 3.关于主/子窗体的问题。 三、解决办法: 1.怎样在WORD空表格里填写内容: ACCESS向WORD表格中填写数据需要使用TABLE对象, Doc.Documents("模板.doc").Tables(1).Cell(Row:=2, Column:=1).Range.Text = "2" 表示在文件“模板.doc”的第1个表格的第2行第1列的格子内写上“2”。如果是第2个那就是“Tables(2)”。所以在程序里用了一个变量“intTabCount”表示现在是填写哪个表格,每当K可以被15整除(K Mod 15 = 0)时,intTabCount就会增加1。 2.填写的步骤: 如果看原来的问题,当程序执行完毕之后,正好是页面上需要重复的部分已经填写完毕。把现在的情况复制下来,当需要增加页时,在页面最下插入分页符然后粘贴上复制的内容则正好。 这一部分的代码我是在WORD中用录制宏的方法记录下来的。原来的录制宏代码如下:Sub Macro1() 原本是5句代码,我分在两部分。第2部分的3句在下面的If结构里。 If K Mod 15 = 0 And K < intCount Then '如果K到达15的倍数且小于总记录数时增加一页(等于总数的话就不加了) 代码里把参数直接用数字代替时因为只有引用了“WORD 9.0 Object Library”才能使用参数。但这样不能在安装OFFICE XP的机器上使用,降低了兼容性。 至于如果获得参数代表的数字,很简单,在WORD的VBA编辑器的立即窗口里输入: ? wdStory6 3.关于主/子窗体的问题: 程序里是用DAO获得子窗体的记录集,然后再根据记录集的内容填写的。使用ADO也可以。所以,只要能取得记录集,是主窗体还是子窗体根本就不是问题。 4.其它要注意的问题:
这是以前写的另外一个由ACCESS在WORD里输出报表的例子,也有些不同的东西在里面,请大家参考。 |
|站长邮箱|小黑屋|手机版|Office中国/Access中国
( 粤ICP备10043721号-1 )
GMT+8, 2025-4-4 05:17 , Processed in 0.135694 second(s), 17 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.