想要在VFP中打印一个WORD文档,这怎么解决

eric5191714 2012-08-15 11:15:49
RT,由于一次要处理大量的WORD和EXCEL同时混合打印情况,EXCEL是用VFP调用打印的,WORD代码如下
if type('MYWORD')<>'O'
MYWORD = CreateObject('WORD.APPLICATION')
endif
MYWORD=CREATEOBJECT('WORD.APPLICATION')
filelj='D:\'+m_period+'\output\'+m_bh+'.doc'
ow=MYWORD.DOCUMENTS.open(filelj)
myword.ActiveDocument.PrintPreview
myword.visible=.t.
ow.saved=.t.
ow.close
myword.quit
RELEASE myword

report form (m_period+'\output\'+m_bh+'.doc') to printer
report form (m_period+'\output\'+m_bh+'.doc') to printer prompt

出现“传递了错误的参数到转换器中,要转换文件,请从“文件”菜单中选取”的提示框
然后是“程序错误”:报表文件MYWORD无效。
本人菜鸟一枚,请问这个问题怎么解决。。。
...全文
492 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
myperry 2012-09-16
  • 打赏
  • 举报
回复
应该是使用OLE会比较容易解决。
litigationveteran 2012-08-16
  • 打赏
  • 举报
回复
我也来看看了,很不错。
WWWWA 2012-08-15
  • 打赏
  • 举报
回复
直接在WORD中打印不行?
在VFP中不能打印WORD中DOC文件
eric5191714 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

关键你是 3 个不同的报表,所以不行。
[/Quote]
高人都说不行啦。。。好吧,认啦,谢谢高人
十豆三 2012-08-15
  • 打赏
  • 举报
回复
关键你是 3 个不同的报表,所以不行。
eric5191714 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

想办法将 3 个 PDF 或 TIF 合成一个吧。这方面资料手头没有,你自己找一找吧。
[/Quote]
我知道怎么把三个PDF合成一个,可是问题是我有好多个三个合成一个。。。所以我想VFP直接输出成一个文件,这样多省事
十豆三 2012-08-15
  • 打赏
  • 举报
回复
想办法将 3 个 PDF 或 TIF 合成一个吧。这方面资料手头没有,你自己找一找吧。
eric5191714 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

你的意思是打印成图片,就用 PDF 打印机就行。
[/Quote]
可是这样用PDF打印机打印出来的是三个文件,我想要只打印出一个文件。。。高人求解决办法
十豆三 2012-08-15
  • 打赏
  • 举报
回复
你的意思是打印成图片,就用 PDF 打印机就行。
eric5191714 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
If Type('MYWORD')<>'O'
MYWORD = Createobject('WORD.APPLICATION')
Endif
MYWORD=Createobject('WORD.APPLICATION')
filelj='D:\'+m_period+'\output\'+m_bh+'.doc'
ow=MYWORD.DOCUMENTS.Open(filelj)
mywor……
[/Quote]
或者我装个PDF打印机,直接输出到一个PDF里面
eric5191714 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
If Type('MYWORD')<>'O'
MYWORD = Createobject('WORD.APPLICATION')
Endif
MYWORD=Createobject('WORD.APPLICATION')
filelj='D:\'+m_period+'\output\'+m_bh+'.doc'
ow=MYWORD.DOCUMENTS.Open(filelj)
mywor……
[/Quote]

谢谢啊,高人啊,还有个问题,代码如下:
procedure print_individual
PARAMETER m_period,m_bh
public m_hn

If Type('MYWORD')<>'O'
MYWORD = Createobject('WORD.APPLICATION')
Endif
MYWORD=Createobject('WORD.APPLICATION')
filelj='D:\'+m_period+'\output\'+m_bh+'.doc'
ow=MYWORD.DOCUMENTS.Open(filelj)
myword.ActiveDocument.PrintPreview
myword.ActiveDocument.PrintOut && 打印
myword.Visible=.T.
ow.saved=.T.
ow.Close
myword.Quit
Release myword

*--------
if type('Excel_Received')<>'O'
Excel_Received = CreateObject('EXCEL.APPLICATION')
endif

if type('m_hn')='U'
public m_hn
endif

m_hn = m_bh

** For Excel printing
if !used('count2000a')
use (m_period+'\count2000a') in 0
endif
m_bh=alltrim(m_bh)
select count2000a
locate for alltrim(hn)==m_bh
if found() and cnt1>0
if !used('sum2000a')
use (m_period+'\sum2000a') in 0
endif
select sum2000a
SET ORDER TO HN

** To avoid 'cache' problem that will lead to print all old data



Excel_Received.Workbooks.Open('D:\'+m_period+'\output\'+m_bh+'.xls')
Excel_Received.Worksheets('hospital').Activate
Excel_Received.ActiveSheet.printout(1,3,1)
Excel_Received.ActiveWorkbook.saved=.t.
Excel_Received.Workbooks.Close

report form (m_period+'\SUM2000A') to printer for alltrim(hn)==alltrim(m_bh) noconsole
* report form (m_period+'\SUM2000A') to printer prompt for alltrim(hn)==m_bh noconsole
* report form (m_period+'\SUM2000A') PREVIEW for alltrim(hn)==allt(m_bh)
endif
*CLOSE ALL
我想让这些输出到一个文件里面,请问怎么输出,这样是输出了一个WORD文件,两个EXCEL文件,感激涕零啊
十豆三 2012-08-15
  • 打赏
  • 举报
回复
If Type('MYWORD')<>'O'
MYWORD = Createobject('WORD.APPLICATION')
Endif
MYWORD=Createobject('WORD.APPLICATION')
filelj='D:\'+m_period+'\output\'+m_bh+'.doc'
ow=MYWORD.DOCUMENTS.Open(filelj)
myword.ActiveDocument.PrintPreview
myword.ActiveDocument.PrintOut && 打印
myword.Visible=.T.
ow.saved=.T.
ow.Close
myword.Quit
Release myword
十豆三 2012-08-15
  • 打赏
  • 举报
回复
report form (m_period+'\output\'+m_bh+'.doc') to printer
report form (m_period+'\output\'+m_bh+'.doc') to printer prompt
这样不行

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧