Einzelnen Beitrag anzeigen

Werwurm

Registriert seit: 21. Apr 2003
Ort: Bremen
71 Beiträge
 
Delphi 2009 Professional
 
#1

Anzahl der Seiten in Excel festlegen

  Alt 9. Mär 2008, 00:33
Hallo,

ich bin am verzweifeln.
Aktuell hänge ich an einem Datenexport nach Excel.
Alles funktioniert soweit, jedoch kann ich nicht die Anzahl der genutzten Seiten festlegen.
Sowohl hier im Forum, über Google und auch im Excel Makro Rekorder stoße ich immer wieder auf die Zeile Excel.ActiveSheet.PageSetup.FitToPagesWide := 1; Jedoch passiert hierbei gar nichts. Ich bekomme keine Fehlermeldung vom Programm, aber auch in Excel passiert nichts (sichtbares).


Nun weiß ich nicht mehr weiter.

Zur Veranschaulichung hier ein kurzer Auszug aus dem Code:

Delphi-Quellcode:
procedure Export_nach_Excel;
Const
  xlBottom = -4107;
  xlLeft = -4131;
  xlRight = -4152;
  xlTop = -4160;

Var Excel: Variant;
    zeile, spalte, i, j, k, Spieler_Anz, Spiel_Anz, farbe : Integer;
    WBobj: olevariant;
    Dateiname, s : String;
begin
  try
    Screen.Cursor:=crHourGlass;
    Excel := CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Screen.Cursor:=crDefault;
    exit;
  end;

  Excel.Visible := False;
  WBobj:= Excel.Application.Workbooks.Add;
  Excel.Worksheets['Tabelle1'].Activate;
  Excel.Worksheets['Tabelle1'].Name:='Einzel';
  Excel.Worksheets['Tabelle2'].Delete;
  Excel.Worksheets['Tabelle3'].Delete;
  Dateiname:=DM.GetSpecialFolder(CSIDL_PERSONAL);
  If NOT Start.DirExists(Dateiname+'\Mannschaft\') then Start.create_dir(Dateiname+'\Mannschaft\');
  Dateiname:=Dateiname+'\Mannschaft\Statistik_'+FormatDateTime('yyyymmdd_hhmm', Now);

  //Excel Zellen werden gefüllt
   .
   .
   .
   .

  //Formatieren des Blattes
  Excel.ActiveSheet.PageSetup.PaperSize := 9; //A4

  Excel.ActiveSheet.PageSetup.Orientation := 2; //Landscape

  // Fit to X page(s) wide by Y tall
  Excel.ActiveSheet.PageSetup.Zoom := False;
  Excel.ActiveSheet.PageSetup.FitToPagesWide := 1;
  Excel.ActiveSheet.PageSetup.FitToPagesTall := 3;
  WBobj.Close (saveChanges:=True, FileName:=Dateiname);
  Excel.Quit;
  Screen.Cursor:=crDefault;

Weiß jemand Rat?
Gruß
Marcus
  Mit Zitat antworten Zitat