Macro para copiar rango y enviar correo electrónico: ¿Cómo hacer para controlar el ancho de las columnas'

El 23/3/2012 Luis Mondelo respondió una consulta de Jeanalekz sobre cómo hacer una macro para enviar un correo electrónico con un rango de celdas de una planilla EXCEL. Yo lo probé y funciona OK, y lo estoy tratando de usar, pero el problema es que cuando pega la información del EXCEL en el cuerpo del mail las columnas se alteran en ancho de forma extraña (algunas se achican y otras se agrandan), lo que deforma completamente la información a mostrar. Esto ocurre cuando en la selección de celdas hay datos con diferentes formatos. ¿Hay alguna forma de arreglar esto, ya sea evitando que los anchos de columna se alteren de forma no uniforme, o controlando directamente los anchos de columna? Adjunto más abajo el código de la macro:

Sub correo()
Range("b2:e11").Copy
Set parte1 = CreateObject("outlook.application")
Set parte2 = parte1.createitem(olmailitem)
parte2.to = "[email protected]" 
parte2.Subject = "asunto de mensaje" 
parte2.display
Application.SendKeys "^v" 
Set parte1 = Nothing
Set parte2 = Nothing
End Sub

Otra opción puede ser armar el mail seleccionando varios rangos de celdas (con el mismo formato de datos para que no se deformen) y que se peguen en el cuerpo del mail uno después del otro; pero tampoco sé cómo hacer esto.

1 respuesta

Respuesta
1

Antes de copiar vamos a autoajustar el ancho de las columnas, para ver si con eso se soluciona.

Ejecuta la siguiente macro y me comentas

Sub correo()
    Set r = Range("b2:e11")
    r.EntireColumn.AutoFit
    r.Copy
    '
    Set parte1 = CreateObject("outlook.application")
    Set parte2 = parte1.createitem(olmailitem)
    parte2.to = "[email protected]"
    parte2.Subject = "asunto de mensaje"
    parte2.display
    Application.SendKeys "^v"
    Set parte1 = Nothing
    Set parte2 = Nothing
End Sub

Si te funciona, no olvides valorar la respuesta

Hola Dante. Gracias por responder tan pronto.

Te cuento sobre el problema: probé la solución propuesta, pero no me sirve porque modifica el ancho de las columnas en la planilla original. De todos modos anoche modifiqué el formato de las líneas de texto en la planilla a enviar por mail, de modo de tener un formato homogéneo en toda la hoja de cálculo, y con eso se solucionó el problema del cambio de anchura de las columnas (de hecho se solucionó, aunque no sé bien por qué).

¡Muchas gracias otra vez! En verdad tenía que encontrar el modo de generar estos correos, y si no hubiese sido gracias a su página web y al soporte que brindan seguramente no hubiese sabido cómo hacerlo.

Igual y puedes valorar la respuesta.

Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas