c# - Outlook 加载项调用现有功能区项目
问题描述
我目前正在为 Outlook 2019 开发一个项目,我希望通过一个简单的插件来备份我的所有电子邮件帐户。
而不是做点击的繁琐工作:
File -> Open & Export -> Import/Export ->Import and Export wizard -> Export to a file -> Outlook Data File(.pst) -> <Select Email accounts> -> <Choose output options> -> Finish
这需要相当长的时间来完成,特别是如果您有多个要备份的电子邮件帐户。
我已经在 Microsoft 的 Visual Studio 2019 中创建了一个 Outlook VSTO (C#) 插件项目,并创建了一个功能区项目,其中包含一个按钮来为我执行此任务。
我唯一的问题是如何调用上面提到的整个操作,即
File -> Open & Export -> Import/Export ->Import and Export wizard -> Export to a file -> Outlook Data File(.pst) -> <Select Email accounts> -> <Choose output options> -> Finish
On_Click
在我创建的功能区里面我的按钮的操作里面?
任何帮助将不胜感激。
解决方案
使用命名空间创建一个新的 PST 文件。AddStore
/ AddStoreEx
,在连接中找到新商店Namespacce.Stores
(您认为AddStore
会返回新商店,但不是)。
在集合中找到源存储Namespace.Stores
,递归遍历 Store.GetRoodFolder().Folders
集合中的文件夹,对于文件夹中的每条消息,将其复制到目标文件夹中(您需要先使用创建它Folder.Folders.Add
)使用MailItem.Copy
/MailItem.Nove(TargetFolder)
推荐阅读
- snmp - 如何修复:-- snmpget:“加载共享库时出错:libcrypto.so.4:无法打开共享对象文件:没有这样的文件或目录
- python - 如何在 Django 上修复“没有这样的表:PurchaseHistory_purchasehistory”/为什么没有什么要迁移的?
- ipv6 - 如何使用 SNMP 将 IPv4 和 IPv6 地址映射到接口?
- angular - 将视频文件上传到 Firebase 存储
- git - 我如何更新我要向其中提交拉取请求的主节点(以及为什么会发生这种情况)?
- r - 将函数应用于列表列表中的一系列项目
- react-native - 我无法在 AsyncStorage 中存储数据。它只是显示为 [object Object]
- ruby-on-rails - 找不到路线 Rails 5.2.3
- animation - ScrollView 中的动画不起作用?使用 Xcode 11 测试版 6
- flex-lexer - Flex 多个 .l 文件参数不起作用?(例如“flex al bl”)