2012-02-18 71 views
0

我正在使用以下VBA项目将默认字符串应用到主题字段的开头,并包含所有新电子邮件。但 - 我只希望这个脚本在Outlook打开到一个特定的帐户时运作(即我有2个Outlook用户帐户/ PST文件 - 个人&业务 - 并且只有当主题字符串添加到电子邮件时,我正在商业账户) 手指交叉 - 感谢您的帮助。柯克Outlook 2007 VBA - 仅在特定Outlook帐户中应用操作

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) 
If MsgBox("Send with 'Myrtleford Festival" at start of subject?", vbYesNo, "Send as Festival mail") = vbYes Then 
     If (Left(Trim(Item.Subject), 11)) <> "The " Then 
    Item.Subject = "The Myrtleford Festival 2012/ " + Item.Subject 
    End If 
End If 

结束子

回答

0

好,很酷。事实上,我偶然发现了一个完全可靠的&优雅的解决方案。在Outlook的信任中心>宏安全性中,我选择了“为所有宏警告”选项。现在,当我将Outlook打开到我的任何配置文件时,弹出窗口会询问是否要启用/禁用宏。由于VBA脚本是唯一运行的宏,我可以轻松地过滤是否使用默认主题字符串。这将工作永远100%的时间(因为我看不出有任何理由为什么我会永远使用另一个宏/ VBA脚本)

0

这是一种方法的基础。

这是一段,因为我有多个帐户,但是,当我这样做了,最高级别文件夹是非常不同的。下面的代码将输出到立即窗口顶层文件夹的名称。在我目前的系统上,这将给出:

Personal Folders 
Archive Folders 
Test Folders 

如果您的两个帐户有不同的顶级文件夹,您可以区分您的帐户。

如果你喜欢这种方法,但最高级别文件夹都是一样的,我有在层次结构中的任何深度特定文件夹搜索的程序。即使主文件夹是相同的,我假设一些子文件夹是不同的。

​​
+0

嗨托尼。对不起,我用匆忙的方式写下了我的问题,并使用了错误的术语。实际上,我有2个Outlook配置文件,每个配置文件都有一个单独的.pst文件。我只想在我使用其中一个配置文件时应用VBA例程。柯克 – 2012-02-20 02:11:56

+0

这就是我以为你的意思。我假设两个PST文件中的文件夹结构不同。如果是这样,您可以通过是否存在特定文件夹来区分它们。上面的代码仅查看顶层文件夹。也许这就够了。如果不是,我可以在我的答案中添加另一个例程来搜索整个层次结构。 – 2012-02-20 09:21:42

相关问题