On Thu, 13 Nov 2008 01:32:28 -0600, Raul Huerta Navarro
<[EMAIL PROTECTED]> wrote:
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".
Estoy un pelín atascado, he probado a grabar la macro para que generara
el codigo pero no funciona, y he buscado por internet pero no he
encontrado nada acerca de este tema.
Este par de macros te pueden ayudar de referencia para hacer lo que
quieres hacer el primero es una macro completa que se encarga de abrir
diferentes documentos consecutivamente, la segunda es simplemente abrir un
documento de una plantilla existente. La primera la inclui por que
ejemplifica el uso de las propiedades de ReadOnly y su valor como True.
Espero que te sirva:
Listing 5.17: Load a document into an existing frame.
Sub open_new_doc
Dim mArgs(2) as New com.sun.star.beans.PropertyValue
Dim oDoc
Dim oFrame
Dim s As String
If (ThisComponent.isModified) Then
If (ThisComponent.hasLocation AND (Not ThisComponent.isReadOnly)) Then
ThisComponent.store()
Else
ThisComponent.setModified(False)
End If
End If
mArgs(0).Name = "ReadOnly"
mArgs(0).Value = True
mArgs(1).Name = "MacroExecutionMode"
mArgs(1).Value = 4
mArgs(2).Name = "AsTemplate"
mArgs(2).Value = FALSE
REM Choose the next document to load
If ThisComponent.hasLocation Then
s = ThisComponent.getURL()
If InStr(s, "one") <> 0 Then
s = "file:///C:/tmp/two.oxt"
ElseIf InStr(s, "two") <> 0 Then
s = "file:///C:/tmp/three.oxt"
Else
s = "file:///C:/tmp/one.oxt"
End If
Else
s = "file:///C:/tmp/one.oxt"
End If
REM Get the document's frame and then load the specified document
REM into the current frame!
oFrame = ThisComponent.getCurrentController().getFrame()
oDoc = oFrame.LoadComponentFromUrl(s, "", 2, mArgs())
If IsNull(oDoc) OR IsEmpty(oDoc) Then
Print "Unable to load " & s
End If
End Sub
########################### Abrir documento desde Plantilla
Listing 5.18: Create a new document from a template.
Sub NewDoc
Dim oDoc
Dim sPath$
Dim a(0) As New com.sun.star.beans.PropertyValue
a(0).Name = "AsTemplate"
a(0).Value = true
sPath$ = "file://~/Documents/DocTemplate.stw"
oDoc = StarDesktop.LoadComponentFromUrl(sPath$, "_blank" , 0, a())
End Sub
--
Alexandro Colorado
CoLeader of OpenOffice.org ES
http://es.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]