codigo no se ejecuta por cambio de version de openoffice

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
jhonfredy
Mensajes: 47
Registrado: Vie Abr 08, 2016 6:50 pm

codigo no se ejecuta por cambio de version de openoffice

Mensaje por jhonfredy »

Cordial saludo,

Tengo un código que se ejecuta bien en un pc que tiene window XP con versión de openoffice 3.6.5.2, pero este mismo código no se ejecuta en un pc que tiene window 7 con versión de openoffice 4.1.0.

Creo que es por el cambio de versión. Y creo que es por el directorio de las variables.

Alguien me puede ayudar?

Observación: este código me lo facilitó un participante de este foro que tiene Nick fornelasa.

Agradezco sus aportes.

Gracias,

El código es el siguiente:

Código: Seleccionar todo

sub BuscarCopiar
    dim args1(2) as new com.sun.star.beans.PropertyValue
    
      document = ThisComponent.CurrentController.Frame
     dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
   args1(1).Name = "By"
  args1(1).Value = 1
   args1(2).Name = "Sel"
  args1(2).Value = false
            tDoc = ThisComponent.CurrentController
          oSheet = tDoc.ActiveSheet
          
                   tDoc.Select(oSheet.GetCellRangeByName("A1"))
                   dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args1())
                   
           Edgar = ThisComponent.Sheets.GetByName("edgar")
   args1(0).Name = "SearchItem.SearchString"
  args1(0).Value = "EDGAR FRANCISCO SOTO"
  
                   dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
                   
          inicio = (ThisComponent.GetCurrentSelection.CellAddress.Row + 1)
          
                   dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args1())
                   
            dato = ThisComponent.GetCurrentSelection.String
  args1(0).Value = Trim(dato)
  
                   dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
                   
             fin =  (ThisComponent.GetCurrentSelection.CellAddress.Row + 1)
           rango = oSheet.GetCellRangeByName("A"+inicio+":K"+fin)
           
               tDoc.Select(Rango)
               dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
               tDoc.Select(Edgar.GetCellRangeByName("A1"))
               dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
               tDoc.Select(oSheet.GetCellRangeByName("A1"))
               
   args1(0).Name = "SearchItem.SearchString"
  args1(0).Value = "EDGAR FRANCISCO SOTO"
  
               dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
               MsgBox "Hecho"
end sub
Última edición por jhonfredy el Vie Oct 21, 2016 10:04 pm, editado 2 veces en total.
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por fornelasa »

pero este mismo código no se ejecuta en un pc que tiene window 7 con versión de openoffice 4.1.0.
¿No se ejecuta nada? ..... o ..... ¿En que linea te marca error?

No creo que el problema sea por la versión del programa.

Así a primera instancia parecería que tenemos el estado de las macros a un nivel alto en vez de un nivel medio (Herramientas <> Opciones <> Seguridad <> Seguridad de macros)
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
jhonfredy
Mensajes: 47
Registrado: Vie Abr 08, 2016 6:50 pm

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por jhonfredy »

Al dar ejecutar sale el mensaje "No se encontró la expresión buscada", le doy aceptar y vuelve a salir el mismo mensaje. Después sale el msgBox: Hecho. Al revisar lo copiado solo aparecen copiadas tres líneas que supongo que son las tres primeras líneas de la hoja ventas.

Lo que copia aparece en la hoja edgar del adjunto de este mensaje.

Tener en cuenta que el código lo que hace es copiar la información que hay la hoja ventas correspondiente en este caso a edgar y la lleva a la hoja edgar.

Este mismo código lo ejecuto en el otro pc que tiene la versión anterior de openoffice y lo ejecuta bien.

Gracias,
Adjuntos
SEGUIMIENTO_VENDEDORESA8.ods
(16.99 KiB) Descargado 202 veces
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por PepeOooSevilla »

Hola.
He ejecutado tu macro cambiando esta línea

Código: Seleccionar todo

args1(0).Value = "EDGAR FRANCISCO SOTO"
por

Código: Seleccionar todo

args1(0).Value = "EDGAR FRANCISCO SOTO A."
(las dos veces que aparece) tal como figura en la celda B90 de la hoja "ventas" y funciona en LibreOffice Calc 5.1.3.
Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
jhonfredy
Mensajes: 47
Registrado: Vie Abr 08, 2016 6:50 pm

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por jhonfredy »

Cordial saludo PepeOooSevilla, hice ese cambio, y tengo la seguridad de macros en nivel bajo pero sigue copiando solamente lo que comente en el mensaje anterior. Debe ser algo especifico que sucede con la versión 4.1.0

Gracias,
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por fornelasa »

También he realizado pruebas y todo funciona normal.
Insisto, no creo que sea la versión del programa, pero suponiendo que lo fuera entonces debemos actualizarla por la versión 4.1.2
Envía el archivo que te da error con la macro adentro.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
jhonfredy
Mensajes: 47
Registrado: Vie Abr 08, 2016 6:50 pm

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por jhonfredy »

Adjunto el archivo que es el mismo que he enviado. Le anexe otra hoja que dice código y ahí está. Sin embargo, ya está incorporada en el organizador de macros.

Gracias,
Adjuntos
SEGUIMIENTO_VENDEDORESA8.ods
(27.52 KiB) Descargado 202 veces
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por fornelasa »

Pues en mi PC se ejecuta bien.
Sugiero que te actualices a la version 4.1.2 de AOO
http://www.openoffice.org/download/
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
jhonfredy
Mensajes: 47
Registrado: Vie Abr 08, 2016 6:50 pm

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por jhonfredy »

Tan raro, en todo caso mil gracias por su atención.
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: codigo no se ejecuta por cambio de version de openoffice

Mensaje por fornelasa »

Solo para no dejar, he realizado pruebas en la versión 4.1.0 y todo funciona normalmente.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder