Hallo zusammen,
Ich möchte gerne einen Excel-Import realisieren. Der Umgang mit
OLE-Objekten ist mir bekannt. Doch bei der Umsetzung habe ich ein Problem. Also ich habe eine XLS-Datei und möchte diese in mein
Ole-Objekt einladen, doch sobald ich das Workbook "adden" will öffnet sich von Excel aus ein Speichern als Dialog, das ich auf keinen Fall möchte.
Dies tritt auch nur bei einer Datei auf (ich habe leider keine Makro-erfahrung und kann nicht urteilen ob es daher kommt), wenn ich die Daten der Datei in eine andere Kopiere und diese einlade, funktioniert es wie geplant!
Hier ein Auszug meines Codes
Delphi-Quellcode:
var FWB,FWS,Excel : variant;
RowIndex : integer;
begin
result := 0;
ClearList;
if FileExists(FileName) then
begin
try
Excel := createOleObject('Excel.Application');
try
FWB := Excel.Workbooks.Add(FileName);
FWS := FWB.WorkSheets.Item[Worksheet];
...
Der Dialog tritt bereits bei FWB := Excel.Workbooks.Add(FileName); auf (So das Casten auf _Woorkbook und die Regelung über Workbook.saved[lcid] auch nicht möglich ist).
(Ich habe die Prozesse überwacht und geschaut ob nicht noch eine Excel-Instanz aktiv ist. Es tritt immer bei der einen Datei auf - unabhängig davon ob ich das Programm oder sogar meinen Rechner neustarte).
Hat irgendjemand eine Idee (bitte keine Alternativmöglichkeit, es ist mir bewußt, dass es ohne
OLE möglich ist) aber ich möchte gerne verstehen und vorallem mein Problem beheben.
Ich bin für jeden hilfreichen Tipp sehr dankbar.
Mfg
emjay