excel导出outlook邮件

2025-10-29 00:30:40

1、Sub Automail()

'邮件对象

Dim OutlookApp As Object

Dim MailItem As Object

Dim Recipient As Object

Dim i As Integer

'邮件内容变量

Dim Mail_Body As String

Dim Mail_To As String

Dim Mail_CC As String

Dim Mail_Subject As String

Dim Mail_Attachment As String

Dim shift As String

Set OutlookApp = CreateObject("Outlook.Application")

Set MailItem = OutlookApp.CreateItem(0)

ActiveWorkbook.Save

Mail_To = "aaaa@outlook.com"

Mail_CC = "bbbb@outlook.com"

Mail_Subject = "Daily Report - " & Format(Date, "mm/dd")

Mail_Attachment = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name

Mail_Body = "<H2><Font Face = Times New Roman Size = 4>Hi Sir:</H2><BR>" & _

    "Daily Report:" & _

    ExcelToHTML() & _

    "Best Regards<BR>" & _

    "me"

    

'mail content

On Error Resume Next

With MailItem

    .To = Mail_To

    .CC = Mail_CC

    .BCC = ""

    .Subject = Mail_Subject

    .attachments.Add Mail_Attachment

    .HTMLBody = Mail_Body

    .Display   'or use .send

End With

On Error GoTo 0

Set OutlookApp = Nothing

Set MailItem = Nothing

End Sub

Function ExcelToHTML() '提取需要的表格转成HTML格式

Application.ScreenUpdating = False

Dim WB As Workbook

Dim TempWB As Workbook

Dim TempFile As String

Set WB = ThisWorkbook

'select necessary range

ThisWorkbook.Sheets("Sheet1").Range("A2:B3").Select

Selection.Copy

'create tempWB to save selected range

Set TempWB = Workbooks.Add

TempFile = "a.htm"

TempWB.Activate

TempWB.ActiveSheet.Range("A1").Select

Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

ActiveSheet.Paste

'Publish the sheet to a htm file

With TempWB.PublishObjects.Add( _

     SourceType:=xlSourceRange, _

     Filename:=TempFile, _

     Sheet:=TempWB.ActiveSheet.Name, _

     Source:=TempWB.ActiveSheet.UsedRange.Address, _

     HtmlType:=xlHtmlStatic)

    .Publish (True)

End With

'Read all data from the htm file into ExcelToHTML

Set fso = CreateObject("Scripting.FileSystemObject")

Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)

ExcelToHTML = ts.ReadAll

ts.Close

ExcelToHTML = Replace(ExcelToHTML, "align=center x:publishsource=", _

                      "align=left x:publishsource=")

'Close TempWB

TempWB.Close savechanges:=False

'Delete the htm file we used in this function

Kill TempFile

Set ts = Nothing

Set fso = Nothing

Set TempWB = Nothing

Application.ScreenUpdating = True

End Function

excel导出outlook邮件

excel导出outlook邮件

excel导出outlook邮件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢