Hallo Delphi Programmierer!
Ich bin Anfänger und programmiere mit Delphi 6.
Es geht darum, dass ich in ein bestehendes Excel-Dokument eine Grafik einfügen
möchte. Habe in den letzten 3 Tagen alle mir bekannte Foren durch, irgendetwas mache ich da
noch falsch und hoffe, Ihr könnt mir einen Tipp geben.
Mit dem Erstellen einer neuen Datei funktioniert es so prima: Excel.Workbooks.Add;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj, OleServer, Excel2000;
procedure TForm1.Button5Click(Sender:TObject);
var Excel, newpic: OleVariant;
begin
try
Excel := CreateOleObject(‚Excel.Application‘);
Excel.visible := true;
except
ShowMessage(‚Excel konnte nicht gestartet werden !‘);
end;
Excel.DisplayAlerts:=False;
Excel.Workbooks.Add; / / damit funktioniert es
Excel.Cells[52, 4].Select;
newpic :=Excel.ActiveSheet.Pictures.Insert(‚C:\Bild.bmp‘);
newpic.ShapeRange.Height:= 12;
newpic.ShapeRange.Width := 18;
newpic.ShapeRange.Rotation := 0;
end;
Mit dem Aufrufen einer bestehenden Datei funktioniert es nicht:
z. Bsp. Excel.Workbooks.open(‚C:\Programme\ZSoft\Vorlagen\Test.xls‘);
uses Windows, Messages, SysUtils,Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj,OleServer, Excel2000;
procedure TForm1.Button5Click(Sender:TObject);
var Excel, newpic: OleVariant;
begin
try
Excel :=CreateOleObject(‚Excel.Application‘);
Excel.visible := true;
except
ShowMessage(‚Excel konnte nicht gestartet werden !‘);
end;
Excel.DisplayAlerts:=False;
Excel.Workbooks.open(‚C:\Programme\ZSoft\Vorlagen\Test.xls‘);
Excel.Cells[52, 4].Select;
newpic :=Excel.ActiveSheet.Pictures.Insert(‚C:\Bild.bmp‘);
newpic.ShapeRange.Height:= 12;
newpic.ShapeRange.Width := 18; // hier Größe ändern
newpic.ShapeRange.Rotation := 0; // hier drehen
end;
Da kommt die Fehlermeldung: Die Insert-Methodedes Pictures-Objektes konnte nicht ausgeführt werden.
Habe es dann auch versucht mit
procedure TForm1.Button1Click(Sender:TObject);
var Excel,WB: Variant;
begin
try
Excel :=CreateOleObject(‚Excel.Application‘);
Excel.visible :=true;
except
ShowMessage(‚Excel konnte nicht gestartet werden !‘);
end;
Excel.DisplayAlerts:=False;
WB:=Excel.Workbooks.open(‚C:\Programme\ZSoft\Vorlagen\Test.xls‘);
Excel.Cells[52, 4].Select;
WB.WorkSheets[‚Tabelle1‘].Shapes.AddPicture(FileName := ‚C:\Bild.bmp‘,LinkToFile:=False,SaveWithDocument
:= True, Left := 10, Top := 10, Width := 400, Height := 300);
end;
Hierbei wird die gespeicherte Datei zwar aufgerufen aber dann die Fehlermeldung:
„Der angegebene Wert ist außerhalb des zulässigen Bereichs“
Ich würde mich sehr freuen, wenn mir jemand von Euch weiter helfen würde.
Vielen Dank schon mal im Voraus!
Gruß Uwe