vba - 这些对话标题是什么类型的?
问题描述
我正在尝试使用宏来归档电子邮件,但如果用户选择对话标题,我会遇到问题。typeOf
这些标题是什么?
我正在尝试在选择电子邮件时获取父文件夹,以确定是否应该移动(或已经移动)电子邮件。对于.MailItem
我可以使用以下代码获取它:
Set selection = ActiveExplorer.selection
Set CurrentFolder = selection(1).Parent
但是当只选择一个对话标题时,这会返回一个错误“运行时错误'440':数组索引超出范围。”
当尝试使用这样的 if 语句时:
If TypeOf selection Is Outlook.MailItem Then
Set CurrentFolder = selection(1).Parent
ElseIf TypeOf selection Is Outlook.ConversationHeader Then
'Set CurrentFolder
Else
'Return error
End If
.ConversationHeader
不起作用,因为在语句ElseIf
中返回False
。
我typeof
应该使用什么?然后我应该使用什么代码来查找父文件夹?
解决方案
Selection 属性返回Selection对象,而不是单个项目。您将需要循环选择项目(使用“ for each
”或“ for
”从 1 到Selection.Count
using循环Selection.Item(index)
)以获取所选项目。
您可以使用OutlookSpy查看实时 Outlook 对象及其属性、方法和事件。
推荐阅读
- c# - Powershell 不显示本地计算机上安装的 Microsoft.ACE.OLEDB.12.0 驱动程序
- javascript - Heroku 使用 Puppeteer 的内存使用量突然飙升
- spring - Mongo 数据库刷新对 Spring Boot Rest API 的影响
- javascript - NSIS 安装程序删除另一个安装文件
- reactjs - React Native 中的 Rect DevTools 错误:无法检查具有 id 的元素
- xml - xml阅读器尝试了太多自动重定向错误
- node.js - 禁用 knex oracledb 自动提交
- c++ - 每次构建项目时如何复制目录?
- javascript - 如何将 dat.gui 参数保存到后端,我正在使用 django 和 three.js 和 dat.gui
- python - Tensorflow 在 Mac 上加载预训练的 BERT 检查点