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]

Rispondere a