在Outlook的宏安全性设置如果选择了“为所有宏提供通知”

并且,在【编程访问】中选择了“总是向我发出警告”

在其他VBA中创建邮件过程中,如果修改Recipients或者执行Send方法,都会弹出一个允许和拒绝的对话框。

本帖中包含一个工具,可以自动点击最左侧的【允许】按钮,从而保证程序的连续执行。下载地址: AllowOutlookSecurityDialog.rar

下载后解压缩,其中的exe文件不要双击,放在那儿就行。

然后打开“发邮件.xlsm”,可以看到如下VBA代码:

Sub Test()
Dim OutlookApp As outlook.Application
Set OutlookApp = GetObject(, "outlook.Application")
Dim mail As outlook.MailItem
'预先启动AllowOutlookSecurityDialog.exe,60表示总共监视60秒。
Shell "E:\AllowOutlookSecurityDialog\AllowOutlookSecurityDialog.exe " & "Button 允许 60", vbHide
For i = To
Set mail = OutlookApp.CreateItem()
With mail
.Recipients.Add "32669315@qq.com"
.Subject = Time & " - Mail" & i
.Send
End With
Next i
End Sub

需要注意的是这行代码一定要写在创建邮件之前,因为它是异步调用的,所以在阻塞之前必须启动exe文件。

Shell "E:\AllowOutlookSecurityDialog\AllowOutlookSecurityDialog.exe " & "Button 允许 60", vbHide

其中,"E:\AllowOutlookSecurityDialog\AllowOutlookSecurityDialog.exe "是那个exe文件的具体路径,根据你解压的路径进行调整,注意双引号左侧需要保证一个空格。

另外,"Button 允许 60"里面的允许可以改成Allow(如果你是英文版Outlook),最后的60表示本工具从执行起的监视时间,意思是在60秒内凡是遇到弹出对话框,就自动点击,而不论你创建了多少封邮件。

最后送一个动态图:

增强版:

下面是使用UI Automation技术实现的监视器,下载后双击打开其中的exe文件,该窗口会自动最小化到任务栏。

llowOutlookSecurityDialog_UIA.rar

然后,你可以任意创建邮件和发送邮件了。只要遇到安全对话框就自动给你处理了。而且是秒杀,速度非常快!非常实时。

效果图:

Excel VBA发送Email时自动允许Outlook安全对话框的更多相关文章

  1. Delphi7中使用Indy9的IdSmtp发送email时subject过长会出现乱码的解决办法

    procedure TIdMessageClient.SendHeader(AMsg: TIdMessage); var LHeaders: TIdHeaderList; begin LHeaders ...

  2. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法

    excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...

  3. 转: "SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092"

    在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息: 无法发送邮件.SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法.请尝试更改帐户设置中的 SMTP ...

  4. 【VBA】EXCEL通过VBA生成SQL,自动生成创建表结构SQL

    原文:https://blog.csdn.net/zutsoft/article/details/45441343 编程往往与数据库密不可分,一个项目往往有很多的表,很多时候通过excel来维护表结构 ...

  5. Excel VBA附合导线平差自动计算表

    这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...

  6. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  7. excel vba 数据分析

    (Visual Basic Application) VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visua ...

  8. 使用PHP发送email进行账号激活或者密码修改操作

    使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...

  9. VBA中四种自动运行的宏以及模块的含义

    在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate. ...

随机推荐

  1. lastz

    lastz sequence1.fasta sequence2.fasta 其中,sequence1.fasta是reference genome :sequence2.fasta是需要比对的geno ...

  2. archlinux下安装mysql

    mysql的安装 这里安装的是mariadb一个mysql的开源版本,实际使用体验没有差别 1. 安装Maria DB sudo pacman -S mariadb 2. 配置目录 sudo mari ...

  3. VUE中常用的一些方法

    1.获取URL中的参数 export function getUrlKey(name) { return decodeURIComponent((new RegExp('[?|&]' + na ...

  4. oracle中设置主键

    1.创建表 .创建表 create table "c_user"( "id" number primary key, "username" ...

  5. 5 ~ express ~ 连接数据库

    1, 在schema 目录创建 users.js 文件,通过 mongoose 模块来操作数据库 2,  在定义 users 表结构之前,需要让应用支持或连接数据库 . 所以要在应用的入口文件 app ...

  6. C++编程学习(五) C++ 存储类

    一.auto 存储类 根据初始化表达式自动推断被声明的变量的类型. auto f=3.14; //double auto s("hello"); //const char* aut ...

  7. vps 跑流量

  8. Java基础——HashTable源码分析

    HashTable是基于哈希表的Map接口的同步实现 HashTable中元素的key是唯一的,value值可重复 HashTable中元素的key和value不允许为null,如果遇到null,则返 ...

  9. Android进阶——多线程系列之wait、notify、sleep、join、yield、synchronized关键字、ReentrantLock锁

    多线程一直是初学者最困惑的地方,每次看到一篇文章,觉得很有难度,就马上叉掉,不看了,我以前也是这样过来的.后来,我发现这样的态度不行,知难而退,永远进步不了.于是,我狠下心来看完别人的博客,尽管很难但 ...

  10. Day 11:静态导入、增强for循环、可变参数的自动装箱与拆箱

    jdk1.5新特性-------静态导入 静态导入的作用: 简化书写. 静态导入可以作用一个类的所有静态成员.  静态导入的格式:import static 包名.类名.静态的成员: 静态导入要注意的 ...