对ActiveWindow的TypeName禁用“全部答复”-“ Explorer”

时间:2019-01-21 22:09:32

标签: vba outlook outlook-vba

我尝试在所选电子邮件的func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { print(row) if row == 0 { let vcOne = storyboard?.instantiateViewController(withIdentifier: "firstVC") as! FirstVC present(vcOne, animated: true, completion: nil) // first selection, initialize the VC related with it } else if row == 1 { let vcTwo = storyboard?.instantiateViewController(withIdentifier: "secondVC") as! SecondVC present(vcTwo, animated: true, completion: nil) // second selection, initialize the VC related with it } else { // other selections, you get the idea, you can also do switch-case } } 字段中存在某个地址(包含很多收件人)时禁用“全部答复”操作(通过利用To事件)。

当电子邮件被“弹出”({{1}中的“检查器” Application.ItemLoad)时,我可以很好地执行此操作,但是在{ {1}}是“资源管理器”(未弹出电子邮件时,仅选中该电子邮件)。

通过在线搜索我找不到解决方案-大多数this one之类的帖子都在Inspector中处理电子邮件。

我正在尝试查找哪个对象TypeNameActiveWindow下的属性,但是仔细阅读对象浏览器不会产生任何结果...

我尝试过TypeName,该操作不会引发任何错误,但“全部答复”按钮仍处于启用状态。我尝试了多种其他组合,但它们都返回了运行时错误438。

我确定解决方案在于为实际的.Actions禁用操作,但是我在任何地方都找不到ActiveExplorer

代码:

ActiveExplorer.Selection.Item(1).Actions("Reply to All").Enabled = False

1 个答案:

答案 0 :(得分:3)

您需要随后保存该项目:

curremail.Actions("Reply to All").Enabled = False
curremail.Save

请注意,“全部答复”按钮将保持启用状态,但是当您单击它(或按Ctrl + Shift + R)时,Outlook将显示“该操作不适用于该项目”。