Autor Beitrag
J.Borchert
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 150

WIN10
XE2 Professional
BeitragVerfasst: Sa 05.05.12 19:29 
Ich würde gern Daten aus einer StringList in die zweite Zeile einer Exceltabelle einfügen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
const xlCSV = $00000006;
      xlShiftDown = $FFFFEFE7;
var xls, xlw: Variant; i,j:integer;
begin if not FileExists(Form1.eAlteHotels.Text) then exit;
  xls := CreateOleObject('Excel.Application');
  try xls.DisplayAlerts := False;
    xlw := xls.WorkBooks.Open(Form1.eAlteHotels.Text);
    for i := 1 to 10 do if xls.Worksheets[i].Name = 'BUCH' then break;
    xlw.Worksheets[i].Select;
    for i := sp.Count-1 downto 0 do
      begin xlw.Rows(2).Insert(xlShiftDown, EmptyParam);
        for j := 1 to AnzStr(';', sp[i]) do xlw.Cells[2, j] := strx(';', sp[i], j);
      end;
  finally xlw.Save; xlw.Close; xlw := UnAssigned; xls.Quit; xls := UnAssigned;
  end;
end;


Bei der Zeile mit Insert passiert der Fehler. Wie muß es richtig heißen?

_________________
Wer immer macht was er schon kann, bleibt immer das, was er schon ist. "H.Ford"
Nathan
Hält's aus hier
Beiträge: 6
Erhaltene Danke: 1



BeitragVerfasst: Sa 05.05.12 19:40 
Benötigt die Funktion Insert nicht 3 Parameter? Bei dir sehe ich allerdings nur zwei. Kann auch sein, dass ich mich irre^^

Insert(SubString, ZielString, Index);

Für diesen Beitrag haben gedankt: J.Borchert
Singlepin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36
Erhaltene Danke: 4

WinXP
Delphi6 MySQL
BeitragVerfasst: Sa 05.05.12 21:30 
So ganz ohne Angabe des Fehlers, rate ich mal.

ausblenden Delphi-Quelltext
1:
xlw.Rows[2].Insert...					

Für diesen Beitrag haben gedankt: J.Borchert
J.Borchert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 150

WIN10
XE2 Professional
BeitragVerfasst: So 06.05.12 13:34 
Nathan irrt sich und Singlepin hat mich auf den rechten Weg gebracht:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
xlw.Worksheets[i].Select;
    for i := sp.Count-1 downto 0 do // die Zeilen meiner Liste von hinten an...
      begin xlw.ActiveSheet.Rows[2].Insert; // Zeile über Zeile 2 einfügen
            xlw.ActiveSheet.Rows[2].Interior.Color := clWhite; // Hintergrund weiß machen
        for j := 1 to 30 do // Inhalte übertragen aus Liste (CSV-Datei)
          xlw.ActiveSheet.Cells[2, j].value := strx(';', sp[i], j); // StrX gibt einzelne Strings der CSV-Zeile
             // Bei Excel ist's [Zeile Spalte], bei StringGrid [Spalte, Zeile] !!!
      end;


Danke für Eure Anregungen!

Habe auch noch hier abgekupfert:
www.swissdelphicente.../showcode.php?id=156
www.delphi-treff.de/...-automation-steuern/

_________________
Wer immer macht was er schon kann, bleibt immer das, was er schon ist. "H.Ford"