Jump to content

Tiempo de espera para cargar fichero excel


PepeRiv

Recommended Posts

Posted

Muy buenas,

en una macro que estoy desarrollando descargo un fichero excel a través de una aplicación java y tras haber pulsado el botón abrir en la pantalla de dialogo de descarga de archivo llego a una instrucción en la cual tiene

que seleccionar un rango de celdas de este nuevo archivo abierto .

Ocurre que la seleccion la hace sobre el archivo excel que ya estaba

abierto antes, no sobre el nuevo. Para resolverlo intente utilziar la

funcion application.wait y no me funciono (parece que esta funcion

para la ejecución de excel y no llega a cargar mi archivo). Tampoco me

funcionó con la funcion Sleep

La opcion de activar el nuevo libro sería la ideal, pero ocurre que el

nombre del fichero que estoy descargando va variando, tan solo se

repite la primera parte del nombre "40Production......" Esto creo que

me imposibilita poder activar el workbook pasandole por parámetro el

nombre completo del archivo..el cual desconozco.

Saben si existe una instrución como esta para los archivos excel?

Do While Ie.Busy: DoEvents: Loop

Do While Ie.readyState <> 4: DoEvents: Loop

Mi ultimo intento ha sido utilizar la funcion FindWindowLike (creada

por un usuario) y que la he declarado previamente.

Esta funcion me devuelve el handle de la ventana con mi archivo excel;

Sub Check_Excel_Open()

Dim lHandle As Long

Dim Timeout As Date

Timeout = Now + TimeValue("00:00:05")

Do

lHandle = FindWindowLike("ProductionReport")

DoEvents

Sleep 200

Loop Until lHandle Or Now > Timeout

End sub

++++++++++++++++++

Function FindWindowLike(strPartOfCaption As String) As Long

Dim hWnd As Long

Dim strCurrentWindowText As String

Dim r As Integer

hWnd = GetForegroundWindow

Do Until hWnd = 0

strCurrentWindowText = Space$(255)

r = GetWindowText(hWnd, strCurrentWindowText, 255)

strCurrentWindowText = Left$(strCurrentWindowText, r)

'hWnd = GetWindow(hWnd, GW_CHILD)

If InStr(1, LCase(strCurrentWindowText), LCase(strPartOfCaption)) <> 0

Then GoTo Found

hWnd = GetWindow(hWnd, GW_HWNDNEXT)

Loop

Exit Function

Found:

FindWindowLike = hWnd

End Function

++++++++++++++++++++++++++

Cuando ejecuto el codigo de la funcion principal no me esta dando el

resultado esperado, me selecciona las celdas del archivo excel previo

y no de esta ventana nueva (que se supone que ya esta activa..puesto

que ha superado la funcion Check_excel_open()

Sub Copy_production_data(Line As Integer)

Dim Product As String

Dim Eff_Output As Integer

Call Check_Excel_Open

Select Case Line

Case 1 'B1100

Array_Effective_output(iprod) = Range("AN17")

Array_Production_time(iprod) = Prod_time

Array_Product(iprod) = Range("U26")

.....................

Alquien me podria echar una mano??

Espero que me haya explicado bien.

Un saludo grande

Pepe

Archived

This topic is now archived and is closed to further replies.

  • 108 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      184
    • Comments
      96
    • Reviews
      28

    More information about "Un juego solitario en Excel"
    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Hola buenas tardes tengo un archivo en excel que copia varias tablas y las importa a word de manera automatica. Este selecciona las tablas en base a las filas con datos de mi columna C. pueden ser  diferentes rango de tablas. (Pero siempre mi rango es de celdas continuas y con valores continuas) Funciona muy bien. El problema que ahora tengo es que muchos archivos con tablas  tienen las celdas combinadas ya sea horizontalmento o vertical. Aqui es donde empieza mi problema ya que son formatos de origen no puedo modificarlas. Quisiera ajustar mi macro en la parte de seleccion de rango de tablas y que pueda considerar la celdas combinadas y pegarlos en word sin problema. Ya que actualmente no me pone algunas tablas o rangos, o me repite las tablas y no considera las demas. Todo esto a que en algunas no hay valores o las celdas estan combinadas.   Muchas gracias Seleccion automatica de celdas combis.xlsx
    • por si te sirve: la primera matriz (pivotarpor) al inicio los que no tienen profesor asignado (orden ascendente por omision) la segunda (2 matrices y solo unicos) en el orden de aparicion (no asignados al final) la tercera (2 matrices) omite los no asignados (tambien por orden de aparicion) unicos y suma (ayudaExcel).xlsx
    • No se si este tema va aquí, si no es así, pido disculpas. Llevo varios días dando vueltas a un fallo que me sale al exportar una tabla a xml y que no consigo resolver. El fallo que me da es que no las asignaciones no son exportables y al comprobar la asignación me dice datos no normalizados.     Libro1.xlsx
    • Buenas tardes estimado JSDJSD, muchas gracias por responder. En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente: Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento. Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta. Saludos y un fuerte abrazo   Cemento-2.xlsm
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy