Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Mehrere Excel-Dateien bearbeiten

  Alt 7. Dez 2011, 08:51
Switche zwischen den gleichzeitig geöffneten Dateien (Workbooks) zu dem jeweils darin benötigten Arbeitsblatt (Worksheet) wie folgt:
Code:
Procedure ActivateWorkSheet(BookIndex, SheetIndex: Integer);
begin
  fExcel.WorkBook [BookIndex].Activate;
  fExcel.WorkSheets [SheetIndex].Activate;
end;
und bearbeite das dadurch jeweils gerade aktivierte Arbeitsblatt.
Wobei die Exelianer nicht so gerne auf diese Art arbeiten, sprich immer wieder Workbooks, selecten und aktivieren und zwischen denen hin und her springen oder kopieren (zumindes was ich so an VBA Code kenne).
Besser ist es da Objektvariablen anzulegen und dann direkt Werte aus Zellen auszulesen oder zuzuweisen, ala:

Delphi-Quellcode:
var
  w1:Variant; //Variablen für Workbooks
  w2:Variant;
  ws1:Variant; //Variablen für Worksheets
  ws2:Variant;
  //Kenn das nur direkt aus VBA, kann sein, das in Delphi die Variablen
  //vom Typ Object sein müssen. In VBA reicht Variant.
begin
  w1:=fExcel.Workbooks[1]; //Wenn Workbooks offen nur zuweisen,
  w2:=fExcel.Workbooks.Add(Pfadname); //sonst öffnen (oder war es mit .open?)
  ws1:=w1.Workshhets[4];
  ws2:=w2.Workshhets[4];

  //Machwas
  ws1.cells[1,1].Value := ws2.Cells[1,1].Value;
end
Ralph
  Mit Zitat antworten Zitat