Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DElphi<>Excel ?? (https://www.delphipraxis.net/47966-delphi-excel.html)

Vader 18. Jun 2005 16:05


DElphi<>Excel ??
 
hallo,

ist das möglich ??

ich möchte auf einen wert im excel zugreifen, wenn der wert in der zelle im excell
größer als 85 ist sollte in meinen delphiprogramm eine ampel auf grün schalten !!!

geht das und wie ???


mfg vader

fkerber 18. Jun 2005 16:16

Re: DElphi<>Excel ??
 
HI!

Jepp, das geht.
Such mal nach den Server-Komponenten bzw. OLE-Automation.
Such auch mal im Forum nach Excel.

Ciao Frederic

Vader 19. Jun 2005 07:59

Re: DElphi<>Excel ??
 
hallo,

hab mich einmal in der suche schlaugemacht über excel und oleserver,
hab da ein beispiel gefunden das genau das wäre was ich suche, aber
wenn ich das prog kompilieren will kommt die fehlermeldung beim
code öffnen der exceldatei ??

Delphi-Quellcode:
procedure TForm1.btnOpenFileClick(Sender: TObject);
var
  FExcelFilename : OleVariant;
begin
  FExcelFilename:=ExtractFilePath(ParamStr(0))+'Quelle.xls';
  ExcelApplication.Workbooks.Open(FExcelFilename,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,FLCID);
  ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Item['Quelle.xls']);
  ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet);

  btnReadCell.Enabled:=True;
end;

Delphi-Quellcode:
[Warnung] Unit1.pas(93): Symbol 'Range' ist plattformspezifisch
[Fehler] Unit1.pas(104): Undefinierter Bezeichner: 'EmptyParam'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

mfg vader

fkerber 19. Jun 2005 08:13

Re: DElphi<>Excel ??
 
Hi!

Hast du Variants in den Uses stehen?

Ciao Frederic

Vader 19. Jun 2005 09:05

Re: DElphi<>Excel ??
 
hallo,

das vorherige problem hab ich schon gelöst, aber es gibt ein neues
und zwar wenn ich diese exceldatei öffnen will c:\test.xls kommt die fehlermeldung:


kann diese datei nicht finden, überprüfen sie die rechtschreibung und speicherort


Delphi-Quellcode:
procedure TForm1.btnOpenFileClick(Sender: TObject);
var
  FExcelFilename : OleVariant;
begin
  FExcelFilename:=ExtractFilePath(ParamStr(0))+'c:\test.xls';
  ExcelApplication.Workbooks.Open(FExcelFilename,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,FLCID);
  ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Item['c:\test.xls']);
  ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet);

  btnReadCell.Enabled:=True;
end;
mfg

fkerber 19. Jun 2005 09:14

Re: DElphi<>Excel ??
 
Hi!

Dann sage Delphi auch, dass du diese Datei öffnen willst.
Bei dir steht im Moment 'PfadzurAnwendungc:\test.xls'
Diese Datei gibt es wohl nicht

==> Lass den Teil mit ExtractFilePath(paramstr(0)) weg


Ciao Frederic

fafnir 19. Jun 2005 09:20

Re: DElphi<>Excel ??
 
Hallo!

Das Problem mit der nicht auffindbaren Testdatei liegt wohl hieran:

Beschreibung (aus der Delphi-Hilfe!)

ParamStr gibt den in Index angegebenen Kommandozeilenparameter zurück. Ist der Wert von Index größer als ParamCount, wird ein leerer String zurückgegeben. Wird beispielsweise für Index der Wert 2 angegeben, liefert ParamStr den zweiten Parameter zurück.

Unter Windows gibt ParamStr(0) den Pfad und den Dateinamen des ausgeführten Programms zurück (z.B. C:\TEST\MYPROG.EXE).

Wenn du über ExtractFilePath den Pfad herausfilterst, darfst du nur noch den Dateinamen hinzufügen!


Gruß
Fafnir

Vader 19. Jun 2005 09:33

Re: DElphi<>Excel ??
 
wie muß ich das abändern das ich auch auf einen anderen speicherort eine
exceldatei öffnen kann zb. c:\ alle.xls?


Delphi-Quellcode:
procedure TForm1.btnOpenFileClick(Sender: TObject);
var
  FExcelFilename : OleVariant;
begin
  FExcelFilename:=ExtractFilePath(ParamStr(0))+'alle.xls';
  ExcelApplication.Workbooks.Open(FExcelFilename,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,FLCID);
  ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Item['alle.xls']);
  ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets.Item['Tabelle1'] as _WorkSheet);

  btnReadCell.Enabled:=True;
end;

mfg vader

[edit=alcaeus]Delphi-Tags eingefuegt. In Zukunft bitte selbst machen. Danke :) Mfg, alcaeus[/edit]

fkerber 19. Jun 2005 09:51

Re: DElphi<>Excel ??
 
Hi!

Ich habe doch oben geschrieben, was du weglassen sollst:


Delphi-Quellcode:
FExcelFilename:='c:\alle.xls';
Ciao Frederic

Vader 19. Jun 2005 10:24

Re: DElphi<>Excel ??
 
Herzlichen Dank für Deine Hilfe, jetzt funzt's

mfg vader

Vader 19. Jun 2005 19:07

Re: DElphi<>Excel ??
 
hallo,


eine frage: bei diesem beispiel lege ich die zelle mittles spineditwert fest zb 1 zeile 1 spalte,
den wert schreibt dann in das editfeld

ich möchte jetzt mehrere werte aus zellen in mehrere editfelder auslesen zb. zeile1 spalte1,
zeile2 spalte1, zeile3 spalte1, aber ich möchte das ohne spinedits festlegen, denn die werte
die ich aus der tabelle1 auslese sind immer aus den gleichen zellen wie zeile1 spalte1,
zeile2 spalte1, zeile3 spalte1

wie muß ich diesen code dann umschreiben ??

Delphi-Quellcode:
procedure TForm1.Werteauslesen1Click(Sender: TObject);
begin
Edit1.Text:=ReadCell(SpinEdit1.Value,SpinEdit2.Value);
Edit2.Text:=ReadCell(SpinEdit3.Value,SpinEdit4.Value);
Edit3.Text:=ReadCell(SpinEdit5.Value,SpinEdit6.Value);
end;



function TForm1.ReadCell(Row, Col: Integer): String;
var
  CellRange : Range;
begin
  CellRange:=ExcelWorksheet1.Cells;
  Result:=CellRange.Item[Row,Col].Value;
end;


mfg vader


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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