起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: caoyeziqq

【结帖】求助: 关于文档导出的**

[复制链接]
 楼主| 发表于 2009-2-19 16:39:53 | 显示全部楼层

这是我录制的宏,请你帮忙调试一下啊,

这是我录制的宏,请你帮忙调试一下啊,我对这个太不熟悉了,调了大半天了也没有成功啊!  谢谢
ub 宏1()
'
' 宏1 宏
'
'
    Selection.InlineShapes.AddPicture FileName:= _
        "C:\Documents and Settings\Administrator\桌面\111.JPG", LinkToFile:=False, _
        SaveWithDocument:=True
    ActiveDocument.Save
End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 16:50:50 | 显示全部楼层

关键是这个InlineShapes

关键是这个InlineShapes它既不是参数也不是方法或函数什么的,它是个类名.

LineShape:= DispatchHelper.Create(FApp.PropertyGet('InlineShapes', []));   
所以这里编译出错!
请指教!
回复 支持 反对

使用道具 举报

发表于 2009-2-19 16:58:17 | 显示全部楼层
楼主,您上面的代码报什么错误?另外确认一下,是编译时报错,还是运行时报错?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 17:09:51 | 显示全部楼层

执行到那行代码的时候就死机不动了

执行到那行代码的时候就死机不动了,什么反应都没有了.
原代码如下,您可以在您的机器上运行看:
procedure TMainForm.Button4Click(Sender: TObject);
var
  FWord,Odocs: Object;
  FApp,FDocs,FDoc,lSelection,LineShape,APicture: DispatchHelper;
  lFileName,lPath,PFileName: String;
begin
  if OpenDialog1.Execute then
  begin
    lFileName := OpenDialog1.FileName;
    lfile:= lFileName;
    FWord := ComObj.CreateOleObject('Word.Application');
    FApp := DispatchHelper.Create(FWord);
    FApp.PropertyPut('Visible', [True]);
    FDocs := DispatchHelper.Create(FApp.PropertyGet('Documents',  []));
    FDocs.InvokeMethod('Open', [lFileName]);
  end;
  if OpenDialog2.Execute then
    begin
      PFileName:= OpenDialog2.FileName;
      lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));
      LineShape:= DispatchHelper.Create(FApp.PropertyGet('InlineShapes', []));
      APicture:= DispatchHelper.Create(LineShape.PropertyGet('AddPicture', []));
      APicture.InvokeMethod('ClearFormatting',[]);
      APicture.InvokeMethod('Execute',[PFileName]);
    end;
end;
回复 支持 反对

使用道具 举报

发表于 2009-2-19 17:34:20 | 显示全部楼层
你看看吧:
procedure TMainForm.Button5Click(Sender: TObject);
var
  FWord,Odocs: Object;
  FApp,FDocs,FDoc,lSelection,LineShape,APicture: DispatchHelper;
  lFileName,lPath,PFileName: String;
begin

    FWord := ComObj.CreateOleObject('Word.Application');
    FApp := DispatchHelper.Create(FWord);
    FApp.PropertyPut('Visible', [True]);
    FDocs := DispatchHelper.Create(FApp.PropertyGet('Documents',  []));
    FDocs.InvokeMethod('Open', ['c:/1.doc']);


   lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));


   LineShape:= DispatchHelper.Create(lSelection.PropertyGet('InlineShapes', []));
   LineShape.InvokeMethod('AddPicture',['c:/a.jpg',false,true]);



end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 17:51:53 | 显示全部楼层

好的感谢两位的排忧解难!,现在可以实现图片的插入了

好的感谢两位的排忧解难!,现在可以实现图片的插入了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 19:46 , Processed in 0.039293 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表