Una macro para Exportar a .TXT – texto sin formato en openoffice

Navegando por internet encontre una macro muy sencilla que nos servira sencillamente para  exportar a formato de texto plano.

Como siempre aunque un post a articulo como este sea muy corto no significa mala calidad, mas bien a veces entre más corto más claro, pero como añadido extra vamos a analizar algunas de las lineas de este codigo, algo que en la fuente original no lo explican. Pero antes el codigo que funciona en el “IDE” de LibreOffice y OpenOffice y derivados.

Sub Main
Dim oDoc As Object
Dim sNombre As String
Dim mOpciones(1) As New com.sun.star.beans.PropertyValue

‘Creamos un nuevo documento de Write
oDoc = StarDesktop.loadComponentFromURL( “private:factory/swriter”, “_blank”, 0, mOpciones())

sNombre = ConvertToURL(“Ruta”) ‘donde ruta puede ser “c:\Users\{Username}\My Documents\prueba.txt” o "/home/user1/prueba.txt"

mOpciones(0).Name = “URL”
mOpciones(0).Value = sNombre
mOpciones(1).Name = “FilterName”
mOpciones(1).Value = “Text”

‘Exportamos como txt
oDoc.storeAsURL(sNombre, mOpciones())

End Sub

fuente de la macro aquí.

Pasemos a un breve análisis de este código

Las primeras cuatro lineas de código es para el nombre de la macro y la declaración de variables.

La variable oDoc nos servira para crear el nuevo documento de writer pero que luego sera guardado y exportado a texto simple, esto es porque writer es el encargado de todo lo que tenga que ver con documentos que no sean hojas de calculo, ni bases de datos, etc.

Las que yo considero las lineas más importantes de este código son las lineas 9, 11 y 19

La linea # 9 sirve para crear un documento en blanco y sin titulo.

La linea #11 sirve para renombrar el nuevo documento a prueba.txt

Finalmente la linea # 19 sirve para exportar a .txt

Entonces este código se divide en tres partes:

  1. crear documento sin titulo
  2. Renombrar a prueba.TXT
  3. exportat a .TXT

Espero les sea de utilidad.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *