delphi打开一个空word文档编辑后,怎样把这个编辑的WORD文件存储到access数据库的 delphi打开一个空word文档编辑后,怎样把这个编辑的WORD文件存储到access数据库的ole 字段中,并在delphi调用中再把这个二进制文件从数据库中还原出来,并且直接通过WORD打开该字段。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.打开word文件。 procedure TfjfsglForm.SpeedButton4Click(Sender: TObject); var MSWord: Variant; str:string; begin if trim(DataModule1.adoquery27.fieldbyname('fjmc').asstring)<>'' then begin str:=trim(DataModule1.ADOQuery27.fieldbyname('fjmc').AsString); MSWord:= CreateOLEObject('Word.Application');// MSWord.Documents.Open('d:\Program Files\Common Files\Sfa\'+str, True);// MSWord.Visible:=1;// str:=''; MSWord.ActiveDocument.Range(0, 0);// MSWord.ActiveDocument.Range.InsertAfter(str);//?úWord?D???ó×?·?'Title' MSWord.ActiveDocument.Range.InsertParagraphAfter; end else showmessage(''); end;(2)word文件传入和传出数据库。 uses IdGlobal; procedure TdjhyForm.SpeedButton2Click(Sender: TObject); var sfilename:string; function BlobContentTostring(const Filename:string):string; begin with Tfilestream.Create(filename,fmopenread) do try setlength(result,size); read(pointer(result)^,size); finally free; end; end; begin if opendialog1.Execute then begin sfilename:=opendialog1.FileName; DataModule1.ADOQuery14.Edit; DataModule1.ADOQuery14.FieldByName('word').AsString:=blobcontenttostring(sfilename); DataModule1.ADOQuery14.Post; end; end; procedure TdjhyForm.SpeedButton1Click(Sender: TObject); var sfilename:string; bs:Tadoblobstream; begin bs:=Tadoblobstream.Create(TBLOBfield(DataModule1.ADOQuery14.FieldByName('word')),bmread); try sfilename:=extractfilepath(application.ExeName)+trim(DataModule1.adoquery14.fieldbyname('hybh').AsString); sfilename:=sfilename+'.'+'doc'; bs.SaveToFile(sfilename); try djhyopenform:=Tdjhyopenform.Create(self); djhyopenform.olecontainer1.CreateObjectFromFile(sfilename,false); djhyopenform.OleContainer1.Iconic:=true; djhyopenform.ShowModal; finally djhyopenform.Free; end; finally bs.free; end; end; DEPHI7下的特快专递 一个EXE,调用其他多个EXE,怎么控制好?全部EXE都自己编代码。 接个小项目,各位大侠看看要多少钱合适呀。急,在线ing.... 好奇的人进来领分(快毕业了,分多了,为兄弟们发工资啦) 高分求教 Delphi程序员薪水调查 用ShellExecute启动一个程序,怎样等它执行结束?(在线给分) 菜鸟问题:关于Sql语句在Delphi中使用一问,来者有分(不够加) 谁能指点BOM表结构和数据展开怎么做给高分 Delphi中如何安装并使用VB控件中的MSHFlexGrid,多请高手帮忙。 使用BDE控件可以连接ACCESS么? access数据库问题
procedure TfjfsglForm.SpeedButton4Click(Sender: TObject);
var
MSWord: Variant;
str:string;
begin
if trim(DataModule1.adoquery27.fieldbyname('fjmc').asstring)<>'' then
begin
str:=trim(DataModule1.ADOQuery27.fieldbyname('fjmc').AsString);
MSWord:= CreateOLEObject('Word.Application');//
MSWord.Documents.Open('d:\Program Files\Common Files\Sfa\'+str, True);//
MSWord.Visible:=1;//
str:='';
MSWord.ActiveDocument.Range(0, 0);//
MSWord.ActiveDocument.Range.InsertAfter(str);//?úWord?D???ó×?·?'Title'
MSWord.ActiveDocument.Range.InsertParagraphAfter;
end
else
showmessage('');
end;
(2)word文件传入和传出数据库。
uses IdGlobal;
procedure TdjhyForm.SpeedButton2Click(Sender: TObject);
var
sfilename:string;
function BlobContentTostring(const Filename:string):string;
begin
with Tfilestream.Create(filename,fmopenread) do
try
setlength(result,size);
read(pointer(result)^,size);
finally
free;
end;
end;
begin
if opendialog1.Execute then
begin
sfilename:=opendialog1.FileName;
DataModule1.ADOQuery14.Edit;
DataModule1.ADOQuery14.FieldByName('word').AsString:=blobcontenttostring(sfilename);
DataModule1.ADOQuery14.Post;
end;
end;
procedure TdjhyForm.SpeedButton1Click(Sender: TObject);
var
sfilename:string;
bs:Tadoblobstream;
begin
bs:=Tadoblobstream.Create(TBLOBfield(DataModule1.ADOQuery14.FieldByName('word')),bmread);
try
sfilename:=extractfilepath(application.ExeName)+trim(DataModule1.adoquery14.fieldbyname('hybh').AsString);
sfilename:=sfilename+'.'+'doc';
bs.SaveToFile(sfilename);
try
djhyopenform:=Tdjhyopenform.Create(self);
djhyopenform.olecontainer1.CreateObjectFromFile(sfilename,false);
djhyopenform.OleContainer1.Iconic:=true;
djhyopenform.ShowModal;
finally
djhyopenform.Free;
end;
finally
bs.free;
end;
end;