[RESUELTO] Crear un documento en Writer con Visual Studio

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Crear un documento en Writer con Visual Studio

Notapor Raul Montes » Dom Abr 15, 2018 6:43 pm

Quiero crear un documento desde visual studio, su nombre está en un campo de textBox, me da un error en la última linea pero ignoro la causa. Aqui les dejo el código haber si alguien puede decirme el error que tengo.

Private Sub Crear(sender As Object, e As EventArgs)
Dim mNoArgs(1)
Dim oDesktop, oDocument As Object
Dim sUrl As String
Dim oSM As Object
oSM = CreateObject("com.sun.star.ServiceManager")
oDesktop = oSM.createInstance("com.sun.star.frame.Desktop")
sUrl = "file:///c:/comunidades/" & txtComunidad.Text & ".odt"
oDocument = oDesktop.loadComponentFromURL(sUrl, "_blank", 0, mNoArgs(1))
End Sub
Última edición por fornelasa el Mié Abr 18, 2018 12:18 am, editado 2 veces en total
Razón: Marcar el tema como resuelto correctamente
OpenOffice 4.4 y Windows 10
Raul Montes
 
Mensajes: 12
Registrado: Lun Dic 18, 2017 4:41 pm

Re: Crear un documento

Notapor mauricio » Lun Abr 16, 2018 7:20 am

Hola

Tu pregunta se ha hecho varias veces, ¿ya hiciste una búsqueda?

Para crear nuevos documentos usar en
sUrl = "private:factory/scalc"

Todo esta documentado:
https://wiki.openoffice.org/wiki/ES/Man ... documentos

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5617
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Resuelto

Notapor Raul Montes » Lun Abr 16, 2018 6:15 pm

Perdone pero he probado tambien esto

Dim sRuta As String
Dim mArg()
Dim StarDesktop, oNuevoDocumento As Object
sRuta = "private:factory/scalc"
oNuevoDocumento = StarDesktop.loadComponentFromURL(sRuta, "_default", 0, mArg()) y me da error en el mArg()
Si le pongo algún valor en el paréntesis, entonces falla al ejecutarlo.

Yo pretendo crear un documento y pasar el nombre del documento en una variable tal y como venía haciendo mientras tuve el Word, pero como Microsoft me lo ha bloqueado por tres veces ya no tengo intención de instalarlo.
He dedicado mucho tiempo a leer un manual de OpenOffice y probar los ejemplos de una página del mismo pero no he conseguido que ninguno de dichos ejemplos me funcione. Así que si alguien me puede decir claramente que puedo probar quedaría muy agradecido.

Muchas gracias y un saludo
Última edición por Raul Montes el Mar Abr 17, 2018 7:34 pm, editado 1 vez en total
OpenOffice 4.4 y Windows 10
Raul Montes
 
Mensajes: 12
Registrado: Lun Dic 18, 2017 4:41 pm

Re: Crear un documento

Notapor mauricio » Lun Abr 16, 2018 6:42 pm

No respondiste la pregunta... ¿ya hiciste una búsqueda?....

La macro que muestras funcionará bien "dentro" de LibreOffice, NO desde VS, el proceso es un poco diferente, pero... eso ya se ha respondido en estos foros.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5617
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Crear un documento

Notapor fornelasa » Lun Abr 16, 2018 9:02 pm

Yo entendí, por ejemplo:
"Crear un nuevo documento writer con el nombre TuArchivo.odt usando VisualStudio"
Intenta adecuar esta macro:
Código: Seleccionar todo   Expandir vistaContraer vista
Sub CrearDoctoWriter()
    Set oServicio = CreateObject("com.sun.star.ServiceManager")
    Set Escritorio = oServicio.createInstance("com.sun.star.frame.Desktop")
    Dim args(1) As Object
    Set args(0) = oServicio.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    args(0).Name = "Hidden"
    args(0).Value = True
    Set Document = Escritorio.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)
    Call Document.getCurrentController.getFrame.getContainerWindow.setVisible(True)
    Call Document.getCurrentController.getFrame.getComponentWindow.setVisible(True)
    sUrl = "file:///c:/Federico/TuArchivo.odt"
    Call Document.storeAsURL(sUrl, args())
    Set Document = Nothing
    Set Escritorio = Nothing
    Set oServicio = Nothing
End Sub
lo 5.4.6 | aoo 4.1.5 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3008
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Crear un documento

Notapor Raul Montes » Mar Abr 17, 2018 11:40 am

Ya me pueden perdonar mi forma de actuar pues ando bastante perdido en el funcionamiento del foro. Me introduje en este mundillo hace dos años cuando me jubile y la verdad que me cuesta algo todavía entender algunas cosas con la presteza requerida así que lamento las molestias y si consideran que les causo algún trastorno me lo hacen saber y dejo el foro.

Gracias y un saludo
OpenOffice 4.4 y Windows 10
Raul Montes
 
Mensajes: 12
Registrado: Lun Dic 18, 2017 4:41 pm

Re: Crear un documento

Notapor Raul Montes » Mar Abr 17, 2018 1:17 pm

Gracias por la ayuda prestada ahora con está información que me han dado ya lo tengo funcionando.
Me encantaría saber donde se hacen las valoraciones por la información que me han aportado pues no consigo verlo.

Muchas gracias y un saludo
OpenOffice 4.4 y Windows 10
Raul Montes
 
Mensajes: 12
Registrado: Lun Dic 18, 2017 4:41 pm

Re: Crear un documento

Notapor fornelasa » Mar Abr 17, 2018 4:30 pm

Hola Raul, si consideras que el tema ha sido resuelto por favor marcalo así, resuelto, aquí nos dicen como hacerlo.
https://forum.openoffice.org/es/forum/v ... f=3&t=2668
Y aquí estamos Raul, en lo que te podamos ayudar cuenta con nosotros.

Saludos, Federico.
lo 5.4.6 | aoo 4.1.5 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3008
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados