Enviar correo desde Excel 2007

14/04/2009 - 00:03 por maap | Informe spam
Hola a todos, tenía el siguiente procedimiento que saqué de una guía
para enviar correos electrónicos a direcciones de una lista de excel.
Me funcionaba correctamente en excel 2003, pero me da error en tiempo
de ejecución con Excel 2007 y desconozco la razón. Cualquier pista es
bienvenida.

Sub sendemail()
'utiliza vinculación tempran
'requiere referencia a la Biblioteca Outlook Object
Dim OutlookApp As Outlook.Application
Dim MIitem As Outlook.MailItem
Dim cell As Range
Dim Subj As String
Dim EmailAddr As String
Dim Recipient As String
Dim Bonus As String
Dim Msg As String

'Crear el objeto Outlook
Set OutlookApp = New Outlook.Application

'realizar un bucle por filas
For Each cell In Columns("B").Cells.SpecialCells
(xlCellTypeConstants)
If cell.Value Like "*@*" Then
'obtener los datos
Subj = "Your Annual Bonus"
Recipient = cell.Offset(0, -1).Value
EmailAddr = cell.Value
Bonus = Format(cell.Offset(0, 1).Value, "$ 0.000.")

'crear el mensaje
Msg = "Dear " & Recipient & vbCrLf & vbCrLf
Msg = Msg & " I am pleased to inform you that your annual
bonus is "
Msg = Msg & Bonus & vbCrLf & vbCrLf
Msg = Msg & "William Rose" & vbCrLf
Msg = Msg & "President"

'crear Mail Item y enviarlo
Set MIitem = OutlookApp.CreateItem(olMailItem)
With MIitem
.To = EmailAddr
.Subject = Subj
.Body = Msg
.Send

End With
End If
Next
End Sub

Po cierto las referencias a Outlook 2007 las tengo activadas y el
error que me da es en tiempo de ejecución.

Saludos y gracias!!
Miguel
 

Leer las respuestas

#1 Héctor Miguel
14/04/2009 - 06:14 | Informe spam
hola, Miguel !

1) la version de office (excel y outlook) son exactamente la misma (2003 o 2'007) en el equipo donde falla el codigo ???

2) podrias exponer exactamente el error que obtienes (numero y texto del mensaje) asi como la linea de codigo que lo causa ???

comentas (si hubiera) cualquier detalle "en el tintero" ?
saludos,
hector.

__ 1 __
... el siguiente procedimiento que saque de una guia para enviar correos electronicos a direcciones de una lista de excel.
Me funcionaba correctamente en excel 2003, pero me da error en tiempo de ejecucion con Excel 2007 y desconozco la razon.
Cualquier pista es bienvenida...


__ 2 __
Po cierto las referencias a Outlook 2007 las tengo activadas y el error que me da es en tiempo de ejecucion.


__ el codigo expuesto __
Sub sendemail()
'utiliza vinculacion tempran
'requiere referencia a la Biblioteca Outlook Object
Dim OutlookApp As Outlook.Application
Dim MIitem As Outlook.MailItem
Dim cell As Range
Dim Subj As String
Dim EmailAddr As String
Dim Recipient As String
Dim Bonus As String
Dim Msg As String
'Crear el objeto Outlook
Set OutlookApp = New Outlook.Application
'realizar un bucle por filas
For Each cell In Columns("B").Cells.SpecialCells(xlCellTypeConstants)
If cell.Value Like "*@*" Then
'obtener los datos
Subj = "Your Annual Bonus"
Recipient = cell.Offset(0, -1).Value
EmailAddr = cell.Value
Bonus = Format(cell.Offset(0, 1).Value, "$ 0.000.")
'crear el mensaje
Msg = "Dear " & Recipient & vbCrLf & vbCrLf
Msg = Msg & " I am pleased to inform you that your annual bonus is "
Msg = Msg & Bonus & vbCrLf & vbCrLf
Msg = Msg & "William Rose" & vbCrLf
Msg = Msg & "President"
'crear Mail Item y enviarlo
Set MIitem = OutlookApp.CreateItem(olMailItem)
With MIitem
.To = EmailAddr
.Subject = Subj
.Body = Msg
.Send
End With
End If
Next
End Sub

Preguntas similares