viernes, 1 de septiembre de 2023

OOo Basic. Archivos.

 Rutas a directorios y archivos

Aunque el trabajo cotidiano y directo con los servicios de LibreOffice resuelve el manejo de rutas y la creación de archivos y directorios de forma integrada con las utilidades básicas del sistema operativo, haciendo que parezca simple lo que es en realidad complejo; pero también nos podemos encontrar con la necesidad de gestionar el uso de rutas y el acceso a directorios y archivos desde OOo Basic.

 

LibreOffice hereda de OpenOffice la cualidad de ser multiplataforma, por lo que hace uso de rutas de archivo y directorios en formato URL.

file:///home/usuario/Directorio/archivo.ods

En este formato se usan los caracteres 0-9, a-z y A-Z, siendo convertidos el resto a una codificación establecida. Por ejemplo, el espacio en blanco se convierte en %20. Es conveniente, por tanto, utilizar siempre caracteres aceptados por el formato URL.

Además OOo Basic posee dos funciones muy útiles para trabajar con formato URL:

  • ConvertToUrl()
  • ConvertFromUrl()
La primera (ConvertToUrl) convierte una ruta al formato URL y la segunda (ConvertFromUrl) devuelve la ruta al formato local. Veamos en un pseudoscript (basado en uno de Mauricio Baeza) para ejemplificar su uso:

Sub UsoRuta

Dim sRuta As String

sRuta = "/home/yomismo/MiArchivo.ods"  -> establezco la ruta local (Windows)

MsgBox sRuta -> y la muestro

sRuta = ConvertToUrl("/home/yomismo/MiArchivo.ods") -> Convierto a formato URL

MsgBox sRuta  -> Y la muestro en este formato 

sRuta = ConvertFromUrl( sRuta ) -> Regreso al formato local originario

MsgBox sRuta -> Y compruebo que efectivamente es así

End Sub

Fíjate en la diferencia entre el uso de una y otra función, ya que son inversas y complementarias, tanto en su sintaxis como en su funcionamiento. 

Siempre que vayamos a trabajar con rutas para acceder a archivos o guardarlos en directorios es conveniente utilizar la función ConvertToUrl() para evitar errores en el acceso. En este contexto, ConvertFromUrl() te puede servir para comprobar que todo funciona según tienes previsto.

No hay comentarios:

Publicar un comentario

Comenta esta entrada