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
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.