Visual Basic.NET - Crear Documento en OpenOffice con nombre desde V.S. 2015

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Crear Documento en OpenOffice con nombre desde V.S. 2015

Publicado por Miguel (281 intervenciones) el 09/11/2017 20:02:41
Hola quiero hacer una pregunta. Tengo este código para crear un documento OpenOffice desde Visual Studio 2015 que funciona bien. Pero lo que estoy intentando sin conseguirlo es pasar por parámetro el nombre para que lo cree con él. Les paso el código haber si alguien puede ayudarme, el nombre es matriz(0) & matriz(1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CrearDocumento(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Try
        ReDim Matriz(1)
        Matriz(0) = Me.txtNif.Text
        Matriz(1) = CStr(Me.txtReunion.Text)
        Dim oSM As Object = CreateObject("com.sun.star.ServiceManager")
        Dim oMM As Object = oSM.createInstance("com.sun.star.frame.Desktop")
        Dim arg(-1) As Object
        Dim oDoc As Object = oMM.LoadComponentFromUrl("private:factory/swriter", "_blank", 0, arg)
        Dim oText As Object = oDoc.getText()
        Dim oCursor As Object = oText.createTextCursor()
    Catch Exception1 As System.Runtime.InteropServices.COMException
        Console.WriteLine(Exception1.Message)
    Catch Exception2 As InvalidOperationException
        Console.WriteLine(Exception2.Message)
    Catch Exception3 As NotSupportedException
        Console.WriteLine(Exception3.Message)
    End Try
End Sub

He realizado pruebas utilizando Matriz() como si fuera el Argumento pero me da error.

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Crear Documento en OpenOffice con nombre desde V.S. 2015

Publicado por Miguel (281 intervenciones) el 28/12/2017 22:37:10
Yo llevo algún tiempo con este mismo problema. Te mando mi código, tu "Matriz()" es el parámetro que yo paso como "objini.miFichero" .

Te adjunto el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Option Strict Off
 
Imports System.IO
Imports Independentsoft.Office.OfficeDocument
Imports System.Runtime.InteropServices.COMException
 
Public Class frmInforme
    Public objIni As New Inicio.Iniciar.Inicio
 
    Private Sub frmInforme_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            Dim oSM As Object = CreateObject("com.sun.star.ServiceManager")
            Dim oFM As Object = oSM.createInstance("com.sun.star.frame.Desktop")     "linea donde da el error.
            Dim oDoc As Object 'First objects from the API
            Dim arg(-1) As Object
            Dim sRuta As String
            If objIni.control = True Then  'Crear un documento
                sRuta = "file:///c:/Fincas/juntas/" & objIni.miFichero
                oDoc = oFM.loadComponentFromURL(sRuta, "_blank", 0, arg)  'Save the doc   
                Dim oText As Object = oDoc.getText()
                Dim oCursor As Object = oText.createTextCursor()
            Else       'Abrir un documento existente
                sRuta = "file:///c:/Fincas/juntas/" & objIni.miFichero
                oDoc = oFM.loadComponentFromURL(sRuta, "_blank", 0, arg)    'Save the doc
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
        End Try
    End Sub
End Class

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Crear Documento en OpenOffice con nombre desde V.S. 2015

Publicado por Miguel (281 intervenciones) el 28/12/2017 23:21:58
Si cambio el arg() entonces el problema se traslada más abajo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Strict Off
 
Public Class frmInforme
    Public objIni As New Inicio.Iniciar.Inicio
 
    Private Sub frmInforme_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            Dim oSM As Object = CreateObject("com.sun.star.ServiceManager")
            Dim oFM As Object = oSM.createInstance("com.sun.star.frame.Desktop")
            Dim oDoc As Object 'First objects from the API
            Dim arg() As String
            Dim sRuta As String = "file:///C:/Fincas/juntas/" & objIni.miFichero
            If objIni.control = True Then  'Crear un documento
                oDoc = oFM.loadComponentFromURL(sRuta, "_blank", 0, arg(0))  "++++++++++++'Linea del error
                Dim oText As Object = oDoc.getText()
                Dim oCursor As Object = oText.createTextCursor()
            Else       'Abrir un documento existente
                oDoc = oFM.loadComponentFromURL(sRuta, "_blank", 0, arg(0))    'Save the doc
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
        End Try
    End Sub
End Class

Error: "Referencia a objeto no establecida como instancia de un objeto"

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar