如何使用WORDAPPLICATION、WORDDOCUMENT等控件,将多个DOC文件加在一起。(急)(200分)

  • 主题发起人 主题发起人 R_Baggio
  • 开始时间 开始时间
R

R_Baggio

Unregistered / Unconfirmed
GUEST, unregistred user!
也就是说,如何使用WORDAPPLICATION的INSERTFILE。谁能告诉我!
 
到这里看看,也许对你有帮助。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=786011
 
我用D6的,好象有许多方法和D5的不一样。
我想用WORDAPPLICATION控件。
D6下的DEMO,自己就不能编译通过,你可以看看OLE的DEMO。
希望用D6的方法。谢了!
 
用RANGE试一试,我以前给别人写过一个例子,忘了丢哪了,俺去找找,找到就贴上来。
 
谢了!
最好详细说明的!
 
看看以前的帖子
 
WORDAPPLICATION的INSERTFILE的用法,我已经调试通过了。
但我还有如下问题(分数照给):
1、如何控制我INSERTBEFORE或INSERTAFTER的字的对齐方式。
2、如何在INSERTFILE的DOC文件的首行加入一些字符。
3、我使用WORDAPPLICATION。VISIBLE=FALSE为什么错误。
4、我想连续用一个WORDAPPLICATION编辑两个文档可以吗?该如何写呢?
 
5、
WORDAPPLICATION。CONNECT;
WordDocument.Range.InsertAfter
WORDAPPLICATION。DISCONNECT;
WORDAPPLICATION。CONNECT;
WordDocument.Range.InsertAfter()//出错!RPC服务器没有找到
WORDAPPLICATION。DISCONNECT;
为什么?该如何解决!
 
用insertfile插入另一文档
或用复制,粘贴。
 
下面是以前写的例程,针对你的1、2改了改。
procedure TForm1.doc1Close(Sender: TObject);
begin
doc1.Disconnect;
app1.Disconnect;
app1.Quit;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ItemIndex :OleVariant;
FileName,beginpos,endpos:olevariant;
newtemplate:olevariant;
begin
try app1.Connect;
except
messagedlg('系统没有安装WORD',mterror,[mbok],0);
abort;
end;
itemindex:=1;newtemplate:=false;app1.Documents.Add(emptyparam,newtemplate,emptyparam,emptyparam);
doc1.ConnectTo(app1.documents.Item(itemindex));
beginpos:=doc1.Content.End_-1;doc1.Content.Insertafter('12315464654646'+chr(10));
endpos:=doc1.Content.End_-1;doc1.Range(beginpos,endpos).ParagraphFormat.Alignment:=wdAlignParagraphCenter;
endpos:=doc1.Content.End_-1;doc1.Range(endpos,endpos).InsertFile('c:/temp/1.doc',emptyparam,emptyparam,emptyparam,emptyparam);
endpos:=doc1.Content.End_-1;doc1.Range(endpos,endpos).InsertFile('c:/temp/2.doc',emptyparam,emptyparam,emptyparam,emptyparam);
filename:='c:/temp/3.doc';doc1.Saveas(filename);doc1.Close;
end;

3、把代码贴出来。
4、可以,用两个WORDDOCUMENT就行了,用DOCUMENTS来切换,自己试试,再不行,留下MAIL
地址,我发个例程给你。
5、worddocument有没有connect上wordapplication。
 
3、 Wordapplication.Connect;
WordDocument.Connect;
try
Wordapplication.Visible := False;//可以吗?
WordApplication.Caption := '123456'

WordDocument.Range.InsertAfter('12345678');//出错
...
finally

end;
 
to j_shen2000:
你有QQ吗?我的 8837234。
r9_baggio@163.net
 
用WORDAPPLICATION。SELECTION和WORDDOCUMENT。RANGE一样吗?
如何找到这些控件的说明?

 
两者不一样,前者是指选中的范围,没选中是指光标的位置。
后者指全文的范围。
安装Office的VBA帮助。在帮助中查看说明。
 
我的WORD服务器经常抱RPC服务器无法使用,不知道是为什么?
 
如何才能避免这样的错?
正常的使用WORDAPPLICATION和WORDDOCUMENT的流程是怎么样啊!
 
RPC服务错一是Word太慢,二是Word打开了对话框,Word中打开了对话框,客户程序不能控制它。
 
那如何避免呢?
我现在连续用WORDAPPLICATION等控件在WORD中插入一些东西,没有问题!
但我只要退出这个界面,然后在重新进去调用WORD就出错,说RPC服务器无法使用。
如何解决呢?
正常的使用WORDAPPLICATION和WORDDOCUMENT的流程是怎么样啊!(指连接和关闭)
恳请赐教!万分感谢!
 
上午去见客户,没及时回信。
1、你的WORDDOCUMENT没有CONNECT到指定DOCUMENT,用CONNECTTO。
2、你将我的例程中的APP1。QUIT屏蔽掉,只要WORD不退出就不会报RPC服务器的错误了,VISIBLE也不会有
问题了,具体原因我正在找。
3、VBA的帮助大概是最好的了。
4、我一般用SINA寻呼,由于某某个人原因。
j_shen2000@sina.com.cn,是我的技术信件,经常联系。
 
没固定流程:

worddocument.connect;
wordApplication.connect(worddocument.application);

wordapplication.disconnect;
worddocument.disconnect;
如果保存文件和关闭Word可:

worddocument.save;
worddocument.disconnect;
wordapplication.quit;
wordapplication.disconnect;
 
后退
顶部