如何修改Outlook功能区宏名称中的ThisOutlookSession部分以缩短名称
缩短Outlook宏名称(去掉ThisOutlookSession前缀)
嘿,这问题我之前帮人处理过,要去掉ThisOutlookSession这个冗长的前缀,有几个实用的方法,看你哪种更顺手:
方法1:把宏移到普通模块(最推荐)
默认情况下,ThisOutlookSession里的宏调用时必须带上模块名前缀。把宏移到普通模块后,就能用「项目名.宏名」的简洁格式,要是你已经把项目名改得很短(比如OT),宏名直接就变成OT.OpenTemplate1,清爽多了:
- 打开Outlook的VBA编辑器(按
Alt+F11) - 右键点击你的项目(你已经改短名字的那个,比如原Project1),选择插入 → 模块
- 打开
ThisOutlookSession,把Sub OpenTemplate1()这类打开模板的代码,复制粘贴到新创建的普通模块里 - 删掉
ThisOutlookSession里对应的宏代码(注意别删了Application_Startup这类Outlook事件处理代码) - 保存后,宏名称自动去掉
ThisOutlookSession前缀
方法2:给功能区按钮自定义名称(不用动代码)
如果不想折腾代码位置,直接在Outlook功能区给宏按钮设置短名字,用户完全看不到冗长的宏路径:
- 点击Outlook顶部「文件」→「选项」→「自定义功能区」
- 右侧选中要添加按钮的选项卡,点击「新建组」(给组起个名字,比如「快速模板」)
- 选中新建的组,点击右侧「添加」按钮
- 弹出窗口里选择「宏」,找到你的长名称宏添加到组里
- 选中刚添加的宏,点击「重命名」,输入短名字(比如「合同模板」「请假模板」),还能选个好看的图标
- 确定后,功能区显示的就是你设置的短名字,用户点击直接触发宏,完全看不到
ThisOutlookSession
方法3:给ThisOutlookSession设置短别名(进阶)
要是不想移动代码,还能给ThisOutlookSession模块改个短名字:
- 在VBA编辑器里选中
ThisOutlookSession模块 - 按
F4打开属性窗口,找到「(名称)」项,把默认的ThisOutlookSession改成短名字,比如OM或者Macros - 保存后,宏名称变成「项目名.短别名.宏名」,比如
OT.OM.OpenTemplate1,比原来的长名字短很多
注意事项
- 移动宏到普通模块时,确保宏代码没有依赖
ThisOutlookSession的专属对象(比如事件相关代码别移) - 部署时记得调整Outlook的宏安全设置,确保用户能正常运行你的宏
内容的提问来源于stack exchange,提问作者Craig
相关产品推荐
相关产品推荐

