Saltar al contenido

Recogida de datos y tratamiento posterior


Recommended Posts

publicado

Buenas,

Estoy realizando un excel para tratar cierta información que recibo por email. La idea es que, mediante Visual Basic (macros, etc) o alguna funcion, el excel coja ese email y lo procese. El cuerpo del mensaje es lo que me interesa. La información que contiene es en texto plano y, a pesar de que es muy parecida en todos los correos (el formato del correo quiero decir), hay pequeñas variaciones.

La informacion es la que sigue:

Referencia: 000001 Proceso: 05 SB: 2,3-2,6

Nombre y proveedor ==========

Codigo: 555211 Color: 0042

[...etc...]

Quiero realizar un excel que realice las siguientes operaciones:

- Coja y procese el email que recibo por Outlook

- Coloque los valores en una tabla por separado

Es decir:

[CELDA] Referencia [CELDA] 000001

[CELDA] Proceso [CELDA] 05

[CELDA] SB [CELDA]2,3-2,6

...etc...

Hasta ahora y ante la imposibilidad de realizar esto que solicito, lo unico que conseguido es:

Cojo el texto recibido del correo y lo pego en una celda

En una tabla recojo los datos de forma automatica mediante el comando EXTRAE

=EXTRAE(D8;38;8) ...etc...

El problema con esto es que, a parte de que tienes que realizar una parte manual (copiar y pegar del correo al excel), los correos recibidos, aunque son muy muy parecidos unos con otros, siempre hay alguna pequeña variacion de distancia entre los valores:

Ejemplo

[correo 1]

Referencia: 000001 Proceso: 05 SB: 2,3-2,6

Nombre y proveedor ==========

Codigo: 555211 Color: 0042

[correo 2]

Referencia: 001C56 Proceso: 05 SB: 2,3-2,6

Nombre y proovedor ==========

Codigo: 555211 Color: 0042

En la referencia, aunque despues de ella venga Proceso, no es el mismo tamaño, por lo que ya el comando EXTRAE no funciona tan bien.

Mediante VisualBasic he creado un botón (no se apenas nada de VB pero me estado informando y buscando codigos) para que, estos valores extraidos del correo, los coloque en una tabla y los vaya colocando en la ultima fila no ocupada por otro valor:

Private Sub CommandButton1_Click()

Range("B3").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Range("D" & Cells.Rows.Count).End(xlUp).Offset(1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=True

Application.CutCopyMode = False

Range("B3").Select

End Sub

Queria saber si podrían orientarme a alcanzar mi objetivo o si, por el contrario, se les ocurre alguna otra forma más rapida y automatica de realizar lo antes mencionado, estoy abierto a sugerencias.

El tema de conectar el Excel con Outlook llevo dias buscando por Google pero solo encuentro tutoriales de como, mediante VisualBasic, mandar correos a traves de Excel (vamos, todo lo contrario a lo que yo quiero)

Muchas gracias de antemano y, espero sus respuestas

Gracias

publicado

hola [uSER=62113]@darknito[/uSER] si no subes un archivo lo mas seguro que nadie te puede ayudar, yo por lo regular me da flojera leer una letania de mensje. y ademas son normas del foro que tienes que subir un ejemplo de como obtienes y como quieres el resultado

saludos

publicado

Gracias por contestar [uSER=163374]@Diego9019[/uSER] , el problema esta en que no es tan sencillo mostrar en un archivo de lo que necesito porque, en este caso, no se hacerlo, ni tan siquiera sé si eso el excel es capaz de hacerlo . ¿Como puedo subir un archivo en el que se muestre como coge el Excel del Outlook una serie de correos, los procesa y los muestra en celdas si, precisamente es eso, lo que quiero?

Entiendo lo que me comentas pero entenderás (o al menos yo lo veo asi) que, en este caso, es imposible.

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.