使用 Outlook 发送电子邮件工作表,从打开的工作簿中获取值,从 Excel

哈特曼

我打开了我的“MASTER.xlsm”工作簿。我从“MASTER.xlsm”运行代码。

我想从我的“MASTER.xlsm”获取值到新创建的 Outlook 电子邮件。我不会让他们到那里。

代码中的序列有问题吗?

Sub EmailWithOutlook()
    Dim oApp As Object
    Dim oMail As Object
    Dim WB As Workbook
    Dim WBBW As Workbook
    Dim FileName As String
    Dim wSht As Worksheet
    Dim shtName As String
    Set WBBW = Workbooks("MASTER.xlsm")
    WBBW.Worksheets("MAIN").Range("D134").Value = variableX
    WBBW.Worksheets("MAIN").Range("D11").Value = variableY
    WBBW.Worksheets("MAIN").Range("D13").Value = variableZ

    Application.ScreenUpdating = False

    ' Make a copy of the active worksheet
    ' and save it to a temporary file
    ActiveSheet.Copy
    Set WB = ActiveWorkbook

    FileName = "My file"
    On Error Resume Next
    Kill "\" & FileName
    On Error GoTo 0
    WB.SaveAs FileName:=Environ$("temp") & "\" & FileName

    'Create and show the Outlook mail item
    Set oApp = CreateObject("Outlook.Application")
    Set oMail = oApp.CreateItem(0)
    With oMail
        'Uncomment the line below to hard code a recipient
        .To = ""
        'Uncomment the line below to hard code a subject
        .Subject = "My subject | " & variableX & " | " & variableY
        'Uncomment the lines below to hard code a body
        .HTMLBody = "<BODY style=font-size:11pt;font-family:Calibri>Dear Sir/Madam, <br><br> please check this " & _
        variableZ & "" & _
        " and comment if needed.<br> Waiting for your reply ASAP. <br><br> Thank you!</BODY>" & .HTMLBody
        .Attachments.Add WB.FullName
        .Display
    End With

    'Delete the temporary file
    WB.ChangeFileAccess Mode:=xlReadOnly
    Kill WB.FullName
    WB.Close SaveChanges:=False

    'Restore screen updating and release Outlook
    Application.ScreenUpdating = True
    Set oMail = Nothing
    Set oApp = Nothing
End Sub
李西蒙

我检查了你的代码,正如尼顿所说,你应该首先声明变量,例如“variableX”“variableY”“variableZ”。但是,据我所知,您只想从 Excel 文件发送电子邮件。所以可以参考如下代码:

Sub test()


Dim strReportName As String
Dim oLook As Object
Dim oMail As Object
Dim olns As Outlook.Namespace
Dim strTO As String
Dim strCC As String
Dim strMessageBody As String
Dim strSubject As String

Set oLook = CreateObject("Outlook.Application")
'Set olns = oLook.GetNamespace("MAPI")
Set oMail = oLook.CreateItem(0)

'*********************** USER DEFINED SECTION ************************
strTO = "[email protected]"
strMessageBody = "<---This is an automatically generated email. Please do not respond.---->"
strSubject = "Daily Skip"
'*********************************************************************

With oMail
.To = strTO
 .CC = strCC
 .Body = strMessageBody
 .Subject = strSubject

 '.Attachments.Add "C:\Output Reports\SkipLotReport.xlsx"
 .Display
End With

Set oMail = Nothing
Set oLook = Nothing
'Set olns = Nothing


'DB.Close
'tbloutput.Close
'dbLocal.Close
objWorkbook.Close

'Set objmail = Nothing
'Set DB = Nothing
Set tbloutput = Nothing


Set objWorksheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing
Set tbloutput = Nothing
Set dbLocal = Nothing
End Sub

注意:请参考 Outlook 库。

有关更多信息,请参阅链接:使用 VBA 向多个收件人发送电子邮件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel 使用 Excel 工作表中的特定字段在 Outlook 中自动发送电子邮件

来自分类Dev

如何在Excel / VBA中通过电子邮件将工作表发送给自己(根据打开的Outlook帐户动态更改电子邮件)

来自分类Dev

如何使Excel向包含工作簿中特定工作表的特定收件人发送电子邮件

来自分类Dev

将Outlook电子邮件信息导出到Excel工作簿

来自分类Dev

将 Outlook 电子邮件数据导出到启用宏的 Excel 工作簿

来自分类Dev

更改电子表格后,使用Outlook从Excel发送自动电子邮件

来自分类Dev

VBA-如何在Outlook中发送电子邮件之前在Excel中存储.SentOn

来自分类Dev

从HTML网页发送电子邮件而不使用Outlook

来自分类Dev

从 Excel 发送 Outlook 电子邮件

来自分类Dev

在Excel工作表上的特定单元格更新时,确认自动发送Outlook电子邮件通知

来自分类Dev

使用C#从打开的Excel工作表中获取当前单元格值

来自分类Dev

使用python将带有附件的Outlook电子邮件发送到Excel中的用户列表

来自分类Dev

VBA使用Outlook打开Excel无法打开

来自分类Dev

使用Excel发送Outlook会议邀请

来自分类Dev

使用Outlook 2010将Excel文件作为图像插入电子邮件中

来自分类Dev

使用Excel VBA通过模板在Outlook 2010中创建电子邮件

来自分类Dev

将Outlook“以脚本方式运行”规则集成到发送电子邮件的Excel VBA代码中

来自分类Dev

通过 Excel 宏发送电子邮件时绕过 Outlook 安全

来自分类Dev

使用Python和Excel附件发送电子邮件

来自分类Dev

使用Gmail从Excel发送电子邮件

来自分类Dev

使用Excel VBA在Outlook电子邮件中使用HTML设置背景图像

来自分类Dev

Excel 2010电子邮件VBA发送整个工作簿

来自分类Dev

使用VBA将一系列单元格从封闭的工作簿复制到已经包含正文的Outlook电子邮件中?

来自分类Dev

使用 bat 文件使用 Outlook 2013 以编程方式发送电子邮件

来自分类Dev

使用 VBA 在 Outlook 中通过电子邮件发送多个数据表

来自分类Dev

使用imap获取电子邮件附件,但是无论是从Outlook Client还是通过Web发送电子邮件,都会得到不同的结果

来自分类Dev

使用Excel VBA搜索Outlook电子邮件(并对其进行回复)

来自分类Dev

使用VBA将富文本表格从Outlook电子邮件复制到Excel吗?

来自分类Dev

使用Excel VBA将每日收到的电子邮件提示从Outlook导出到文件

Related 相关文章

  1. 1

    Excel 使用 Excel 工作表中的特定字段在 Outlook 中自动发送电子邮件

  2. 2

    如何在Excel / VBA中通过电子邮件将工作表发送给自己(根据打开的Outlook帐户动态更改电子邮件)

  3. 3

    如何使Excel向包含工作簿中特定工作表的特定收件人发送电子邮件

  4. 4

    将Outlook电子邮件信息导出到Excel工作簿

  5. 5

    将 Outlook 电子邮件数据导出到启用宏的 Excel 工作簿

  6. 6

    更改电子表格后,使用Outlook从Excel发送自动电子邮件

  7. 7

    VBA-如何在Outlook中发送电子邮件之前在Excel中存储.SentOn

  8. 8

    从HTML网页发送电子邮件而不使用Outlook

  9. 9

    从 Excel 发送 Outlook 电子邮件

  10. 10

    在Excel工作表上的特定单元格更新时,确认自动发送Outlook电子邮件通知

  11. 11

    使用C#从打开的Excel工作表中获取当前单元格值

  12. 12

    使用python将带有附件的Outlook电子邮件发送到Excel中的用户列表

  13. 13

    VBA使用Outlook打开Excel无法打开

  14. 14

    使用Excel发送Outlook会议邀请

  15. 15

    使用Outlook 2010将Excel文件作为图像插入电子邮件中

  16. 16

    使用Excel VBA通过模板在Outlook 2010中创建电子邮件

  17. 17

    将Outlook“以脚本方式运行”规则集成到发送电子邮件的Excel VBA代码中

  18. 18

    通过 Excel 宏发送电子邮件时绕过 Outlook 安全

  19. 19

    使用Python和Excel附件发送电子邮件

  20. 20

    使用Gmail从Excel发送电子邮件

  21. 21

    使用Excel VBA在Outlook电子邮件中使用HTML设置背景图像

  22. 22

    Excel 2010电子邮件VBA发送整个工作簿

  23. 23

    使用VBA将一系列单元格从封闭的工作簿复制到已经包含正文的Outlook电子邮件中?

  24. 24

    使用 bat 文件使用 Outlook 2013 以编程方式发送电子邮件

  25. 25

    使用 VBA 在 Outlook 中通过电子邮件发送多个数据表

  26. 26

    使用imap获取电子邮件附件,但是无论是从Outlook Client还是通过Web发送电子邮件,都会得到不同的结果

  27. 27

    使用Excel VBA搜索Outlook电子邮件(并对其进行回复)

  28. 28

    使用VBA将富文本表格从Outlook电子邮件复制到Excel吗?

  29. 29

    使用Excel VBA将每日收到的电子邮件提示从Outlook导出到文件

热门标签

归档