请各位大侠帮忙,不然我死定了(100分)

  • 主题发起人 主题发起人 wjl_my
  • 开始时间 开始时间
W

wjl_my

Unregistered / Unconfirmed
GUEST, unregistred user!
我把一个WORD 文档存入到sql server 中的IMAGE字段中,这个没问题,
现在是想通过DELPHI用WORK将这个内容显示出来,为什么总是出现这样子的错误呢?
project pzzqjcy.exe raised exception class eolexception with message
'文档的名称或路径无效。请试用如下建议:
*检查文档或驱动器的文件权限
*使用“文件”菜单中的“打开”命令来定位文档
(c:/yswzw.doc)'.process stopped.use step or run to continue

程序代码如下:
0、向数据库表中的IMAGE字段中存入.doc文档
  if opendialog1.Execute then
begin
filepath:=extractfileext(opendialog1.filename);
if (filepath='.doc') or (filepath='.rtf') then
begin
FileNameTemp :=opendialog1.filename ;
v:=createoleobject('word.application');
newdoc:=v.documents.open(filenametemp);
newdoc.saveas(filename:='c:/swzw.doc',fileformat:=3);
newdoc.close;
v.quit;

redtzw.clear;   //redtzw 表示richedit
redtzw.Lines.LoadFromFile('c:/swzw.doc');
deletefile('c:/swzw.doc');
end;

if (extractfileExt(filepath)='.txt') then
begin
redtzw.Clear;
redtzw.Lines.LoadFromFile(filepath);
end;
1、从表中取出文档字段
  (FieldByName('yswzw') as TBlobfield).savetofile('c:/yswzw.doc');
2、打开出现上述问题
   opendocument('c:/yswzw.doc');
wordapplication.Disconnect;

opendocument函数如下:
procedure TFrmfile_ysw.OpenDocument(filename: OleVariant);
var
confirmconversions,readonly,addtorecentfiles,passworddocument,passwordtemplate,revert,writepassworddocument,
writepasswordtemplate,format:olevariant;
itemindex:olevariant;
begin
confirmconversions:=false;
readonly:=false;
addtorecentfiles:=false;
passworddocument:='';
passwordtemplate:='';
revert:=true;
writepassworddocument:='';
writepasswordtemplate:='';
format:=wdopenformatdocument;
WordApplication.Documents.Open(filename,confirmconversions,readonly,addtorecentfiles,passworddocument,
passwordtemplate,revert,writepassworddocument,writepasswordtemplate,format);
itemindex:=1;
WordDocument.ConnectTo(wordapplication.documents.item(itemindex));
WordApplication.Options.CheckSpellingAsYouType:=false;
WordApplication.Options.CheckGrammarAsYouType:=false;
WordApplication.Visible:=true;
end;
 
你先检查看看在外部就是直接用WORD打开行不行

如果不行说明文件的格式已经被破坏
 
其实你的读写和Word没有关系啊,你只要把文件当作二进制数据写进去就好了啊.至于读出来
后不能打开,说明你的读写有问题.
 
楼上的各位,存成的.doc文件用word单独打开没有问题,主要是在这句话时出错:
WordApplication.Documents.Open(filename,confirmconversions,readonly,addtorecentfiles,passworddocument,
passwordtemplate,revert,writepassworddocument,writepasswordtemplate,format);
 
后退
顶部