Hola Raúl,

Raul Huerta Navarro escribió:
> Hola
> 
> Estoy creando una macro que entre otras cosas quiero que genere un
> documento guardado como sólo lectura. Es decir, que automatice el
> proceso de ir al menú de Herramientas -> Opciones -> Seguridad de
> OpenOffice.org y active la casilla "Recomendar abrir el documento como
> sólo lectura".

el correlato de esa opción es una propiedad del documento, llamada
"LoadReadonly" [no documentada en la API, pero leyendo el código...
http://svn.services.openoffice.org/ooo/trunk/sw/source/ui/uno/SwXDocumentSettings.cxx].
A diferencia de algunas propiedades, esta *no* existe por defecto en el
documento, sino que es necesario instanciar el conjunto de propiedades
extras [v.
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Text/Settings#Creating_Document_Settings]:


Option Explicit

Sub Main
        Dim oDoc as Object
        oDoc = StarDesktop.loadComponentFromURL(_
                        "private:factory/swriter", "_blank", 0, Array() )
        
        oDoc.getText().getEnd().setString(_
                        "com.sun.star.document.Settings - LoadReadonly"  & 
chr(10) )
        
        
        Dim oSettings as Object
        oSettings = oDoc.createInstance( "com.sun.star.document.Settings" )     
        oSettings.setPropertyValue( "LoadReadonly", true )
        
        Wait 500
        oDoc.getText().getEnd().setString( _
                        "I will store it..." & chr(10) )
        
        Dim sURL$
        sURL = convertToURL( _
                        "home/ariel/tmp/LoadReadOnly.odt" )
        
        oDoc.storeAsURL( sURL, Array() )
        
        Wait 500
        oDoc.getText().getEnd().setString( _
                        "I will close it, and then load it again..." & chr(10) )
        oDoc.close( true )
        
        oDoc = StarDesktop.loadComponentFromURL( _
                        sURL, "_blank", 0, Array() )
End Sub



La parte importante es

Dim oSettings as Object
oSettings = oDoc.createInstance( "com.sun.star.document.Settings" )     
oSettings.setPropertyValue( "LoadReadonly", true )

donde oDoc es una referencia válida al modelo del documento.

Cualquier duda pregunta.


Saludos,
Ariel.


-- 
Ariel Constenla-Haile
La Plata, Argentina


"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a