使用 Excel 发送电子邮件的宏。

2025年3月17日 | 阅读 8 分钟

使用 Excel 发送电子邮件的目的是什么?

在深入了解具体细节之前,回顾从 Excel 发送电子邮件的优点至关重要,因为你们中一些偶然发现本教程的人可能不理解这个概念。

这些优点包括

  1. 优化您的流程。
  2. 缩短创建和发送电子邮件所需的时间。
  3. 减少创建和发送电子邮件期间发生错误的可能性。

一切都可以自动化。例如,假设您的同事或员工经常更新电子表格或整个文档。在这种情况下,Excel 可以自动向您发送电子邮件,只要单元格值发生变化、文档在 Excel 中更新或满足条件。

您可以将 Excel 电子表格中的客户数据添加到您的电子邮件中,使其更具吸引力和个性化。

使用宏通过 Excel 发送电子邮件的五种方法

1. 使用 Outlook 对象库发送电子邮件

在第一个宏中,我们将启用“Microsoft Outlook 16.0 对象库”以从 Excel 发送电子邮件。此外,我们必须使用 Excel 登录我们的 Outlook 帐户。

步骤:

  • 我们将首先打开 Visual Basic 窗口。
  • 打开 Excel 并启用开发人员选项卡。
  • “开发人员”选项卡包含 Excel 电子邮件发送功能;但是,你们中有些人可能默认看不到工具栏中的此选项卡。
  • 导航到“文件”->“选项”->“自定义功能区”进行此更改。
Macros to Send an Email using Excel.

这应该会启动一个新对话框,其中包含已启用或禁用的“开发人员”选项卡以及其他选项卡。

  • 首先,从“开发人员”选项卡中选择“Visual Basic”。
Macros to Send an Email using Excel.

或者,您可以通过按 ALT + F11 打开 VBA 窗口。

  • 其次,在“工具”下选择“引用...”,即“工具”>>>“选择引用”。
Macros to Send an Email using Excel.
  • 第三,选择“Microsoft Outlook 16.0 对象库”后单击“确定”。(根据您的 Excel 版本,如果是 10,您可以选择 14.0)
Macros to Send an Email using Excel.

因此,我们将激活 Outlook 对象库。

使用 Outlook 对象库进行电子邮件传输

  • 通过选择“插入”>>>“模块”。
Macros to Send an Email using Excel.

在这里,我们将输入我们的代码。

  • 之后输入以下代码。

代码解释

  1. 我们首先调用 Sub 过程 Macro_Send_Email。
  2. 接下来,正在声明变量类型。
  3. 第三,我们已选择 Outlook 作为我们的邮件程序。
  4. 接下来,我们将选择单元格 D3 作为我们的电子邮件地址。
  5. 然后,我们的代码设置电子邮件内容。
  6. 最后,我们的电子邮件通过“VBA Display Property”在此处显示。因此,发送电子邮件将需要我们手动单击“发送”。我们还可以通过使用“发送属性”功能不显示电子邮件就发送它们。
  7. 然后应保存并关闭 ModuleModule。

现在将运行代码。

  • 首先,在“开发人员”选项卡下选择“宏”。即“开发人员”选项卡 >>> “选择宏”。
Macros to Send an Email using Excel.

宏的对话框将打开。

  • 其次,选择“Macro_Send_Email”作为我们的 Sub 过程。
  • 最后,单击“运行”。
Macros to Send an Email using Excel.

代码执行后,我们将看到电子邮件窗口。我们现在可以选择“发送”。所以现在您知道如何通过 Excel 使用 VBA 以第一种方式发送电子邮件。

2. 用于从 Gmail 帐户发送电子邮件的 Excel 宏

我们只需要此方法所需的 Gmail 帐户的安全性较低的应用访问。此外,我们必须通过“引用”菜单激活 Microsoft CDO。

步骤:

  • 首先,按照第一种方法中的说明打开引用对话框。
  • 其次,选择“Microsoft CDO for Windows 2000 Library”后单击“确定”。
    Macros to Send an Email using Excel.
  • 第三,打开您的 Google 帐户设置并选择“安全”。
  • 最后,启用对安全性较低的应用的访问。
    Macros to Send an Email using Excel.
  • 现在,我们必须打开宏代码。
  • 如第一种方法所示,打开模式并编写以下代码

代码


Macros to Send an Email using Excel.
Macros to Send an Email using Excel.

代码解释

  1. 我们首先调用 Sub 过程 Send_Gmail_Macro。
  2. 接下来,正在声明变量类型。
  3. 第三,我们的代码正在设置电子邮件内容。
  4. 然后我们提供我们的登录信息。在这里,您必须输入您的 ID 和密码。
  5. 接下来,我们将端口转发到 465。
  6. 我们的电子邮件最终被发送出去。

接下来,保存此代码后运行它。

已成功发送电子邮件到提供的地址。

Macros to Send an Email using Excel.

3. 从列向收件人列表发送电子邮件

使用 Excel 中的宏,我们将作为第三种方法向七个收件人发送电子邮件。由于我们将在数据集中找到最后一行,因此较长的列表将与我们的代码一起运行。电子邮件将从单元格 C5-C10 发送。

Macros to Send an Email using Excel.

步骤:

  • 首先,按照第一种方法中的说明在模块窗口中输入此代码

代码


Macros to Send an Email using Excel.

代码解释

  1. 我们首先调用 Macro_Send_Email_From_A_List Sub 过程。
  2. 其次,我们正在选择变量类型。
  3. 第三,Outlook 是我们选择的邮件应用程序。
  4. 接下来,我们在数据集中找到最后一行,即第 10 行。
  5. 之后,我们输入 5 作为“变量 z”的起始值,因为我们的电子邮件从第 5 行开始。此外,由于我们的电子邮件在 C 列中,我们已在 Cells 属性中输入 3。
  6. 然后,在我们的代码中设置电子邮件内容。
  7. 总之,我们使用“.Display”在此处显示我们的电子邮件。因此,为了发送电子邮件,我们必须手动单击“发送”。此外,我们还可以通过使用“.Send”不显示电子邮件就发送它们。

接下来,保存 ModuleModule 并启动它。

Macros to Send an Email using Excel.

我们可以观察到 BCC 正在用于显示我们的所有电子邮件。最后,我们只需点击“发送”即可完成此任务。

4. 单个工作表的电子邮件宏

我们将在本节中将活动工作表通过电子邮件发送给目标个人。我们必须选择 Excel 文件的保存位置。

Macros to Send an Email using Excel.

步骤:

  • 首先,按照方法中的说明在模块窗口中输入此代码

代码


Macros to Send an Email using Excel.

代码解释

  1. 首先,我们调用 Macro_Email_Single_Sheet 子过程。
  2. 其次,我们正在选择变量类型。
  3. 第三,将活动工作表复制并另存为不同的工作簿。
  4. 接下来,我们决定使用 Outlook 作为我们的邮件应用程序。
  5. 然后,在我们的代码中设置电子邮件内容。
  6. 之后,将工作表作为附件添加到电子邮件中。
  7. 最后,要显示我们的电子邮件,请使用“.Display”。因此,为了发送电子邮件,我们必须手动单击“发送”。此外,我们还可以通过使用“.Send”不显示电子邮件就发送它们。

接下来,保存 ModuleModule 并启动它。

工作表名称将显示在窗口中。点击“发送”完成工作。

Macros to Send an Email using Excel.

5. 使用单元格值发送电子邮件宏

我们对最终方法的数据集做了一些小的修改。数据集现在包含“付款到期”列。我们将直接发送一封包含城市“布里斯托尔”的电子邮件。由于很明显它在第 5 行,我们只会向那个人发送电子邮件。

Macros to Send an Email using Excel.

步骤:

  • 首先,按照方法中的说明在模块窗口中输入此代码。

代码


Macros to Send an Email using Excel.

代码解释

  1. 最初,我们将此子过程称为 Send_Email_Condition。
  2. 其次,我们将“Conditions”指定为我们的工作表,并声明不同类型的变量。
  3. 第三,已找到最终行号。此外,在代码中,第 5 行是我们的最后一行,因为我们的值从那里开始。
  4. 接下来,执行 Send_Email_With_Multiple_Condition,我们的第二个 Sub 过程。
  5. 接下来,我们选择了 Outlook 作为我们的邮件应用程序。
  6. 接下来,我们的代码设置电子邮件内容。
  7. 我们使用 Attachment 方法将 Excel 文件附加到电子邮件中。
  8. 然后,我们的电子邮件通过“.Display”扩展名在此处显示。因此,为了发送电子邮件,我们必须手动单击“发送”。此外,我们还可以通过使用“.Send”不显示电子邮件就发送它们。

接下来,保存 ModuleModule 并启动它。

Macros to Send an Email using Excel.

最后,我们演示了另一种使用 VBA 宏从 Excel 发送电子邮件的方法。

Macros to Send an Email using Excel.
下一主题数学函数