wp_xyz hat geschrieben:Ah, dann nimmst du vielleicht die Version 1.6.2 - seh gerade, dass das Suchen da noch nicht implementiert ist, im Trunk dagegen schon.
Falls du bei 1.6.2 bleiben willst, musst du die betreffenden Zellen durchlaufen und prüfen, ob der Zellinhalt dem Suchtext entspricht. Etwa so:
Code: Alles auswählen
function SucheZelle(Inhalt: String; out GefundenInZeile, GefundenInSpalte: Cardincal): Boolean;
var
sheet: TsWorksheet;
begin
Result := true;
for GefundenInZelle := 0 to sheet.GetLastRowIndex(true) do
for GefundenInSpalte := 0 to sheet.GetLastcolIndex(true) do
if sheet.ReadCellAsText(GefundenInZeile, GefundenInSpalte) = Inhalt then
exit;
GefundenInSpalte := Cardinal(-1);
GefundenInZeile := Cardinal(-1);
Result := false;
end;
Achtung: Das ist nicht getestet, weil ich mir gestern mein fpspreadsheet "zer-bessert" habe und sourceforge mal wieder down ist, so dass ich mir die Version vom Netz nicht laden kann.
Darauf muss man auch erstmal kommen. Ich hab jetzt aber keine Lust wieder mit den Package mist mich rum zu ärgern. Hab es jetzt so ähnlich gelöst wie von dir Vorgeschlagen. Funktioniert soweit auch, nur ist es halt nichts ganz so hübsch.
Dank dir!
Michl hat geschrieben:Ich habe das nochmal hier probiert. Den oben genannten Fehler bekomme ich nur, wenn ich das Datum nicht im Format ftDate erstelle.
Möglicherweise liegt das aber auch daran, dass wir unterschiedliche Voraussetzungen haben. Getestet habe ich: Windows 7, 32bit Lazarus Trunk/FPC Trunk und auch 32bit Lazarus 1.6/FPC 3.0.0. Im Testprojekt nutze ich TableLevel 7:
http://wiki.freepascal.org/Lazarus_Tdbf ... TableLevel
Wirklich komisch, bei mir scheint alles etwas verrückt zu spielen

Ich probier mich später nochmal daran. Vielleicht hab ich ja etwas übersehen. Auch dir schon mal besten Danke!
Zwei Fragen hätte ich jetzt aber noch
1. Ich versuche mehrere Strings miteinander zu verknüpfen und diese in ein Feld in der Excel-Datei zu schreiben. Dazu nutze ich folgenden Code:
Code: Alles auswählen
MyWorksheet.WriteCellValueAsString(5,16,'-'+Panel_AP1_Zeit.caption+Panel_AP1_Zeit1.caption+Panel_AP1_Zeit2.caption);
Als Ergebnis wird in die Excel-Datei aber immer nur das Minus ausgegeben. Der String wird einfach nicht verknüpft?
Was mache ich falsch?
2. Ich kann keine .xlsm Dateien einlesen. Wenn ich diese Excel-Datei im Format .xls abspeicher funktioniert aber das einlesen.
Code: Alles auswählen
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls, Menus, DbCtrls, DBGrids, ComCtrls, Calendar, LazUTF8,
fpsTypes, fpspreadsheet, xlsbiff8, fpsutils, fpsallformats, DateTimePicker;
type
TsSpreadsheetFormat = (sfExcel2, sfExcel5, sfExcel8, sfExcelXML, sfOOXML,
sfOpenDocument, sfCSV, sfHTML, sfWikiTable_Pipes, sfWikiTable_WikiMedia, sfUser);
Habe aber eigentlich die fpsallformats mit angefügt. Wo liegt hier mein Fehler?
Danke euch!