| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 16612 人关注过本帖, 2 人收藏
标题:★如何编程将word文档的每一页单独保存为一个doc和jpg文件
只看楼主 加入收藏
沙枣
Rank: 4
来 自:宁夏银川
等 级:业余侠客
威 望:5
帖 子:103
专家分:221
注 册:2015-5-31
收藏
得分:0 
回复 39楼 mywisdom88
    这个问题有点复杂,WORD有一个“书签”功能,是用来“定位”的,当你浏览一篇长文档,可在停止浏览的地方插入一个方便记忆的书签,下次查找这个书签,就能定位到上次浏览结束的位置。我写的这个程序,就是用了书签定位的原理。在各个要插入数据的地方插入不同的“书签”后保存,就做成了word模板文件,用VFP程序通过OLE功能先从EXCEL中读取数据,再在word模板中对应查找每个书签,就可以在指定的位置写入想要的数据了。
    这种方法的最大好处是定位精准可靠,在文本行和表格中都能应用。结合EXCEL和WORD应用特别普遍的现状来说,就等于是将EXCEL和WORD变成了VFP的报表输出终端,较之VFP系统报表只能打印,不能编辑的局限性,EXCEL和WORD格式的报表具有非常好的应用价值。
    书签定位的局限性是“书签名”必须符合WORD的语法要求,一般只能用“字符”来做书签名,不能用下划线、数字等符号,更不能应用“表达式”来写入数据,所以,我还创造了一种在WORD文档中“扫描”表达式的打印方式,也就是在指定位置做好“表达式”标记,让打印程序扫描整个文档模板,自动地识别出所有的“书签”和各种表达式,生成报表打印程序,“扫描”方式与“书签”方式相互配合,就能做出任何复杂的WORD报表。
2016-01-20 14:29
IHORSE
Rank: 1
等 级:新手上路
帖 子:41
专家分:5
注 册:2007-2-11
收藏
得分:0 
回复 39楼 mywisdom88
实际上就是要在通知书文档中插入程序中要用的几个标签,且标签名称要和prg文件中的一致。
2016-01-20 16:30
IHORSE
Rank: 1
等 级:新手上路
帖 子:41
专家分:5
注 册:2007-2-11
收藏
得分:0 
回复 22楼 沙枣
感谢沙枣老师!!

现在遇到一个新问题:如果excel文件中某个学生的某科成绩对应的是空白(比如该考生没考,或者缺这科成绩),那么,执行到类似以下语句时
    WORDCELLTEXT=OLEAPP.CELLS(PK,3).Value
会提示类型不匹配。

怎样解决呢?我想应是在这句前面加一个判断,如果该值为空白,则将wordcelltext=""?请问怎样处理为好呢?谢谢!

2016-01-20 16:34
沙枣
Rank: 4
来 自:宁夏银川
等 级:业余侠客
威 望:5
帖 子:103
专家分:221
注 册:2015-5-31
收藏
得分:0 
回复 43楼 IHORSE
对于学生考试来说,的确有这样的问题,EXCEL单元格填“0”表示考试得零分,而不填表示未考,你提的情况要使用isnull()函数,可用附件所传程序。
   office版本高了之后,设置了对数据类型的校验功能,excel单元格的值为“空”时,其数据类型不确定(U),不能默认为“空字符”,也就不能正确写入word文档中,这就是你在运行程序时发生错误的原因,高版本office“自作聪明”,反倒有点画蛇添足的味道。

sample.rar (618.71 KB)


[此贴子已经被作者于2016-1-21 08:08编辑过]

2016-01-20 16:55
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
沙枣友,可详细介绍一下您的扫描法吗?
2016-01-20 18:17
IHORSE
Rank: 1
等 级:新手上路
帖 子:41
专家分:5
注 册:2007-2-11
收藏
得分:0 
回复 44楼 沙枣
谢谢了,沙枣老师!!
2016-01-20 21:48
IHORSE
Rank: 1
等 级:新手上路
帖 子:41
专家分:5
注 册:2007-2-11
收藏
得分:0 
回复 44楼 沙枣
沙枣老师,请原谅我的穷追不舍,请问可以在prg中添加代码,以便在生成doc的同时还能为每个学生生成pdf文件么?word版本是2013的。

PS:不用麻烦沙枣老师了。已经查阅资料解决了问题。只需要用类似以下的语句就可以了。
   
WORDAPP.ActiveDocument.ExportAsFixedFormat(PDF文件名,17)

[此贴子已经被作者于2016-1-21 09:27编辑过]

2016-01-20 23:03
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
以下是引用沙枣在2016-1-20 14:29:01的发言:

    这个问题有点复杂,WORD有一个“书签”功能,是用来“定位”的,当你浏览一篇长文档,可在停止浏览的地方插入一个方便记忆的书签,下次查找这个书签,就能定位到上次浏览结束的位置。我写的这个程序,就是用了书签定位的原理。在各个要插入数据的地方插入不同的“书签”后保存,就做成了word模板文件,用VFP程序通过OLE功能先从EXCEL中读取数据,再在word模板中对应查找每个书签,就可以在指定的位置写入想要的数据了。
    这种方法的最大好处是定位精准可靠,在文本行和表格中都能应用。结合EXCEL和WORD应用特别普遍的现状来说,就等于是将EXCEL和WORD变成了VFP的报表输出终端,较之VFP系统报表只能打印,不能编辑的局限性,EXCEL和WORD格式的报表具有非常好的应用价值。
    书签定位的局限性是“书签名”必须符合WORD的语法要求,一般只能用“字符”来做书签名,不能用下划线、数字等符号,更不能应用“表达式”来写入数据,所以,我还创造了一种在WORD文档中“扫描”表达式的打印方式,也就是在指定位置做好“表达式”标记,让打印程序扫描整个文档模板,自动地识别出所有的“书签”和各种表达式,生成报表打印程序,“扫描”方式与“书签”方式相互配合,就能做出任何复杂的WORD报表。

开始我以为是凭着语文查找的,在表格前输入语文二字,测试语文成绩还是写在格子里的。再仔细看你的说明,有书签一事,再到WORD中找呀找…… 这就是学习

只求每天有一丁点儿的进步就可以了
2016-01-21 08:34
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
以下是引用沙枣在2016-1-20 11:51:14的发言:

必须要用我发上去的word打印模板“通知书.doc”,这个模板经过了改装,自制的未经改装的word模板不能填入数据,程序运行也会出错。

判断模板中的书签是否存在的语句如何写?请赐教哦,谢谢

只求每天有一丁点儿的进步就可以了
2016-01-21 08:38
沙枣
Rank: 4
来 自:宁夏银川
等 级:业余侠客
威 望:5
帖 子:103
专家分:221
注 册:2015-5-31
收藏
得分:0 
回复 47楼 IHORSE
如果是已经生成的WORD文档转换成PDF,则要去找专门的转换程序(wordtopdf)或利用WORD本身的另存为...(如果高版本office有的话),高版本的VFP系统报表也可能有打印到“PDF打印机”之类的功能,实现系统报表转换为PDF格式。用VFP代码操纵WORD直接实现PDF转存的事,我没做过,不敢妄言。

[此贴子已经被作者于2016-1-21 09:01编辑过]

2016-01-21 08:51
快速回复:★如何编程将word文档的每一页单独保存为一个doc和jpg文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.089654 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved