AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid & Excel

Ein Thema von BarcB · begonnen am 19. Feb 2008 · letzter Beitrag vom 2. Mär 2008
Antwort Antwort
Seite 1 von 3  1 23      
BarcB

Registriert seit: 27. Feb 2006
29 Beiträge
 
#1

StringGrid & Excel

  Alt 19. Feb 2008, 14:07
Ich habe diesen Post bereits gelesen:
http://www.delphipraxis.net/internal...ct.php?t=43640

bisheriger Code:
Delphi-Quellcode:
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;
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.
Ist dies auch anders möglich?


Danke
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: StringGrid & Excel

  Alt 19. Feb 2008, 19:06
Hallo BarcB;

Unter TForm die Variable deklarieren:

Delphi-Quellcode:
 private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    Excel: Variant;
Und dann einfach unter ButtonClick schreiben:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Excel.Worksheets['Tabelle1'].Activate;
  Excel.cells[10,20]:= 'Testausgabe';
end;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: StringGrid & Excel

  Alt 19. Feb 2008, 19:13
Zitat von BarcB:
 Excel := unassigned; // Frage: was bedeutet das?
Objekt löschen. Zumindest deinen Instanzzeige aufgeben
Bei einer "richtigen" Klasse würde man Excel.free aufrufen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: StringGrid & Excel

  Alt 19. Feb 2008, 19:29
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:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  if not VarIsEmpty(Excel) then
  begin
    Excel.DisplayAlerts:= FALSE;
    Excel.Quit;
    Excel := Unassigned;
  end;
end;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
BarcB

Registriert seit: 27. Feb 2006
29 Beiträge
 
#5

Re: StringGrid & Excel

  Alt 19. Feb 2008, 19:34
sorry wurde ja beantwortet
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: StringGrid & Excel

  Alt 19. Feb 2008, 19:40
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
BarcB

Registriert seit: 27. Feb 2006
29 Beiträge
 
#7

Re: StringGrid & Excel

  Alt 19. Feb 2008, 20:22
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.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: StringGrid & Excel

  Alt 19. Feb 2008, 20:54
Hallo,

mit

Ordner:= ExtractFilePath(ParamStr(0));

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
BarcB

Registriert seit: 27. Feb 2006
29 Beiträge
 
#9

Re: StringGrid & Excel

  Alt 19. Feb 2008, 21:33
Vielen Dank erstmal, hat mir alles sehr geholfen!
Bis zu nächsten Frage!
  Mit Zitat antworten Zitat
BarcB

Registriert seit: 27. Feb 2006
29 Beiträge
 
#10

Re: StringGrid & Excel

  Alt 29. Feb 2008, 18:42
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz