请教Delphi中如何将OLE对象的word内容(包括图片等)插入已打开的word文档中?

hgyzj1 2008-03-09 10:15:29
如题
...全文
308 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
支持搂主,收藏
GDTOPONE 2008-03-21
  • 打赏
  • 举报
回复
以下是先打开一个DOC文件,然后将这个文件的内容全部复制到另一文件中去

procedure TForm1.Button2Click(Sender: TObject);
var WordApp: Variant;
begin
if OpenDialog1.Execute then begin
WordApp := CreateOleObject('Word.Application'); //创建word对象
WordApp.Documents.open(OpenDialog1.FileName); //打开一个word文档
wordapp.activedocument.select; //选取打开的word文档中全部内容
wordapp.selection.copy; //拷贝选取的内容
WordApp.Documents.open('c:\VPN1.doc');//打开接收得制内容的文件
WordApp.Selection.Paste;
WordApp.ActiveDocument.Save;
WordApp.Quit; //关闭对象
varclear(WordApp);
end;
end;
GDTOPONE 2008-03-21
  • 打赏
  • 举报
回复
你自行改一改代码,我这个是将数据库中的图片字段保存在一个新的DOC文件中去的

uses
Jpeg,ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
pic:tmemorystream;
jpg:TJpegImage;
wdApp,doc:Variant;
begin
pic:=tmemorystream.Create;
jpg:=TJpegImage.Create;
if SaveDialog1.Execute then begin
try
with ADOQuery1 do
begin
TBlobField(FieldByName('xpict')).SaveToStream(pic);
end;
pic.Position:=0;
jpg.LoadFromStream(pic);
DBImage1.Picture.Bitmap.Assign(jpg);
DBImage1.CopyToClipboard;
wdApp:=CreateOleObject('Word.Application');
doc:=wdApp.Documents.Add;
doc.Range.Paste;
doc.SaveAs(SaveDialog1.FileName);
wdApp.quit;
finally
pic.Free;
jpg.Free;
varclear(wdApp);
end;

end;
end;


2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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