从宏添加到Outlook功能区

时间:2018-04-27 20:01:22

标签: vba outlook outlook-vba

我有模板我试图添加到用户'个人电脑,可以在功能区中轻松访问这些模板。除了每个宏的名称太长以外,我大部分时间都取得了成功。

是Project1.ThisOutlookSession.OpenTemplate1。我意识到最后一部分是用于打开该特定模板的sub的名称。然后我意识到我可以改变" Project1"任何事情,从而缩短字符串。

我想知道如何更改ThisOutlookSession部分甚至更好,删除" Project1.ThisOutlookSession"完全是一部分,只留下我们命名sub的任何东西(这将是模板名称)。我的代码:

'https://www.slipstick.com/outlook/hyperlink-templates/

Dim template As String

Sub OpenTemplate1()
template =     "...Microsoft\Templates\FollowUpOnOrgSurvey.oft"
MakeItem
End Sub

Sub OpenTemplate2()
template = "...Microsoft\Templates\How Are We Doing.oft"
MakeItem
End Sub

Sub OpenTemplate3()
template =     "...Microsoft\Templates\Option1.oft"
MakeItem
End Sub

Sub OpenTemplate4()
template = "...Microsoft\Templates\Option2.oft"
MakeItem
End Sub

Private Sub MakeItem()
Set newItem = Application.CreateItemFromTemplate(template)
newItem.Display
Set newItem = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

ThisOutlookSession是VBA宏所在的默认模块名称。如果从宏名称中删除该部分,则会发生更改,根本找不到VBA子目录。

我建议创建一个COM加载项而不是VBA宏。它们专门用于在多台计算机上分发基于Office的解决方案。 VBA宏不适用于在多台计算机上分发。请参阅Walkthrough: Creating Your First VSTO Add-In for Outlook以快速入门。

另外,您可能会发现To distribute Microsoft Outlook VBA code to other users文章有用。