目前我们办公室有 Outlook 2003。我们将迁移到 Outlook 2013。
在 Outlook 2003 中,我们有一个命令栏,例如将邮件项目保存到用户指定的文件夹或将项目移动到所需的团队。
在用户表单中,最终用户可以将他的设置设置为他想要的文件夹或选择他当前所在的团队。在此设置表单中,用户可以填写多个输入字段。
每当他单击命令栏上的按钮时,outlook 都会检查他的设置以查看他在哪个团队,他想要的保存文件夹等。
此用户定义的设置由其标签存储和调用
(Application.ActiveExplorer.CommandBars("Toolbar").Controls.Item(1).tag)
据我所知,在 Internet 上发现 Outlook 2013 不支持命令栏。我可以安装 commandBar,但是只要您重新启动 outlook,该栏就消失了,设置也消失了。
有没有办法保存/存储最终用户在用户表单中所做的设置,以便脚本根据他的设置将邮件项目保存到正确的文件夹或团队?
我试图找到解决方案,但尚未找到,或者不知道去哪里寻找。
希望您能引导我朝着正确的方向寻找解决方案。
(注意:我知道一点 VBA,可以读写它,但发现很难解释它是如何工作的。如果我在问题中遗漏了一些关键信息,请告诉我。)
最佳答案
Outlook 不允许使用 VBA 自定义功能区 UI。您唯一可以做的就是为 QAT 按钮分配一个宏(或在 Outlook 中手动添加控件)。
您需要开发一个插件才能自定义功能区 UI(也称为 Fluent UI)。参见 Walkthrough: Creating a Custom Tab by Using the Ribbon Designer获取更多信息。
在 MSDN 中的以下系列文章中阅读有关 Fluent UI 的更多信息:
- Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
- Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
- Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)
Is there a way to save/store the settings made by the end-user in a userform so the scripts saves the mail item based on his settings to the correct folder or team?
使用 Tag 属性不是存储用户设置的最佳方式。当然,您可以采用标准方式在 PC 上存储设置 - 文件(XML、文本或您自己的二进制格式)、Windows 注册表等。
但是 Outlook 对象模型为此提供了隐藏项。 GetStorage Folder 类的方法返回 StorageItem父文件夹上的对象来存储 Outlook 解决方案的数据。参见 Storing Data for Solutions想要查询更多的信息。
关于vba - 展望 2013 VBA : store user defined settings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768451/