主题:用程序可以生成WORD文件吗?
sheyycy
[专家分:30] 发布于 2009-08-27 01:12:00
我想用程序自动生动WORD一份文件,要求其内容最好是图\表\文\排版并茂,能做到吗?困难吗?
即:如创建一个WORD文件,并向文中注入文字\图片\数据表格,并达到排版效果.
回复列表 (共2个回复)
沙发
homayzh [专家分:7040] 发布于 2009-08-27 06:15:00
别处找的!看有帮助吗,
[quote]CREATEOBJECT("WORD.APPLICATION")
通过这段代码创建WORD对象后并不立即启动WORD97,这是因为createobject()函数执行时只是将WORD.APPLICATION OLE对象变成在VFP环境中的一个OLE对象而并未将其显示于桌面中,我们可以通过把WORD的VISIBLE默认属性为设置为.F.而使其在桌面中显示,完整的调用代码如下:
PUBLIC MYWORD
MYWORD=CREATEOBJECT("WORD.APPLICATION")
MYWORD.VISIBLE=.T.
运行以上代码后,读者朋友可能会发现,WORD97启动后,既没有打开原有的文档,也没有新建一文档,这是因为,以上代码还缺少应用一个方法,它就是ADD,新建一文档使用方法如下:
MYWORD.DOCUMENTS.ADD
同理,打开文档的代码如下:
MYWORD.DOCUMENTS.ADD(“***.DOC”)
关于WORD支持什么样的OLE方法及属性,可使用小工具OLE/COM object viewer,此工具在VISUAL STUDIO光盘中的COMM目录下即可找到,有兴趣的朋友可详细试用。
2、用VFP管理WORD文档。
除了在VFP中调用WORD进行文字处理外,我们还可以对WORD文档进行管理,大家可能有这样的经验,日常工作中用WORD97建立了大量的文档,由于数目日渐增多,查找不便,难于管理,事实上,我们可以用VFP编写一管理系统对日常工作中的文档进行管理,这里可涉及了一个很关键的技术性问题,即如何把不同目录下的文档集中在同一数据表中呢?只要用数据表存贮各WORD文档,就可以生成管理表单对文档进行新增、删除、编辑了。
笔者通过试验发现:可使用命令APPEND GENERAL把文档COPY到数据表中的通用字段中,用函数GETDIR()选择不同的当前目录来复制所需要的WORD97文档,再用ADIR()将需要管理的WORD文档存放在一数组中,完整的代码如下:
CREA table oletable(name c(40),worddoc g) &&建立表oldtable.dbf,其中name为WORD
CD getdir() &&文档名
nfiles=adir(awordfiles,"*.doc") &&把选取的文档放到一数组awordfiles中,
IF nfiles>0 &&并把文档数目放在变量nfiles中
for i=1 to nfiles
APPEND blank
REPLACE oletable.name with awordfiles(i,1) &&把文档存放在数据表中
APPEND general worddoc from awordfiles(i,1)
ENDFOR
ELSE
MESSAGEBOX("此目录下无此文件类型!")
ENDIF
运行以上的代码就可以把文档内容存放中数据表中的通用字段,同时建立管理表单后就能方便地管理文档了。本例主要解决了如何存放文档的问题,至于如何通过数据表进行管理WORD文档,及具体的功能就需要大家根据不同的要求编写相应的表单了。
应用OLE技术,我们在VFP应用系统中不单可对WORD97进行操作,也可以与所有支持OLE技术的应用程序进行数据交换,如:EXCEL、INTERNET EXPLORER等等,关于更深一层的OLE应用问题,并非一文能解释,笔者在此不再讨论,欢迎大家对上文提出意见。
[/quote]
板凳
sheyycy [专家分:30] 发布于 2009-08-28 21:58:00
谢谢。但怎样更好地编缉文件的内容,还是有点不会。
我来回复