Para Hector Miguel Codigo Mail

26/05/2005 - 19:47 por José A. Castrejón | Informe spam
Hola Hector, hace algunos post pusiste un codigo para enviar un mail desde
excel, lo hiciste para HMS, me parece una Excelente solución. Copie el codigo
lo inserte en un modulo de el libro, puse datos en la hoja 2 y desde la hoja1
ejecuto el macro, pide la direccion de envio el asunto y todo, pero solo se
ve el parpadeo de la pantalla pero no manda nada .
Pregunto
Lo coloque en el lugar adecuado ?
Cuando manda el correo de que direccion lo manda ?
debo tener abierto Outlook ?
El nombre de la hoja que envio es Hoja2 ?
Mi conexion es por cable y esta disponible, tengo excel 2000 y xp Prof.
Gracias por tu ayuda
El ultimo codigo que pusiste es :

disculpa la [poca] 'claridad' de mi mensaje anterior :-(
[habia que 'sustituir' el final de la macro... NO 'agregar' las lineas como
'nuevas'] :))
te paso las lineas 'completas' de la macro ;)
saludos,
hector.
en un modulo de codigo 'normal' ==Sub EnviarHoja()
Dim n_Hoja As String, e_Direccion As String, t_Asunto As String, Hoja As
Object
PreguntaHoja:
n_Hoja = LCase(Application.Trim(InputBox("Indica la hoja a enviar.", "")))
If n_Hoja = "" Then Exit Sub
On Error Resume Next
Set Hoja = Sheets(n_Hoja)
If Hoja Is Nothing Then GoTo PreguntaHoja
Set Hoja = Nothing
PreguntaDireccion:
e_Direccion = LCase(Application.Trim(InputBox("Indica la direccion de
correo.", "")))
If e_Direccion = "" Then Exit Sub
Select Case MsgBox("El envio se hara a la siguiente direccion:" & vbCr &
e_Direccion & vbCr & _
"¿Deseas modificarla para continuar con el proceso?", vbYesNoCancel +
vbQuestion)
Case vbYes: GoTo PreguntaDireccion
Case vbCancel: Exit Sub
End Select
PreguntaAsunto:
t_Asunto = LCase(Application.Trim(InputBox("Indica el asunto del
mensaje.", "")))
If t_Asunto = "" Then Exit Sub
Worksheets(n_Hoja).Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
[a1].Select
Application.CutCopyMode = False
ActiveWorkbook.SendMail e_Direccion, t_Asunto
ActiveWorkbook.Close False
End Sub
 

Leer las respuestas

#1 Héctor Miguel
27/05/2005 - 06:13 | Informe spam
hola, José !

... codigo para enviar un mail... puse datos en la hoja 2 y desde la hoja1 ejecuto el macro
... solo se ve el parpadeo de la pantalla pero no manda nada .
Pregunto
Lo coloque en el lugar adecuado ?
Cuando manda el correo de que direccion lo manda ?
debo tener abierto Outlook ?
El nombre de la hoja que envio es Hoja2 ?
Mi conexion es por cable y esta disponible, tengo excel 2000 y xp Prof.



1.- el metodo 'SendMail' lo [unico] que 'hace' es...
'depositar' el envio en la bandeja de salida del sistema de correo instalado en la pc ;)
2.- si outlook se esta 'ejecutando'... el envio es 'de inmediato'... en caso contrario... 'hasta' que abras outlook :-(
[con las 'consabidas' advertencias de outlook de que 'alguien esta intentando enviar...'] :))
3.- la hoja que estas enviando... 'conserva' su nombre -pero- en el libro nuevo que se llama... 'Libro_n' ???
4.- si quieres conocer diferentes alternativas/formas/metodos/... para hacer envios por vba...
-> te sugiero visitar la pagina de Ron de Bruin [especificamente la seccion de 'envios'] <-
http://www.rondebruin.nl/sendmail.htm
donde podras 'navegar' para conocer otras opciones como:
- CDO [sin mensajes de advertencia] no 'requiere' de un servidor de correo 'instalado' o...
- Outlook-Express [amigable aunque con poco soporte' en vba] o...
- Outlook [de office] que resulta mucho mas 'amigable'
incluso... puedes 'descargar' un complemento para tus envios 'directos' desde excel en:
http://www.rondebruin.nl/mail/add-in.htm

saludos,
hector.

Preguntas similares