Öffnen einer Excel-Datei mittels Ole

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Carsten315
Beiträge: 6
Registriert: Fr 10. Aug 2012, 21:16

Öffnen einer Excel-Datei mittels Ole

Beitrag von Carsten315 »

Hallo!

Vorab "Frohe Weihnachten"!!

Ich möchte mit folgendem Code mit Ole-Unterstützung eine Excel-Datei in Excel öffnen:

Code: Alles auswählen

 
...
var
  Excel: oleVariant;
  filename: String;
begin
  try
    Excel:=CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel-Datei kann nicht erstellt werden');
  end;
  filename:=ExtractFilePath(ParamStr(0))+'Mappe1.xls';
  Excel.Workbooks.Open(filename);
  .
  .
  .
 
An der Stelle [Excel.Workbooks.Open(filename)] bricht das Programm immer ab mit der Fehlermeldung
Projekt .. hat eine Exception-Klasse "EOleSysError" ausgelöst mit der Meldung:
Für diesen Vorgang ist nicht genügend Speicher verfügbar.

Was macht ich falsch?
Wenn ich ein neues Excel-Sheet erstelle und die Zellen in Excel beschreibe klappt alles wunderbar. Nur bei dem Öffnen einer bestehenden Mappe hängt es.
Die Datei gibt es im bestehenden Speicherort.

Für Eure Hilfeleistungen bin ich sehr dankbar!

Viele Grüße
Carsten

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Öffnen einer Excel-Datei mittels Ole

Beitrag von theo »

K.A. hast du es mal genau so probiert wie es im Wiki steht?
http://wiki.freepascal.org/Office_Autom ... _using_OLE

Carsten315
Beiträge: 6
Registriert: Fr 10. Aug 2012, 21:16

Re: Öffnen einer Excel-Datei mittels Ole

Beitrag von Carsten315 »

Hallo Theo!
Danke für Deine Antwort!
Ja, danach bin ich gegangen...
Leider funktioniert es nicht...
Ich werde das Beispiel mal in ein neues Projekt kopieren und schauen, was dann passiert.

Grüße
Carsten

Carsten315
Beiträge: 6
Registriert: Fr 10. Aug 2012, 21:16

Re: Öffnen einer Excel-Datei mittels Ole

Beitrag von Carsten315 »

Hallo!

Danke, Fehler gefunden.
Ich habe die Variable 'Filename' als String und nicht als Variant gesetzt.
So funktioniert es...

Viele Grüße
Carsten

Antworten