Aktuelle Seitenformatierung des Dokuments mit vordefinierten Einstellungen automatisch ignorieren oder überschreiben LibreOffice

Aktuelle Seitenformatierung des Dokuments mit vordefinierten Einstellungen automatisch ignorieren oder überschreiben LibreOffice

Beim Öffnen eines von jemand anderem erstellten Dokuments möchte ich, dass die Ränder automatisch auf 0,4 cm, die Seitenausrichtung auf Querformat und die Seitengröße auf A3 eingestellt werden.

Mein Vater bekommt wöchentlich eine Tabelle per E-Mail zugeschickt und druckt sie aus. Um sie auf eine Seite zu bringen, wendet er diese Einstellungen an, was ziemlich mühsam ist. Ich dachte, das muss doch schneller gehen!

Ich habe versucht, mit diesen Einstellungen eine neue Standardvorlage zu erstellen, aber das funktioniert nur für ein neues, leeres Dokument. Ich habe versucht, einen Stil zu erstellen, um diese Einstellungen schnell anzuwenden, aber mir ist aufgefallen, dass diese Stile dokument-/vorlagenspezifisch (?) sind und daher beim Öffnen eines anderen Dokuments nicht angezeigt werden.

Hat jemand eine Idee, wie ich das machen kann? Danke =]

Antwort1

Eine Möglichkeit wäre, die Seitenparameter mit einem Makro festzulegen und das Makro in einer Bibliothek zu speichern, auf die alle Tabellenblätter zugreifen können. Das Makro könnte dem LibreOffice-Menü zugewiesen werden. Es wäre nicht automatisch, könnte aber durch Klicken auf den Menüeintrag in der Tabelle, die Sie ändern möchten, ausgeführt werden.

Dieses Makroin einem OpenOffice-Forum ist das Beste, was ich finden konnte. Es scheint in LibreOffice zu funktionieren.

sub formatpage()
rem from http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=42863
rem original by GWS with addition by Villory
rem modified for A3 and 0.4 cm margin
Dim sS      as String     '$     'Style name
Dim oStyle    as Object   'The current page style

pageStyles = thisComponent.StyleFamilies.getByName("PageStyles")
page = pageStyles.getByName("Default")

REM A3
page.width=29700
page.height=42000

REM SET MARGINS LEFT, RIGHT, TOP, BOTTOM = .4 cm"
page.LeftMargin = 400
page.RightMargin = 400
page.TopMargin = 400
page.BottomMargin = 400

REM Set Page Orientation TO LANDSCAPE
Dim printerOption(0) As New com.sun.star.beans.PropertyValue
printerOption(0).Name = "PaperOrientation"
printerOption(0).Value = com.sun.star.view.PaperOrientation.LANDSCAPE
thisComponent.Printer = printerOption()

sh=ThisComponent.Sheets.getByIndex(0)
sh.PageStyle=("Default")

end sub

verwandte Informationen