Hallo, ich habe nach Möglichkeiten gesucht, damit die Arbeit mit PageSetup schneller geht, aber habe beim Übertragen nach Delphi Probleme.
Code:
Sheets.Select
Sheets("Tabelle1").Activate
With ActiveSheet.PageSetup
.LeftHeader = ""
...
Damit selektiert man alle Tabellen in der Arbeitsmappe und ändert von allen gleichzeitig die Eigenschaft PageSetup. Dies funktioniert als Excel-Makro.
Nur in Delphi ändert er es nur von der ersten und ich weiß nicht wieso.
Code:
wb.Sheets.Select;
wb.Sheets[1].Activate;
Page := wb.ActiveSheet.PageSetup;
Page.LeftHeader := '';
...
Dies selektiert zwar alle Tabellen, wie man dann sieht, aber ändert es trotzdem nur von der ersten. Habe ich beim übertragen ein Fehler gemacht?
Oder gibt es eine andere Möglichkeit von allen Tabellen PageSetup gleichzeitig zu ändern? Außer natürlich von allen Tabellen per Schleife das zu ändern, was langsam ist.
Im Internet hatte ich noch etwas anderes gefunden, was im Excel zwar geht, aber bei Delphi nicht.
Code:
wb.Sheets.Select
xls.ExecuteExcel4Macro('"Page.Setup("""",""&L&8&F, &A, &D"",1.43,0.38,0.47,0.47,False,False,True,False,1,9,True,,,,,0.27,0.27,False,False)"');
xls entspricht Application aus Excel.
Dies ist eine Excel4 Makro. Es funktioniert leider nur so nicht in Delphi, aber in Excel schon. Und ist es überhaupt sinnvoll was älteres zu nehmen?