![]() |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
(kommt mir in Teilen bekannt vor??)
a) Du solltest "Excel" definieren:
Delphi-Quellcode:
b) Excel zählt von 1..Col.Count wenn Du nicht die letzte Spalte/Zeile ignorieren willst, solltest Du das korrigieren.
Excel : variant;
c) Ich bin mir nicht mehr sicher, aber es sollte wohl
Delphi-Quellcode:
heißen?
Excel.activworkbook.
d) Du solltest Dein Stringgrid an die Größe des Excel-Sheets anpassen. Das ist, was ich auf die Schnelle gesehen habe. Gruß K-H P.S. Polydrow ? |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
ich habe ein feld text und vorhandener excel datei.meine ziel ist :wenn ich etwas in edit feld schreiben,soll mein program danach in excel datei suchen und mir eine z.b (showmessage) liefern
|
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Zitat:
ich habe Excel : variant; als global definiert |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Zitat:
Dieser Schnippsel könnte Dir helfen:
Delphi-Quellcode:
oExcel.Cells.Find('Suchbegriff', oExcel.Cells.Item[1,1], xlValues, xlWhole, xlByColumns, xlNext, False, False);
|
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Zitat:
was sind: (xlValues, xlWhole, xlByColumns, xlNext) bitte??? |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Zitat:
![]() |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Dieser Schnippsel functioniert,aber es sucht nicht in alle columns.
wenn ich es für maxcol=2 und maxrow=2 gemacht er hat mir vier mal showmessage gezeigt?? könnte jemand mir hilfen,wo meine Fehler ist??
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var WorkBook, sheet: OleVariant; X, Y: Integer; maxcol, maxRow: Integer; openDialog: TOpenDialog; begin if openDialog.Execute then begin try excel := CreateOleObject('Excel.Application'); except ShowMessage('Excel konnte nicht gestartet werden !'); exit; end; excel.Visible := true;{ für die testphase sinnvoll } excel.workbooks.open('C:\Users\qatrangi\Desktop\OSM neu\Marker1.xlsx'); excel.activeworkbook.sheets[1].activate; maxcol := excel.columns.count; maxRow := excel.rows.count; for X := 1 to maxcol do begin for Y := 1 to maxRow do begin if edit1.text = excel.cells.Item[y, x].Value then begin excel.Cells.Find(edit1.text,excel.Cells.Item[y,x], xlValues, xlWhole, xlByColumns, xlNext, False, False); excel.cells[y,x].select; showmessage('yes') ; exit; //polydrow(Edit1.Text); // StringGrid1.cells[X - 1, Y - 1] := excel.cells.Item[X, Y].Value end else showmessage('no'); end; end; excel.workbooks.close; excel := Unassigned; end; end; |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Du hast 2 Spalten und 2 Zeilen.
2 x 2 = 4 Die gehst alle 4 Felder in excel durch. Wenn du einen Treffer hast, machst du ein Showmessage('yes'). Hast du keinen Treffer, machst du Showmessage('no'). Bei 4 Feldern machst du dann 4 mal Showmessage. Das Programm macht also genau das, was du programmiert hast. Demnach liegt kein Fehler vor. Zitat:
Vielleicht solltest du mal den Debugger in Delphi verwenden, damit du siehst, was in deinem Programm passiert. |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Zitat:
xlValues: Bei berechneten Feldern soll im Ergebnis und nicht in der Formel gesucht werden xlPart/xlWhole: ist sowas wie das "ganze Wörter" beim Suchen in Texteditoren (nur wenn ganze Zelle oder wenn Teil von Zelle) xlNext: vorwärs oder rückwärs suchen, also vor oder nach der aktuellen Zelle ![]() ![]() ![]() ![]() ... |
AW: Ein Edit.Text in eine vorgefertigte Excel Datei suchen.
Die gleichen Links (oder sind es dieselben?) in etwas "übersetzter" Form:
![]() ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 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