Excel SendMail

MsgSubject EmailToEmailCCEmailBCC AttachmentImportance


Public Enum ImportanceLevel

  High

  Medium
  Low
End Enum

Function SendMessage(Msg As String, Subject As String, EmailTo As String, _
                     Optional EmailCC As String, Optional EmailBCC As String, _
                     Optional Attachment As String, _
                     Optional Importance As ImportanceLevel = 1)
' by Jimmy Pena, http://www.codeforexcelandoutlook.com, October 18 2009

  On Error Resume Next

  Const olMailItem As Long = 0


 Dim Outlook As Object  ' Outlook.Application
 Dim OutlookMsg As Object  'Outlook.MailItem


 Set Outlook = GetOutlookApp
  If Outlook Is Nothing Then GoTo ProgramExit

 
 Set OutlookMsg = Outlook.CreateItem(olMailItem)

  With OutlookMsg

    ' set basic params
   .Subject = Subject
    .HTMLBody = Msg

    .To = EmailTo

    ' add cc's (if any)
   If Len(EmailCC) > 0 Then
      .CC = EmailCC
    End If

    ' add bcc's (if any)
   If Len(EmailBCC) > 0 Then
      .BCC = EmailBCC
    End If

    ' add attachments
   If Len(Attachment) > 0 Then
      If Len(Dir(Attachment)) > 0 Then
        .Attachments.Add (Attachment)
      End If
    End If

    ' set importance
   Select Case Importance
    Case 0  ' high
     .Importance = olImportanceHigh
    Case 1  ' medium
     .Importance = olImportanceNormal
    Case 2  ' low
     .Importance = olImportanceLow
    End Select

    .Display
    '.Send
    '.Save
  End With
On Error GoTo continue
SendEmail:
     AppActivate OutlookMsg
     DoEvents
    SendKeys "%s", Wait:=True    '特別注意此處,該項表示相關於在郵件編輯窗口中,單擊發送按鈕
    DoEvents
    AppActivate OutlookMsg
GoTo SendEmail
continue:
   On Error GoTo 0
    Set Outlook = Nothing
    Set OutlookMsg = Nothing

'Next
Set OutlookMsg = Nothing
Set Outlook = Nothing

ProgramExit:
  Exit Function
ErrorHandler:
  MsgBox Err.Number & " - " & Err.Description
  Resume ProgramExit
End Function

Function GetOutlookApp() As Object
  On Error Resume Next
  Set GetOutlookApp = GetObject(, "Outlook.Application")
  If Err.Number <> 0 Then
    Set GetOutlookApp = CreateObject("Outlook.Application")
  End If
  On Error GoTo 0
End Function
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值