控制WORD的问题 (50分)

  • 主题发起人 主题发起人 hr0451
  • 开始时间 开始时间
H

hr0451

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]请问高手:
如何在Delphi中控制WORD文档中的各种属性,不希望用OLE,不借用第三方控件
把WORD打开,只查看文档内容,而不能对文档进行修改?即WORD中的修改属性失效
先谢谢
 
procedure TForm1.startClick(Sender: TObject);
begin
try
wordapplication1.connect;
except
messagedlg('word may not be installed', mterror, [mbok], 0);
abort;
end;
wordapplication1.visible := true;
wordapplication1.caption := 'delphi automation';
open.Enabled:=true;
end;

procedure TForm1.openClick(Sender: TObject);
var
Itemindex, format,TempEmpty: olevariant;
filename, passworddocument, passwordtemplate: olevariant;
writepassworddocument, writepasswordtemplate: olevariant;
confirmconversions, readonly, revert, addtorecentfiles: olevariant;
begin
if not OpenDialog1.execute then
exit;
{open document}
filename := OpenDialog1.filename;
confirmconversions := false;
readonly := true;//设只读
addtorecentfiles := false;
revert := true;
passworddocument := '';
passwordtemplate := '';
writepassworddocument := '';
writepasswordtemplate := '';
format := wdopenformatdocument;
wordapplication1.documents.open(filename, confirmconversions,
readonly, addtorecentfiles, passworddocument, passwordtemplate,
revert, writepassworddocument, writepasswordtemplate, format,TempEmpty,TempEmpty);
itemindex := 1;
worddocument1.connectto(wordapplication1.documents.item(itemindex));
end;

 
to linsb
先谢谢linsb提供的帮助
但是打开的word文件仍然可以修改,并且执行到wordapplicaiton1.documents.open ()
处时,会有‘RPC服务器无法使用’的错误提示(即先执行start后执行open),有时连续
执行start的代码时,也会出现‘RPC服务器无法使用’的错误提示,请linsb给予解答;
 
提示错误好像是Delphi本身的问题
 
to LiGen
不是delphi本身的问题,Delphi的补丁及ado的两个补丁都打了
如果word没有启动,就会出现错误提示
 
To hr0451
1.可以修改,但不能以打开的文件名保存,原文件是只读的--只查看文档内容,而不能对文档进行修改。
2.我试过多次没发现你指出的错误,是不是你操作失误,如当关闭word文件时出现对话框
没有关闭而关闭程序。
 
to linsb
感谢您的回答,但问题是:
1.是否可全面的禁止对word的修改,就象HTML页面中的文字一样不能被修改
2.当我连续点击Start按钮时,会出错,另外是不是先Start 后 open ,如果
是这样的话,第一次执行没有问题,但第二次执行就出错,是在Delphi环境中
还得麻烦linsb
 
'保护文档,只能阅看,注意最好增加密码
ActiveDocument.Protect Type:=wdAllowOnlyComments 'wdAllowOnlyFormFields
 
to hr0451
1.是否可全面的禁止对word的修改:原文件是只读的,对word的修改是无意义的。word本身
就没有不能作修改的设置。我认为追求和html相似的操作无意义。
2.当我连续点击Start按钮时--不应该如此,点击Start按钮后应使其变灰--Enabled:=false;
 
to linsb
谢谢linsb提供的帮助
 
后退
顶部