想要在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无效。
本人菜鸟一枚,请问这个问题怎么解决。。。
...全文
505 14 打赏 收藏 转发到动态 举报
写回复
用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
这样不行
目 录 一、建立WORD应用程序对象,新建、打开、保存WORD文档 5 1、建立对象 5 2、显示WORD窗口 5 3、新建一个WORD文档 5 (1)Count属性 5 (2)Name属性 5 4、打开一个已存在的WORD文档 5 5、激活文档,使文档成为当前激动文档 6 6、保存文档 6 7、页面设置 6 (1)Orientation属性 6 (2)TopMargin属性 6 (3)BottomMargin属性 6 (4)LeftMargin属性 6 (5)RightMargin属性 7 (6)PageWidth属性 7 (7)PageHeight属性 7 8、打印文档 7 9、关闭文档 7 10、退出WORD 8 二、Font对象 8 1、Name 属性 8 2、Size属性 8 3、Bold属性 8 4、Italic属性 8 5、Color属性 8 6、Underline属性 8 7、UnderlineColor属性 8 8、Subscript属性 9 9、Superscript属性 9 10、Spacing属性 9 11、Scaling属性 9 三、Paragraph和Paragraphs集合对象 9 1、添加段落 9 (1) Add方法 10 (2)InsertParagraph方法 10 (3)InsertParagraphAfter 方法 10 (4)InsertParagraphBefore 方法 11 (5)TypeParagraph 方法 11 2、设置段落格式 11 (1)FirstLineIndent属性 11 (2)LeftIndent属性 11 (3)RightIndent属性 11 (4)Alignment属性 11 (5)LineSpacing属性 12 (6)HangingPunctuation属性 12 四、Range 和 Selection 对象 12 (1)Range对象 12 (2)Selection 对象 13 (3)常用属性 13 ①Start属性 13 ②End属性 14 ③Text属性 14 ④Type属性 14 ⑤Information 属性 15 (4)常用方法 18 ①Copy 方法 18 ②Cut 方法 18 ③Paste 方法 18 ④Collapse 方法 18 ⑤InsertBefore 方法 19 ⑥InsertAfter方法 19 ⑦TypeText方法 19 ⑧Delete 方法 20 ⑨移动插入点的方法 20 ㈠Move 方法 20 ㈡MoveDown 方法 20 ㈢MoveEnd 方法 21 ㈣MoveEndUntil 方法 21 ㈤MoveLeft 方法 22 ㈥MoveRight方法 22 ㈦MoveStart 方法 23 ㈧MoveStartUntil 方法 23 ㈨MoveUp 方法 24 五、表格处理 25 1、Table 对象和Tables 集合对象 25 2、添加表格 25 (1)PreferredWidthType 属性 25 (2)AllowAutoFit属性 26 (3)AllowPageBreaks属性 26 3、Border 对象和Borders 集合对象 26 (1)LineStyle属性 26 (2)LineWidth属性 27 (3)Color属性 27 (4)Enable 属性 27 (5)DefaultBorderLineWidth 属性 27 (6)DefaultBorderLineStyle 属性 27 (7)DefaultBorderColor 属性 27 4、Cell 对象和Cells 集合对象 28 5、Row 对象和Rows 集合对象 28 (1)Height 属性 28 (2)Delete 方法 28 (3)SetHeight 方法 28 6、Column 对象和Columns 集合对象 29 (1)Width 属性 29 (2)Delete 方法 29 (3)SetWidth 方法 29 7、合并与拆分单元格 30 (1)合并单元格 30 (2)拆分单元格 30 六、Shape 对象和Shapes 集合对象 32 1、常用方法 32 (1)AddLine 方法 32 (2)AddTextbox 方法 33 (3)AddTextEffect 方法 33 (4)AddPicture 方法 34

2,748

社区成员

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

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