Página 1 de 1

path de la plantilla

Publicado: Mar Nov 13, 2018 8:55 pm
por Ambrosio
Hola,

Quiero obtener la path donde se encuentra la plantilla de un documento Writer.

En VBasic lo podía obtener con:

ActiveDocument.AttachedTemplate.Path

Como puedo hacerlo en Ooo Basic?

Saludos agradecidos,

Re: path de la plantilla

Publicado: Mar Nov 13, 2018 9:43 pm
por fornelasa
Unas posibles opciones

Código: Seleccionar todo

Option VBASupport 1
Sub Ejemplo()
dato = ActiveDocument.Path
MsgBox dato
End Sub

Código: Seleccionar todo

ruta = Replace(ConvertFromUrl(ThisComponent.Location), "\" + ThisComponent.Title, "")

Re: path de la plantilla

Publicado: Mié Nov 14, 2018 6:01 pm
por Ambrosio
Hola,

No estoy seguro que lo que me propones resuelva mi problema. Como soy novato en este lenguaje de programación intentaré explicarme un poco más.
He elaborado con Libre Office Writer un documento con macros enlazadas a una barra de herramientas personalizada.
Este documento está dentro de una carpeta donde hay además algunos programas que llamo desde alguna de las macros. Si abro el documento, con el código siguiente puedo direccionar los comandos a la carpeta donde se encuentra el documento, que es donde se encuentran los otros programas que llamo desde las macros:

Código: Seleccionar todo

	GlobalScope.BasicLibraries.LoadLibrary( "Tools" )	
	pathURL = ThisComponent.getURL()
	pathFiche = ConvertFromUrl(pathURL)
	onde = DirectoryNameoutofPath(pathFiche, GetPathSeparator())
Cuando tengo que llamar a algun programa de la carpeta indico la path donde lo encontrará = "onde"
Al convertir el documento .ODT en plantilla (.OTT) no funciona porque supongo que con el código anterior "onde" indica la carpeta por defecto donde se crean los documentos nuevos y no la carpeta donde está la plantilla que genera el documento (pongo un icono en la pantalla direccionado a la plantilla para que haciendo doble clic abra un documento nuevo basado en esa plantilla con su barra de herramientas y sus macros).
Me imagino que tendría que substituir
pathURL = ThisComponent.getURL()

Por otro código parecido a
pathURL = ThisComponent.Template.getURL()

No sé como hacer para poder saber en qué carpeta está la plantilla que ha creado ese documento nuevo y que las macros entonces funcionen.

Re: path de la plantilla

Publicado: Mié Nov 14, 2018 7:28 pm
por fornelasa
No sé como hacer para poder saber en qué carpeta está la plantilla que ha creado ese documento nuevo y que las macros entonces funcionen.
Tal vez te sirva esta sugerencia:
Las plantillas se guardan siempre, o las puedes definir en:
Herramientas
Opciones
LibreOffice
Rutas
Analiza lo que hay ahí.

Saludos.