你这么多的问题,一下子咋能全部回答呢? 第一个问题: "一是替换回来的字符在mdb中字数不一样,有时候只有一排,有时候有四排,导致文档第二页的文字顺序的上下游走,例如如果替换后胡适的那段话有四排,如果我在制作模板的时候页空四排给给胡适这段话,那么如果以后替换其他人的话假如只有一排的话第二页的字符就会跑到第一页来。" 可以在第一页的最后插入分页符,无论文字多少,第一页与第二页之间是有"分隔的". 第二个问题: "还有就是如何替换当前页面中的图片(我存了很多背景图片在word文件的当前文件夹中,,在mdb数据库中页存放了用户选择的图片背景),然他页能够象替换字符一样的随意替换,还有就是如果替换了背景图片,让他浮于文字下面,叠放次序为地层" 可以使用VBA的方法,先删除图片,再插入指定位置指定名称的图片,可以论坛中搜索一下我的相关回复贴子,包括还有设置图片格式的贴子. 我也有一个问题,希望楼主把中文语言学好一点,好吗?我看到太多的别字,很不爽! 第三个问题: "还有就是如果这个文件放到其他机器上面用什么方法能够让他自动引用active data objects library、而不需要手动引用。" 可以直接在本文档的VBE/工具/引用中勾选对于ADO的引用,则文档保存后,运作于其它机器时,亦能找到相应引用(除非版本问题或者没有此控件,才会出错) 第四个问题,关于生成表格的事宜并WORD中有关SELECTION对象的使用: 在WORD中,使用大量的SELECTION是不利的,WORD需要反复调用内存来完成\移动和设置该对象的格式位置选定和屏幕刷新等.通常情况下,类似楼主代码的,我们可以使用一个STRING变量的累加来完成,最后一次性插入到WORD文档中,然后,通过将文本转化为表格(指定分隔符,如制表位等),完成表格的处理,然后设置表格文本格式. 如: Sub Example()
Dim CNN As New ADODB.Connection, RST As New ADODB.Recordset
Dim Stpath As String, strSQL As String, i As Integer, MyString As String
Stpath = "C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.mdb" '数据库路径
'打开指定数据库
CNN.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & Stpath
'SQL查询语句,从名为Properties的表中读取StrVal列为0的Name列数据
strSQL = "select * from Publishers "
'读取数据库
RST.Open strSQL, CNN, adOpenKeyset, adLockOptimistic, adCmdText
With RST
Do While Not .EOF
MyString = MyString & .Fields("Name") & vbTab & .Fields("Company Name") & vbCrLf
.MoveNext '向下移动记录指针
Loop
.Close '关闭数据表
End With
Set RST = Nothing '释放对象
Set CNN = Nothing '翻译对象
Selection.InsertAfter MyString '将文本插入
End Sub
'----------------------对于固定化的表格,也可以使用带格式的自动图文集进行处理.关于第四个问题的相关代码,本论坛中很多. 第五: 由于是WORD版面,我们不可能过多地处理数据查询的问题,希望楼主能够建立在自己思索得差不多的情况下,提出相关的问题.就象前几次楼主的提问,我感觉很满意. 好了,先说到这儿,有问题,再交流吧. |