如何使用Visual Basic VB.Net访问iCloud非默认Outlook文件夹

问题描述 投票:0回答:1

这是我的第一篇文章,而且我不是编程专家,因此很快就会明白。请保持温柔。

我创建了一个程序(使用Visual Basic 2010 Express),该程序除其他外,将基于Outlook中每个联系人的“ CustomerID”值填充我选择的联系人的“注释” /“正文” 。

它完美适用于默认的“联系人”及其在Outlook“我的联系人”组下的子文件夹“ Contacts-SubCategory”:enter image description here使用以下代码(该代码包括日历/约会项目,我想我可以为联系人使用一种语法解决方案,因此希望可以将其忽略):

Public Class CustomOutlookInterface2
Private SQL As New DatabaseControl

Private ol As New Outlook.Application
Private olns As Outlook.NameSpace = ol.GetNamespace("MAPI")

Private olContactFolder As Outlook.MAPIFolder = olns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts).Folders("Contacts-SubCategory")
Private olCalendarFolder As Outlook.MAPIFolder = olns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar)

Private olContactItems As Outlook.Items = olContactFolder.Items
Private NewContact As Outlook.ContactItem
Private AppointmentItem As Outlook.AppointmentItem

但是,我最近下载了“ iCloud for Windows”以使所有内容保持同步,并注意到它在Outlook中添加了一个名为“ iCloud”的新组,并将联系人条目移动到了新创建的“ iCloud中的联系人”和“ iCloud中的Contacts-SubCategory” (如上图所示)。我已经做了很多尝试来适应以前的工作代码,以将其定向到iCloud文件夹。我最近来的是...

    Private ol As New Outlook.Application
Private olns As Outlook.NameSpace = ol.GetNamespace("MAPI")

Private olContactFolder As Outlook.MAPIFolder = olns.Folders.Item("iCloud")

以上内容不会导致错误。但是,当我使用以下命令时,也会导致“找不到字符串”

    Dim query As String = "[CustomerID]='" & CustID & "'"

    NewContact = olContactItems.Find(query)

其中“查询”是我分配给该联系人并存储在“客户ID”字段中的号码

[根据我额头在桌子上敲打的平坦点,我认为这归结为识别iCloud组的语法,然后是“ iCloud中的联系人”文件夹,然后是“ iCloud中的Contacts-SubCategory”子文件夹。在Windows中,路径等效为“ iCloud \ iCloud中的iCloud \ Contacts \ iCloud中的Contacts-SubCategory \

我无法告诉您,我将不胜感激。我的办公桌威胁要把我给它的所有头撞都叫警察。

vb.net outlook icloud contacts basic
1个回答
0
投票

我想出了自己的问题的答案。由于该问题尚未被任何人解决,因此我将完全删除该问题。但是,我决定发布我的解决方案,以防其他人使用。

在Outlook中,“联系人”屏幕如下所示:enter image description here

[我的错误不是不明白,当Windows版iCloud创建iCloud文件夹时,它还创建了“ Contacts-SubCategory”作为Contacts的子文件夹(它看起来不像子文件夹)。此外,Outlook中显示的“…in iCloud”后缀也不是在代码中标识文件夹所需名称的一部分。对我来说,深入研究“ ... SubCategory”文件夹的代码是:

Private olContactFolder As Outlook.MAPIFolder = olns.Folders.Item("iCloud").Folders("Contacts").Folders("Contacts-SubCategory")

没有出现在Outlook中的后缀“ ...在iCloud中”。我希望这对像我这样的其他经验不足的人有所帮助。作为一个自学成才的菜鸟,我所有人都受了苦难。希望您能像我几乎一样放弃之前迅速找到这篇文章。

© www.soinside.com 2019 - 2024. All rights reserved.