Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Makro in Excel ausführen

  Alt 30. Jun 2006, 23:48
Hallo go4hl80ve,

versuche es mal damit.

Getestet habe ich es mit der vom Bundeswahlleiter veröffentlichten .csv Datei "kerg2005.csv" (Wahlergebnisse je Wahlkreis).
Scheint zu funktionieren.
Für diese Datei würdest Du die Prozedur aufrufen mit

CSVtoStringGrid(stringgrid1,'kerg2005.csv',';');
Das kann man sicherlich noch optimieren.

Delphi-Quellcode:
PROCEDURE CSVtoStringGrid(sg:TStringGrid; dsn:string; delimiter:char);
var slist:TStrings; i,j,k,c,maxcols:integer; s:string;
begin
   slist:=TStringList.Create;
   slist.LoadFromFile(dsn);
   // maximale Anzahl der Spalten ermitteln
   maxcols:=0;
   for i:=0 to slist.count-1 do begin
      c:=0;
      s:=slist[i];
      for j:=1 to Length(s) do
         if s[j]=delimiter then inc(c);
      if c>maxcols then maxcols:=c;
   end;
   with sg do begin
      // Anzahl Zeilen und Spalten festlegen
      ColCount:=FixedCols+maxcols;
      RowCount:=FixedRows+slist.Count;
      // Daten in Stringgrid übertragen
      for i:=0 to slist.count-1 do begin
         s:=slist[i];
         c:=FixedCols;
         k:=1;
         for j:=1 to Length(s) do
            if s[j]=delimiter then begin
               cells[c,i+FixedRows]:=Copy(s,k,j-k);
               inc(c);
               k:=j+1;
            end;
         cells[c,i+FixedRows]:=Copy(s,k,Length(s)-k+1);
      end;
   end;
   slist.free;
end;
Angehängte Dateien
Dateityp: zip kerg2005_706.zip (52,2 KB, 5x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat