我有一个 Excel 电子表格,其中列出了驾驶员的凭证(即驾驶执照、医疗卡等),四列中列出了相应的到期日期。我已经设置了条件格式,可以根据“今天的日期”进行比较来区分/用颜色编码到期日期。但是,该列表包含近 150 名驾驶员,因此我正在寻找一种方法来通过电子邮件自动向我、驾驶员和驾驶员主管发送通知,告知他们日期即将到期,这样我就不必每天手动进入列表查看哪些日期即将到期或已经到期。考虑到文件本身存储在通过 MS Teams 访问的公司 SharePoint 站点上,因此任何可用内容(如 Power Automate 或 Outlook)都将受公司安全协议(我无法控制)的约束,并由多个用户使用/共享,是否可以做到这一点?驾驶员资格证明电子表格
答案1
一种方法是将数据导入 Access,然后为每个日期范围设置一组查询。然后在 MS Word 中,您可以为每个查询进行邮件合并。
邮件合并允许发送电子邮件。
答案2
您可以使用 vba 代码发送电子邮件,但仍需要您每天至少打开一次工作簿来运行宏。如果工作簿已关闭,则宏无法运行。只需谷歌搜索“通过 vba 发送电子邮件”。
Power Automate 流程可能会提供一些方法来进一步实现自动化(无需在本地计算机上打开工作簿即可运行),但我不确定 Excel 文件中的数据是否可以用作输入触发器或邮件参数。Power Automate 运行完全安全,具有身份验证,因此安全性不应该成为问题。事实上,如果您的公司有 Office 365 企业版,事情会更容易。
至于 VBA 解决方案,最基本的 VBA 宏可以准备要发送的电子邮件,使用mailto:// URL,可包含主题和正文。这将使用本地计算机的默认电子邮件客户端生成多封电子邮件草稿,并且活动用户需要多次按下发送按钮。这种半自动方法的好处是将电子邮件服务器设置留给默认邮件客户端。
自动化 VBA 宏需要访问其他参考对象,如“Microsoft Outlook 16.0 对象库”或较旧的“协作数据对象 (CDO)”。前者要求使用本地登录的 MS Outlook 客户端发送电子邮件,并以与使用 VBA 控制任何 Ms Office 产品相同的方式控制 Outlook。后者可能需要先安装 CDO,以及 SMTP 服务器连接设置(使用 SSL 加密,具体取决于您公司的邮件服务器设置、用户身份验证等)。这些只是我在最初的谷歌搜索中弹出的前两个方法/对象。我相信还有其他方法/对象(例如,如果您使用的是 Thunderbird 或 Groupwise 电子邮件客户端)。