AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zahlenwerte an Excel übergeben (Zellen ansprechen)
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlenwerte an Excel übergeben (Zellen ansprechen)

Ein Thema von Mucki · begonnen am 18. Nov 2006 · letzter Beitrag vom 4. Dez 2006
Antwort Antwort
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#1

Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 18. Nov 2006, 19:11
Hallo!
Ich habe eine Frage:

Wie kann ich Zahlenwerte aus Delphi, in Excel übergeben, d.h. Zellen ansprechen ?

Ich weiss nur soviel, dass man OLE verwenden muß.
O.K. damit kann ich ein Excel-Arbeitsblatt öffnen.
Aber wie bekomme ich meine Werte in dieses Arbeitsblatt.
Im Forum habe ich nichts gefunden (bzw. hab nichts verstanden).
An einen StrinGrid habe ich sie bereits übergeben können, aber wie geht das mit Excel?
Wie kann ich die Zellen ansprechen oder muß ich vorher noch etwas beachten...

Wäre nett wenn jemand mir weiter helfen könnte.

Gruß Mucki
Alles bleibt anders !
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

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

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 19. Nov 2006, 14:23
Hallo Mucki,

vielleicht hilft dir das weiter:


Delphi-Quellcode:
unit excelzahlUnit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
var Excel : Variant;
{$R *.dfm}
{------------------------------------------------------------------------------}
{ EXCEL starten                                                                }
{------------------------------------------------------------------------------}
function f_EXCEL (var m_EXCEL : Variant): boolean;
begin
   try
    m_EXCEL := CreateOleObject('Excel.Application');
    Result := TRUE;
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Result := FALSE;
    Exit
  end;
end;



procedure TForm1.Button1Click(Sender: TObject);
var zahl : string;
begin
  if f_Excel(Excel)then // Excel startet
    ShowMessage('MSExcel ist erfolgreich gestartet worden!!')
   else
     ShowMessage('MSExcel konnte nicht gestartet werden!!');

  Excel.Visible := TRUE; // TRUE = Excel sichtbar.

  Excel.Application.Workbooks.Add; // Neue Arbeitsmappe öffnen in EXECL


  Excel.Range['A1'].Select; {Auf die erste Zelle setzen }
  Excel.Worksheets ['Tabelle1'].Activate;

  zahl:= inttostr(100);
  Excel.cells[1, 1].Value := zahl; // Bei StringGrid wär der Index [0,0]
  
  Excel.Workbooks.Close; // Excel wieder schliessen.

end;

end.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Mucki
Mucki

Registriert seit: 23. Jul 2006
82 Beiträge
 
Delphi 5 Standard
 
#3

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 19. Nov 2006, 17:26
Hmmm ja das muß ich mal ausprobieren!

Danke Chemiker.
Alles bleibt anders !
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#4

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 26. Nov 2006, 11:14
Genau sowas habe ich gesucht, aber ich würde das gerne habe das excel das im hintergrund alleine speichert unter einem vorgegeben Namen, also ohne das dazu eine Abfrage usw... kommt. Leider bekomme ich, wenn ich Excel. eingebe keine Hilfe um zusehen welche Möglichkeiten ich habe, sonst hätte ich das sicherlich alleine hinbekommen, ich hoffe das ihr mir da weiterhelfen könnt.
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 26. Nov 2006, 11:55
das problem das mir keine hilfe angezeigt wird hab ich auch, mir wird auch immer alles als fehler angezeigt, aber compelieren tut ers trotzdem ohne probleme...
würd mich aber ehrlich gesagt auch mal interessieren woran das liegt das da keine hilfe angezeigt wird...

hier mal ein bsp. aus nem anderen beitrag wie ich das mit excel gemacht hab...

KLICK MICH
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#6

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 26. Nov 2006, 14:41
hmm, hab mir das angeschaut aber komme da irgendwie nicht weiter....ich möchte das der das automatisch abspeichert aber Excel.Close(true, 'C:\test1.xls', False); scheint da wohl falsch zu sein, echt schade das man die bei Excel. keine weitere Hilfe kommt.
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 4. Dez 2006, 20:15
Hallo Mucki, Brueckenhauer und Andidreas,

die Hilfe die Ihr braucht steht unter Visual Basic-Editor, und da unter Hilfe nachschauen.

Unter Menü-Punkt: Extras
Makro
Visual Basic-Editor


Um an die Syntax der Excel-Befehl zu kommen kann es sinnvoll sein sie zuvor als Makro in Excel aufzeichnen zu lassen und anschliessend in Delphi umzusetzen.

Für das direkte Abspeichern könnte man so vorgehen (Das funktioniert aber nur, wenn die Datei noch nicht vorhanden ist.

Delphi-Quellcode:
procedure ExcelAbspeichern (m_Excel: Variant; ExcelDateiName: String);
begin

  m_Excel.ActiveWorkbook.Saved:= FALSE; // Excel schliessen ohne Nachfragen

  m_Excel.ActiveWorkbook.Close (saveChanges:= TRUE, FileName:= ExcelDateiName);
  m_Excel.Quit;
end;
Das UP wird dann so aufgerufen:
ExcelAbspeichern (Excel, 'c:\Test Excel Abspeichern.xls'); Die Anweisung : " Excel.Workbooks.Close;" muss dann natürlich aus dem Programm gelöscht werden.


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#8

Re: Zahlenwerte an Excel übergeben (Zellen ansprechen)

  Alt 4. Dez 2006, 20:38
Ich hätte auch ne Unit zum nativen schreiben von Excel-Dateien im Angebot. Vorteil: Excel muss auf dem Zielrechner nicht installiert sein, Nachteil: Nur Prozeduren zum Schreiben von Flaots, Integers und Strings. Keinerlei Formatierungsmöglichkeiten oder sonstiges.
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:17 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