Guido (email.it) ha scritto:
Buongiorno,
Ciao Guido
qualcuno mi da un dritta su come fare da macro la copia di uno stile
pagina,
ossia creare uno stile nuovo e copiare dentro tutte le testatine, e
campi delle testate.
Io uso una cosa del genere per copiare una tab fuori dal documento,
completa di stile di pagina.
Prima registro lo stile della pagina usando "Copy_PageStyle".
Poi duplico la tab come nuovo doc e "ci" copio dentro lo stile di pagina
usando "Write_PageStyle".
SUB Copy_PageStyle
oSheet = ThisComponent.Sheets.getByName(_
ThisComponent.currentcontroller.activesheet.name)
sStile_Pag = oSheet.PageStyle
'registra lo stile corrente della Sheet
oDesktop = createUnoService( "com.sun.star.frame.Desktop" )
oController = oDesktop.CurrentFrame.Controller
oDocument = oController.Model
oStyleFam = oDocument.StyleFamilies
oTablePageStyles = oStyleFam.getbyName("PageStyles")
oAktPage = oTablePageStyles.getByname(sStile_Pag)
aProperties = oAktPage.PropertySetInfo.Properties
END SUB
SUB Write_PageStyle
oSheet = ThisComponent.Sheets.getByName(_
ThisComponent.currentcontroller.activesheet.name)
oDocument = thiscomponent
oStyleFam = oDocument.StyleFamilies
oTablePageStyles = oStyleFam.getbyName("PageStyles")
oCpyStyle=oDocument.createInstance("com.sun.star.style.PageStyle")
if sStile_Pag <> "Default" then
oTablePageStyles.insertByName(sStile_Pag, oCpyStyle)
aProperties = oAktPage.PropertySetInfo.Properties
For i = LBound(aProperties) to UBound(aProperties)
sX = aProperties(i).Name
If oAktPage.getPropertyState(sX)=_
com.sun.star.beans.PropertyState.DIRECT_VALUE Then
vTmp = oAktPage.getPropertyValue(sX)
oCpyStyle.setPropertyValue(sX, vTmp)
EndIf
Next i
oSheet.PageStyle = sStile_Pag
'imposta lo stile duplicato come corrente
end if
END SUB
Mi spiace ma non รจ molto commentata e inoltre l'ho ripulita un po' e
tolto le indentazioni... spero di non aver fatto pasticci.
Ciao
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]