Saltar al contenido

Ejecutar macro en varios equipos


Recommended Posts

publicado

Hola:

El otro día me hicieron una pregunta que no supe contestar:

En una empresa tienen una macro que lee archivos de texto gigantes (unos 2 GB) para extraer una determinada información de ellos. La macro tarda en ejecutarse nada más y nada menos que unos 4 días enteros y la pregunta que me hicieron fue que si existía alguna posibilidad de dividir la ejecución de la macro en otros equipos conectados para que, a través de sus otros procesadores, tardara menos tiempo.

Ahí queda eso. A quien sepa responder a eso, le doy un 10!

Saludos

publicado

Buenas, Sergio

Pues lo único que se me ocurre es que en cada uno de los otros equipos se lea un número determinado de líneas de ese texto.

Por ejemplo,

En un equipo, de la línea 1 a la 100.000

En otro, de la 100.001 a la 200.000

y así sucesivamente....

Imagino que la macro la podrán configurar para que empiece a leer a partir de una línea y que acabe en la que se le indique...

Si es una auténtica chorrada lo que digo, mis disculpas....jejejee

Chao,

Tese

publicado

la opcion que da tese1969, es una posibilidad, pero que un proceso tarde 4 dìas?????, pues debe estar muy mal configurado la forma como procesa la informacion o realmente son miles de millones de lineas de datos?????, abria que revisar

publicado

WOW!!!

Buenas noches

De antemano, si es una empresa y maneja tales volúmenes de información, no debería usar Excel para eso. Excel es una excelente herramienta pero no está pensada para eso. Deberían usar motores de gestión de base de datos como SQL, Oracle y otros. Pero en fin, si desean, se me ocurre lo siguiente:

Colocar en el archivo de Excel un listado con los ordenadores que harían el trabajo, poniendo el nombre de cada uno.

Colocar de forma local el archivo de texto y el archivo de Excel creado en el paso anterior.

En cada ordenador, la macro leería el nombre de la PC local con la siguiente función:

Public Function PC() As String
PC = Environ("ComputerName")
End Function[/CODE]

Según la posición de la PC local dentro del listado, se determinaría el rango de filas que debe procesar dicho ordenador.

El resto trabajo con ficheros (aunque a decir verdad no he probado las instrucciones de ficheros con archivos tan grandes)

publicado

un archivo de texto de 20 gb, imaginad las decenas de miles de líneas que puede contener, así que si la macro tarda 4 días en ejecutarse, no es problema de que sea una mala macro.

Si tenéis alguna otra propuesta, agradeceré los comentarios

diegopc, tu propuesta está bien, pero no la veo implementada en esa empresa.

Saludos.

publicado

de 2 GB a 20 GB hay un gran trecho, sin embargo lo que digo es que posiblemente la macro pudiera optimizarse, no sabemos realmente que hace la macro con el archivo, pero para tardar 4 días no creo que sea simplemente leer los datos que están en el archivo, posiblemente realice busquedas y/o reemplazo de información; tal vez ayudaría saber un poco sobre los procesos realizados sobre el archivo en cuestión, suerte

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.