![]() |
StringGrid & Excel
Ich habe diesen Post bereits gelesen:
![]() bisheriger Code:
Delphi-Quellcode:
Jetzt würde ich gern einen Button haben, der immer bei einem Klick, in das offene Excel eine Zeile bzw einen Wert an der angegebenen Stelle im offenen Excel Dokument hinzufügt. Leider habe ich es nur geschafft beim Aufruf von Excel Werte zu übergeben.
procedure ExcelFuellen;
var Excel : Variant; begin Excel := CreateOleObject('Excel.Application'); Excel.Application.SheetsInNewWorkBook := 8; //Die 8 is die Anzahl der Sheets Excel.Workbooks.Add; Excel.Sheets.Add; //einen neuen Sheet hinzufügen Excel.Sheets[1].Name := 'DP Sheet'; //Hierbei ist 1 das erste Sheet 2 das zweite usw. Excel.Visible := true; Excel := unassigned; // Frage: was bedeutet das? end; Ist dies auch anders möglich? Danke |
Re: StringGrid & Excel
Hallo BarcB;
Unter TForm die Variable deklarieren:
Delphi-Quellcode:
Und dann einfach unter ButtonClick schreiben:
private
{ Private-Deklarationen } public { Public-Deklarationen } Excel: Variant;
Delphi-Quellcode:
Bis bald Chemiker
procedure TForm1.Button2Click(Sender: TObject);
begin Excel.Worksheets['Tabelle1'].Activate; Excel.cells[10,20]:= 'Testausgabe'; end; |
Re: StringGrid & Excel
Zitat:
Bei einer "richtigen" Klasse würde man Excel.free aufrufen. |
Re: StringGrid & Excel
Hallo,
wenn das aufrufende Programm geschlossen wird, sollt man Excel auch schließen. Für diesen Fall würde ich diesen Code empfehlen.
Delphi-Quellcode:
Bis bald Chemiker
procedure TForm1.FormDestroy(Sender: TObject);
begin if not VarIsEmpty(Excel) then begin Excel.DisplayAlerts:= FALSE; Excel.Quit; Excel := Unassigned; end; end; |
Re: StringGrid & Excel
sorry wurde ja beantwortet
|
Re: StringGrid & Excel
Hallo,
Delphi – Hilfe benutzen, „Unassigned“ markieren und STRG-F1 Taste drücken. Excel.Visible := true; Excel := unassigned; In dieser Kombination ist das Blödsinn, weil Du danach keinen Zugriff auf Excel mehr hast. Bis bald Chemiker |
Re: StringGrid & Excel
Super, dass funktioniert schonmal richtig gut!
Nun noch eine Frage: Wenn man aus Delphi Excel zum speichern bringen will "Excel.ActiveWorkbook.SaveAs('daten.xls');" dann speichert Excel die Datei im voreingestellten Speicherordner für Excel Dateien, bei mir Eigene Dateien. Ich möchte die Datei aber gern im selben Verzeichnis, wie in dem das Programm läuft, speichern. |
Re: StringGrid & Excel
Hallo,
mit Ordner:= ExtractFilePath(ParamStr(0)); Bis bald Chemiker |
Re: StringGrid & Excel
Vielen Dank erstmal, hat mir alles sehr geholfen!
Bis zu nächsten Frage! |
Re: StringGrid & Excel
Empfiehlt es sich die Excel Verbindung mit
Excel := CreateOleObject('Excel.Application'); aufzubauen oder lieber gleich die TExcelApplication Komponente nutzen? Wenn ich jetzt ein bestehendes Excel Dokument laden möchte, wie stellt man am besten die Verbindung zu diesem her? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz