Friday, May 13, 2005

[MS Word] a PageSetup.PaperSize megvaltoztatasa atallitja a PageSetup.Orientation-t is

Ha kodbol szeretne az ember elfektetni a papirjat es beallitani a papirmeretet is, akkor vigyazni kell a sorrendre, mert a PageSetup.PaperSize megvaltoztatasa automatikusan atallitja a PageSetup.Orientation-t wdOrientPortrait-ra (0), tehat ha valaki azt irja, hogy:

doc.Sections(1).PageSetup.Orientation = wdOrientLandscape
doc.Sections(1).PageSetup.PaperSize = wdPaperA4

akkor ugyanugy allo papirja lesz, mintha el se fektette volna. Ezert jobb a forditott sorrend:

doc.Sections(1).PageSetup.PaperSize = wdPaperA4
doc.Sections(1).PageSetup.Orientation = wdOrientLandscape

Nem hiszem, hogy ez lenne a normalis mukodes. Inkabb valami hibanak tunik. Igy mukodik a 7-es Word-ben es a 11-esben is.

Ezzel a macro-val ki lehet probalni:

Sub ChangeOrientation()

Dim doc

Set doc = Documents.Add()
Call MsgBox(doc.Sections(1).PageSetup.Orientation)
doc.Sections(1).PageSetup.Orientation = wdOrientLandscape
Call MsgBox(doc.Sections(1).PageSetup.Orientation)
doc.Sections(1).PageSetup.PaperSize = wdPaperA4
Call MsgBox(doc.Sections(1).PageSetup.Orientation)

End Sub