Entwickler-Ecke

Dateizugriff - excel


Primus999 - Mo 22.02.10 01:08
Titel: excel
hallo
ich hab vor jahren ma in der schule mit delphi ein wenig "programmiert" und muss zur zeit mal wieder auf das wissen zurückgreifen. mein problem besteht darin, dass ich ne excel-datei mit 12 mappen hab, und da stehen jewals verschiedene daten drin und zugehörige beträge. das will ich in en stringgrid kriegen und dann damit rechnen. habs schon gegooglet und so ne schweizer seite gefunden, aber da weis ich ni was es macht und das geht bei mir och ni. würde mich freuen, wenns mir jemand erklären könnte wie das geht, am besten mit quelltext^^
schon ma danke im vorraus.


Delete - Mo 22.02.10 01:52

- Nachträglich durch die Entwickler-Ecke gelöscht -


Primus999 - Di 23.02.10 15:35

also, hab das ma angeguckt, hab gemerkt mein englisch is s******, und bin ni wirklich schlauer. hat ni einer so was rumliegen, was ich nur noch übernehmen muss?? das einzige was ich kann is variablen deklarieren, ne funktion nutzen und schleifen nutzen...


Delete - Mi 24.02.10 00:55

- Nachträglich durch die Entwickler-Ecke gelöscht -


Chemiker - Mi 24.02.10 23:41

Hallo Frühlingsrolle,

ich frage mich nur grade wie Du Excel wieder schließen willst. Du schließt das Workbook und lässt Excel weiterlaufen und kommst an die Excel-Instanz nicht mehr ran.

Bis bald Chemiker


Delete - Do 25.02.10 00:44

- Nachträglich durch die Entwickler-Ecke gelöscht -


Chemiker - Do 25.02.10 07:45

Hallo Frühlingsrolle,

ich habe es nicht getestet, aber Du schließt mit Close nur das aktive Workbook und Excel bleibt offen.
Ein einfacher Test kannst Du durchführen indem Du Excel mit:


Delphi-Quelltext
1:
Visible:= TRUE;                    

Sichtbar machst.

Um Excel vernünftig zu schließen empfehle ich folgenden Code:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
// Excel wir mit den Anweisungen wieder geschlossen und aus dem Speicher ent-
// fernt. Zuvor muss das erstellte Workbook geschlossen worden sein.
procedure TForm1.btnExcelBeendenClick(Sender: TObject);
begin
  if  ((NOT VarIsEmpty(olevEXCEL))and VarIsEmpty(olevWB)) then
  begin
    olevEXCEL.Quit;
    olevEXCEL:= Unassigned;
  end;
end;

Bis bald Chemiker


Delete - Do 25.02.10 11:26

- Nachträglich durch die Entwickler-Ecke gelöscht -