【问题标题】:How to get Outlook PST Name from Selected Mail VB.NET如何从选定的邮件 VB.NET 中获取 Outlook PST 名称
【发布时间】:2016-07-17 05:09:47
【问题描述】:

我有一种情况,我想根据在 Outlook 资源管理器中对项目所做的选择来获取 pst 名称。基本上我的 Outlook 有很多收件箱。我需要知道我选择的电子邮件项目的 pst 名称。 到目前为止,我尝试了很多次迭代,但没有运气,基本上我来自 VBA 背景,在 VBA 中我很容易得到它,如下所示:

oMailItem.Parent.Parent 

它给了我完美的结果。 但是,在 .NET 中,当我将点放在第一个 Parent 之后时,我看不到 oMailItem.Parent.Parent,IntelliSense 不再提供属性 Parent。我尝试了转换,但没有运气,因为我对 VB.NET 很陌生。

请指教。

谢谢, 拉希德

【问题讨论】:

    标签: vb.net windows-7 outlook office-interop


    【解决方案1】:

    属性ParentObject 类型,因此您必须先将其转换为Outlook.Folder,就像这样。请记住,尽管可能无法进行转换,因此您应该检查 folder 是否实际上指的是一个对象而不是 Nothing

    Dim folder As Outlook.Folder = TryCast(oMailItem.Parent, Outlook.Folder)
    If folder IsNot Nothing Then
        folder.Parent ...
    End If
    

    【讨论】:

    • 感谢您的回复让我试试
    • 嗨,我尝试了代码并且能够转换对象但是当我尝试这个 Dim oFolder As Outlook.Folder oFolder = TryCast(oItem.Parent, Outlook.Folder) 时我将如何获取文件夹的路径If oFolder IsNot Nothing Then oFolder.Parent.ToString() End If
    • 我需要从这个链中获取根文件夹。我遍历 oFolder 对象并在动态视图下看到它给了我“我的 PS 名称\收件箱\个人文件夹”
    • 如果你需要根文件夹,为什么不上一层直到没有父文件夹?因此,基本上将 folder.Parent 再次转换为 Outlook.Folder,只要它不返回 Nothing,此时您应该已经到达根目录。
    • 如果你需要'路径'作为字符串,你可能想尝试msdn.microsoft.com/en-us/library/… - 但我还没有测试它。
    【解决方案2】:

    您需要使用Store.FilePath。要获取父商店,请使用MAPIFolder.Store。要获取父文件夹,请阅读 MailItem.Parent 属性并将其转换为 MAPIFolder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      相关资源
      最近更新 更多