Outlook VBA 2013访问父文件夹

时间:2015-04-22 22:11:20

标签: vba outlook

好的,我正在阅读有关如何访问收件箱外部的父文件夹的教程,并注意到它正在使用" Set"。据我所知,这个命令已被弃用,每当我尝试在我的代码中使用它时,它都是如此。

http://blogs.technet.com/b/heyscriptingguy/archive/2006/08/03/how-can-i-get-access-to-a-mail-folder-that-isn-t-a-subfolder-of-my-outlook-inbox.aspx

    ' Set Outlook parameters
    objOutlook = CreateObject("Outlook.Application")
    iNameSpace = myOlApp.GetNamespace("MAPI")                       ' Set current NameSpace
    Dim oExp As Outlook.Explorer
    Dim oSel As Outlook.Selection
    oExp = objOutlook.ActiveExplorer
    oSel = oExp.Selection
    Dim strFolderName As Object
    Dim objInbox As Outlook.Folder
    Dim objMailbox As Outlook.Folder
    Dim objFolder As Outlook.Folder


    Const olFolderInbox = 6
    objInbox = iNameSpace.GetDefaultFolder(olFolderInbox)
    strFolderName = objInbox.Folders.Parent()
    objMailbox = iNameSpace.Folders(strFolderName)
    objFolder = objMailbox.Folders("Europe")

尝试上面的代码时,我收到类型错误:其他信息:类型不匹配,在此行:

    objMailbox = iNameSpace.Folders(strFolderName)

当我将其更改为" Object"时,我收到同样的错误。

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:1)

要访问收件箱文件夹的父级,请尝试iNameSpace.GetDefaultFolder(olFolderInbox).Parent

要访问与收件箱位于同一级别的文件夹,请尝试iNameSpace.GetDefaultFolder(olFolderInbox).Parent.Folders.Item("The Folder name")

答案 1 :(得分:0)

以下代码无效。

 strFolderName = objInbox.Folders.Parent()

Folders集合不提供Parent方法。

 objMailbox = iNameSpace.Folders(strFolderName)

Folders属性不接受对象参数。