ich hab ein Dokument mit insgesammt 5 Pagestyles. Ich hab einen kleinen Druckdialog geschrieben der automatisch die Layouts zuweißt und auf 2 verschiedenen Druckern ausdruckt. Allerdings funktioniert das ganze nicht so wie ich mir das vorstelle da ich den akteullen Pagestyle nicht herausbekomme sondern immer den ersten verwendeten. Der ist allerdings im Querformat. Ich brauche aber einen automatischen Druck im Hochformat.
Sub setPaperOrientation(mode as String,optional sheet as Object)
Dim template as Object
' Vorlage Pagestyle auslesen
template = getCurrentPageStyle()
' Hochformat
if mode = "LANDSCAPE" then
template.isLandscape = true
'QuerFormat
elseif mode = "PORTRAIT" then
template.isLandscape = false
' Automatisch
elseif mode = "AUTO" then
if getLastRow(sheet) > 20 then
template.isLandscape = false
else
template.isLandscape = true
endif
end if
end sub
Function getCurrentPageStyle()
oPageStyles = oDoc.getStyleFamilies().getByName( "PageStyles" )
for i = 0 to oPageStyles.Count - 1
oStyle = oPageStyles.getByIndex( i )
if oStyle.isInUse() then
getCurrentPageStyle = oStyle
exit function
end if
next
end function
Dim cursor,mySeitenformat as Object
cursor = oDoc.GetCurrentController.ViewCursor
mySeitenformat=cursor.PageDescName
Basic Laufzeitfehler
Eigenschaft oder Methode nicht gefunden
Ich habs auch mit getter probiert. Es liegt vermutlich daran das ich unter Calc drucken möchte.
Im Objekt CurrentController konnte ich den Style namen nicht finden. Wenn ich den habe, hab ich gewonnen.