Entwickler-Ecke

Sonstiges (Delphi) - Excel Datei -> Seite Einrichten -> Anpassen


Bronstein - Di 12.01.10 14:54
Titel: Excel Datei -> Seite Einrichten -> Anpassen
Hallo,
ich würde gerne den Befehl "Datei -> Seite Einrichten -> Anpassen" an Excel aus meinem Delphi Programm aus übergeben:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure TForm3.Button6Click(Sender: TObject);
var
  i, z:Integer;
  Excel:Variant;
begin
    Excel := CreateOleObject('Excel.Application');
    Excel.Workbooks.Add;
    Excel.Visible:= true;

    //Spaltenüberschriften übergeben
    Excel.Cells[11].Value :='bla';

    Excel.ActiveSheet.PageSetup.LeftMargin := 0.5;
    Excel.ActiveSheet.PageSetup.RightMargin := 0.5;
    Excel.ActiveSheet.PageSetup.TopMargin := 0.5;
    Excel.ActiveSheet.PageSetup.BottomMargin := 0.5;
    Excel.ActiveSheet.PageSetup.HeaderMargin := 0.5;
    Excel.ActiveSheet.PageSetup.FooterMargin := 0.5;
    Excel.ActiveSheet.PageSetup.PrintHeadings := False;
    Excel.ActiveSheet.PageSetup.PrintGridlines := False;
    //Excel.ActiveSheet.PageSetup.PrintQuality := 600;
    Excel.ActiveSheet.PageSetup.CenterHorizontally := False;
    Excel.ActiveSheet.PageSetup.CenterVertically := False;
    Excel.ActiveSheet.PageSetup.Orientation := 2;
    Excel.ActiveSheet.PageSetup.Draft := False;
   // Excel.ActiveSheet.PageSetup.PaperSize := 8;
    Excel.ActiveSheet.PageSetup.Zoom := 100;
end;


Kann den Befehl aber nicht finden. Hier der VBA Code, den ich mit Akro aufzeichne bekomme:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
    Range("A1:L13").Select
    Range("L13").Activate
    With ActiveSheet.PageSetup
        .PrintTitleRows = "$1:$1"
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(6.94444444444444E-03)
        .RightMargin = Application.InchesToPoints(6.94444444444444E-03)
        .TopMargin = Application.InchesToPoints(6.94444444444444E-03)
        .BottomMargin = Application.InchesToPoints(6.94444444444444E-03)
        .HeaderMargin = Application.InchesToPoints(6.94444444444444E-03)
        .FooterMargin = Application.InchesToPoints(6.94444444444444E-03)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHor
        .Orientation = xlLaizontally = False
        .CenterVertically = Falsendscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With


JoelH - Di 12.01.10 15:53

hmm,

vielleicht verstehe ich dich ja falsch. Aber das ist eben dieser Befehl.

Alle die aufgezeichneten Einstellungen werden über diesen Dialog gesteuert.

Ich glaube du suchst nur die Einstellung zum anpassen auf eine Seite.

Das wird über die beiden Parameter gesteuert


Quelltext
1:
2:
3:
4:
With ActiveSheet.PageSetup
        .FitToPagesWide = 1
        .FitToPagesTall = 1
End With