设置 MailItem.Sensitivity 停靠在主 window 中的电子邮件
Set MailItem.Sensitivity of email docked in main window
在 Outlook 2016 中停靠时尝试设置活动 MailItem 的敏感度时出现以下错误。弹出电子邮件时,我的代码的 "Else" 部分有效。
Error message:
Run-time error "-2082340855 (83e20009)
对象不支持此方法。
你可以从我附上的截图中清楚地看到msg变量显然是一个"MailItem"。
更新:这是工作代码:
Sub ToggleConfidentialSensitivity()
On Error Resume Next
Dim msg As Outlook.MailItem
If Application.ActiveInspector Is Nothing Then 'we are in the main window (inline)
Set msg = Application.ActiveExplorer.ActiveInlineResponse
Else 'we are in a popped out message
Set msg = ActiveInspector.CurrentItem
End If
If msg.Sensitivity = olConfidential Then
msg.Sensitivity = olNormal
msg.Subject = Replace(msg.Subject, "*Confidential* ", "")
MsgBox ("This email is now marked as public")
Else
msg.Sensitivity = olConfidential
msg.Subject = "*Confidential* " + msg.Subject
MsgBox ("This email is now marked as Confidential")
End If
End Sub
将 Dim msg
移到 if 语句之外。
如果您 post 您的代码会很有帮助,这样我们就可以 运行 进行测试。
试试Select案例
Select Case Application.ActiveWindow.Class
Case olExp
Set Msg = ActiveExplorer.selection.Item(1)
Case olInsp
Set msg = ActiveInspector.CurrentItem
End Select
"docked" 是指内联回复吗?在这种情况下,您需要使用 Application.ActiveExplorer.ActiveInlineResponse
来检索正在组合的 MailItem
对象。
在 Outlook 2016 中停靠时尝试设置活动 MailItem 的敏感度时出现以下错误。弹出电子邮件时,我的代码的 "Else" 部分有效。
Error message:
Run-time error "-2082340855 (83e20009)
对象不支持此方法。
你可以从我附上的截图中清楚地看到msg变量显然是一个"MailItem"。
更新:这是工作代码:
Sub ToggleConfidentialSensitivity()
On Error Resume Next
Dim msg As Outlook.MailItem
If Application.ActiveInspector Is Nothing Then 'we are in the main window (inline)
Set msg = Application.ActiveExplorer.ActiveInlineResponse
Else 'we are in a popped out message
Set msg = ActiveInspector.CurrentItem
End If
If msg.Sensitivity = olConfidential Then
msg.Sensitivity = olNormal
msg.Subject = Replace(msg.Subject, "*Confidential* ", "")
MsgBox ("This email is now marked as public")
Else
msg.Sensitivity = olConfidential
msg.Subject = "*Confidential* " + msg.Subject
MsgBox ("This email is now marked as Confidential")
End If
End Sub
将 Dim msg
移到 if 语句之外。
如果您 post 您的代码会很有帮助,这样我们就可以 运行 进行测试。
试试Select案例
Select Case Application.ActiveWindow.Class
Case olExp
Set Msg = ActiveExplorer.selection.Item(1)
Case olInsp
Set msg = ActiveInspector.CurrentItem
End Select
"docked" 是指内联回复吗?在这种情况下,您需要使用 Application.ActiveExplorer.ActiveInlineResponse
来检索正在组合的 MailItem
对象。