Vba ActiveExplorer/Inspector选择多个项目
我试图让Outlook只选择一个邮件项目,但它似乎选择了多个邮件项目。我将邮件发送到的内部程序引用的是这些文档,而不是此文档。因此,它不允许我选择文件类型,我相信这是因为程序将文件解释为容器而不是文件。tl;dr:有人能在我的代码中看到允许Outlook选择多个邮件项目的内容吗Vba ActiveExplorer/Inspector选择多个项目,vba,outlook,Vba,Outlook,我试图让Outlook只选择一个邮件项目,但它似乎选择了多个邮件项目。我将邮件发送到的内部程序引用的是这些文档,而不是此文档。因此,它不允许我选择文件类型,我相信这是因为程序将文件解释为容器而不是文件。tl;dr:有人能在我的代码中看到允许Outlook选择多个邮件项目的内容吗 Dim objApp As Outlook.Application Set objApp = Application Select Case TypeName(objApp.ActiveWindow) C
Dim objApp As Outlook.Application
Set objApp = Application
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
If objApp.ActiveExplorer.Selection.Count > 0 Then
Set currentItem = objApp.ActiveExplorer.Selection.Item(1)
Else
MsgBox ("No Message Selected.")
Exit Sub
End If
Case "Inspector"
Set currentItem = objApp.ActiveInspector.currentItem
Case Else
MsgBox ("Please select a mail item.")
Exit Sub
End Select
看起来您需要遍历在资源管理器窗口中选择的所有项目:
Set currentItem = objApp.ActiveExplorer.Selection.Item(i)
例如:
For i = 1 To oSel.Count ' Loop through all the currently .selected items
Set oItem = oSel.Item(i) ' Get a selected item.
Next i
看看这篇文章中的示例代码
我还建议打破调用链,在单独的代码行中声明每个属性或方法调用 您到底是如何让Outlook只选择一个邮件项目的?您没有选择项目,只是读取现有选择。现有选择是否不是所选项目?我想我认为1是一个指定拾取1项的数组,我是否错误地认为这是一个数组?几乎,它是一个集合。阅读该收藏中的任何内容都不会改变选择。好的,谢谢,这有助于我理解很多。我将看看是否可以将代码固定到一个文件,而不是一组文件。我实际上只是在看这篇文章,感谢您确认这篇文章是正确的。