Hola,
estoy desarrolando una aplicacion desde donde yo deteto archivos abiertos de excel.
en Visual foxpro se hace asi.
loexcel = CREATEOBJECT("Excel.Application")
si se crea el objeto.
for i= 1 to loexcel.Windows.Count
if lcArchivo= loexcel.Windows.Item(i).Caption
messagebox(" el archivo esta abierto")
exit
endif
next
pero con openoffice no funciona este metodo, me devuelve un error.
alguien puede ayudarme a resolver mi duda
gracias
[RESUELTO] como detectar archivos abiertos en openoffice
-
jagtoscano
- Mensajes: 4
- Registrado: Mar Oct 19, 2010 8:13 pm
[RESUELTO] como detectar archivos abiertos en openoffice
Última edición por jagtoscano el Mié Oct 20, 2010 10:37 pm, editado 1 vez en total.
windows xp, openoffice 3.1.0
Re: como detectar archivos abiertos en openoffice
Hola...
Claro, el API de OOo y MO son totalmente diferentes...
Para usar OOo tienes que crear primero una instancia del administrador de servicios a partir de el, tienes todo OOo a tu disposición, claro, debes de conocer el API...
El siguiente ejemplo esta en VB6, adaptalo a VFox y nos cuentas si funciono:
Si por alguna razón no te funciona el For-Each, prueba la siguiente alternativa:
Para conocer el API de OOo: http://api.openoffice.org/docs/common/r ... le-ix.html
Si nunca has usado el API de OOo, te recomiendo empezar con mi libro: http://user.services.openoffice.org/es/ ... =50&t=1545
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos
Claro, el API de OOo y MO son totalmente diferentes...
Para usar OOo tienes que crear primero una instancia del administrador de servicios a partir de el, tienes todo OOo a tu disposición, claro, debes de conocer el API...
El siguiente ejemplo esta en VB6, adaptalo a VFox y nos cuentas si funciono:
Código: Seleccionar todo
'Creamos una instancia del administrador de servicios
Set oSM = CreateObject("com.sun.star.ServiceManager")
'Creamos una instancia del servicio Desktop
Set oEscritorio = oSM.createInstance("com.sun.star.frame.Desktop")
'Accedemos a todos los documentos actualmente abiertos
oDocumentos = oEscritorio.getComponents()
For Each oDocumento In oDocumentos
MsgBox "Documento: " & oDocumento.Title
NextCódigo: Seleccionar todo
'Accedemos a todos los documentos actualmente abiertos
oDocumentos = oEscritorio.getComponents()
'Enumeramos cada uno
oEnumeraDocumentos = oDocumentos.createEnumeration()
'hasMoreElements devuelve verdadero (True) mientras haya elementos
Do While oEnumeraDocumentos.hasMoreElements()
'Nos desplazamos al siguiente elemento y lo asignamos
oDocumento = oEnumeraDocumentos.nextElement()
'Mostramos el tipo de documento
MsgBox oDocumento.Title
LoopSi nunca has usado el API de OOo, te recomiendo empezar con mi libro: http://user.services.openoffice.org/es/ ... =50&t=1545
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
jagtoscano
- Mensajes: 4
- Registrado: Mar Oct 19, 2010 8:13 pm
Re: como detectar archivos abiertos en openoffice
Gracias, por tu respuesta, lo probare y les cuento como me fue
windows xp, openoffice 3.1.0