Página 1 de 1

[RESUELTO]Transformar de Texto a HTML

Publicado: Vie May 14, 2010 1:47 am
por emoreno
Saludos:

Tengo un documento de texto, el cual quiero guardar su contenido en formato HTML.

Este es el código desarrollado

Código: Seleccionar todo

Sub GuardarDocumento
	Dim oDocOdt As Object, oDlgGuardar As Object, oDocHTML As Object
	Dim oCursorOdt As Object, oCursorHTML As Object
	Dim mArg() As New "com.sun.star.beans.PropertyValue"
	Dim sRuta As String, mArchivos() As String
	
        'Activo el documento actual
	oDocOdt = thisComponent
	
        'Pido el nombre que tendrá el archivo HTML por medio de un cuadro de diálogo standard
	oDlgGuardar = CreateUnoService ("com.sun.star.ui.dialogs.FilePicker")
        With oDlgGuardar
		.Initialize(mDlgOpciones())
                .AppendFilter("Página WEB","*.html")
        End With
        
	If oDlgGuardar.Execute() Then
		mArchivos() = oDlgGuardar.getFiles()
		sRuta = ConvertFromUrl(mArchivos(0))
		If FileExists(sRuta) Then
                        'Si el archivo existe, lo elimino para generar el nuevo
			Kill(sRuta)
		End If

               'Genero un nuevo archivo
                oDocHTML = StarDesktop.loadComponentFromURL( "private:factory/swriter/web", "_blank", 0, mArg())
 
               'Creo los cursores para copiar el texto de un documento a otro
                oCursorOdt = oDoc.Text.createTextCursor()
                oCursorHTML = oDocHTML.Text.createTextCursor()
        
               'Selecciono todo el contenido del documento de texto
               oCursorOdt.gotoStart(False)
               oCursorOdt.gotoEnd(True)
          
               'Copio el contenido del archivo de texto a el nuevo documento
               oCursorHTML.String = oCursorOdt.String
        
               'Guardo el documento con el nombre elegido por el usuario
               oDocHTML.storeToURL(sRuta,mArg())

               'Cierro el documento
               oDocHTML.Close(True)
      
	End If
End Sub
Todo va bien hasta que trato de guardar el documento.
En mi escritorio aparece el documento en formato html sin nombre y con el mismo contenido que el documento de texto, por tanto, solo me falta guardar.

Ya sustituí storeToURL por storeFromURL y nomas no.
Siento que es algo del argumento mArg(), pero no encuentro el parámetro.

Si alguien tiene alguna idea que probar, adelante.

Re: Transformar de Texto a HTML

Publicado: Vie May 14, 2010 7:15 am
por mauricio
Hola Eduardo...

¿No te sirve exportar a HTML directamente?, si usas la propiedad String para copiar, el formato que tengas lo perderás...

Código: Seleccionar todo

Sub ExportandoHTML()
Dim sRuta As String
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object

        
        oDoc = ThisComponent
		sRuta = ConvertToUrl( "/home/mau/" & oDoc.getTitle & ".html" )
				
        'Establecemos el filtro a documento HTML
        mOpciones(0).Name = "FilterName"
        mOpciones(0).Value = "HTML (StarWriter)"
        
        'Exportamos en HTML
        oDoc.storeToURL( sRuta, mOpciones() )

        'Lo mostramos en el navegador
        Shell ( "firefox",0, sRuta )
        
End Sub
Saludos

Re: Transformar de Texto a HTML

Publicado: Vie May 14, 2010 4:15 pm
por emoreno
Ya encontré el error en mi código, no había transformado el URL a un formato correcto.

Código: Seleccionar todo

        oDocHTML.storeToURL(ConvertToURL(sRuta),mArg())
        oDocHTML.Close(True)
Eso me pasa por no leer con calma. Gracias.