Excel插入图片(36分)

  • 主题发起人 主题发起人 兰凌
  • 开始时间 开始时间

兰凌

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在excel中插入图片,我搜索了dfw的资料,用Pictures.Insert方法可以解决,但是我编译的时候却是类 Pictures 的 Insert 方法无效!
不知道要怎么解决,请各位大虾帮忙.告诉我解决方法.
 
up

急用啊
 
为什么没人回答啊?
是不是太easy???
 
我这两天一直在找excel插入的资料,但是都没有可以的.

所以请大家帮帮忙.
 
测试通过
--
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
exApp,exWB,exSheet:Variant;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses ComObj;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
exApp:=CreateOleObject('Excel.Application');
exApp.visible:=true;
exApp.Caption:='Call Excel from Delphi';
exWB:=exApp.workbooks.add;
exSheet:=exWB.ActiveSheet;
exSheet.Pictures.Insert('E:/My Pictures/1.jpg');

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  exApp.Quit;
exWB:=Unassigned;
exSheet:=Unassigned;
exApp:=Unassigned;
end;

end.
 
var
ExcelApp,MyWorkBook,FWorksheet:oleVariant;
FPicture:OleVariant;
//插入图象并设置位置与大小
tmpstr:=uMain.Path+'image001.jpg'; //uMain.Path是图片路径
FPicture:=FWorksheet.Pictures.Insert(tmpstr);
FPicture.Left:=60;
FPicture.Top:=10;
FPicture.width:=100;
FPicture.height:=100;
FPicture:=null;
ExcelApp.visible:=true;
 
两位,我试过你们的方法,但是提示出错是insert方法无效
是怎么回事呢?
 
但是我编译的时候却是类 Pictures 的 Insert 方法无效!
----
你用的server组件还是ole?ole方式下编译的时候是不会提示方法无效的,只有运行的时候才提示。你的代码?
 
我的代码;
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
ExcelApp.Visible := true;
MyworkBook:=ExcelApp.workBooks.Add;
Myworkbook.worksheets[1].range['A1:U1'].select;
Myworkbook.worksheets[1].Pictures.Insert(filename);//filename为图像文件的路径


结果编译不了,insert方法无效
 
那给你完整点的了,在excel2000里面可以的,再不行的话我也没办法了
uses ComObj;

var
ExcelApp,MyWorkBook,FWorksheet:oleVariant;
FPicture:OleVariant;

try
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
except
on Exception do raise exception.Create('无法打开Xls文件,请确认已经安装EXCEL')
end;
ExcelApp.Visible := true;
MyworkBook:=ExcelApp.workBooks.Add;
FWorksheet:=ExcelApp.Worksheets[1];

//插入图象并设置位置与大小
tmpstr:=uMain.Path+'image001.jpg';
FPicture:=FWorksheet.Pictures.Insert(tmpstr);
FPicture.Left:=60;
FPicture.Top:=10;
FPicture.width:=100;
FPicture.height:=100;
FPicture:=null;
ExcelApp.visible:=true;
 
我就是想不通出现insert方法无效的原因是什么.
 
说你是白痴还真不冤枉你,如果图片不存在的情况下会出现你说的情况。我试了
 
图片不存在的情况下会出现你说的情况,stupid
 
接受答案了.谢谢了
 
后退
顶部