C# GetSharedDefaultFolder自动添加共享日历
我有代码在另一个用户的日历中创建约会 当我调用C# GetSharedDefaultFolder自动添加共享日历,c#,vb.net,outlook,calendar,C#,Vb.net,Outlook,Calendar,我有代码在另一个用户的日历中创建约会 当我调用命名空间对象的.GetSharedDefaultFolder时,如果该条目不存在,它会以“Calendar-[user]”格式自动将该条目添加到Outlook中共享日历下的树中 我如何防止它这样做,就好像列表中的用户已经是“[user]”一样,您最终会得到一个重复的用户 感谢尤金写道,无法阻止GetSharedFolder创建新文件夹 但您可以做的是在所有文件夹中循环以删除创建的文件夹 正如您所说,这些日历使用的格式是:“Calendar-[user
命名空间
对象的.GetSharedDefaultFolder
时,如果该条目不存在,它会以“Calendar-[user]”格式自动将该条目添加到Outlook中共享日历下的树中
我如何防止它这样做,就好像列表中的用户已经是“[user]”一样,您最终会得到一个重复的用户
感谢尤金写道,无法阻止GetSharedFolder
创建新文件夹
但您可以做的是在所有文件夹中循环以删除创建的文件夹
正如您所说,这些日历使用的格式是:“Calendar-[user]”。因此,您可以做的(实际上我就是这么做的)是遍历所有导航项
,并将找到的.DisplayName
与“Calendar-[user]”格式进行比较。
然后,您可以使用.NavigationFolders.Remove(foundItem)
从视图中删除日历
以下是我的例子:
将导航窗格设置为Outlook.NavigationPane
与Oulook.模块相同的Dim导航模块
将导航组设置为Outlook.NavigationGroups
将导航组设置为Outlook.NavigationGroup
将导航项目设置为Outlook.NavigationItem
navPane=Application.ActiveExplorer.NavigationPane
navModule=navPane.Modules.GetNavigationModule(Outlook.OlNavigationModuleType.olModuleCalendar)
navGroups=navModule.NavigationGroups
i=0
j=0
l=0
对于i=1到navGroups.count
导航组=导航组。项目(i)
对于j=1到navigation\u group.NavigationFolders.count
导航\项=导航\组.NavigationFolders.item(j)
如果(Application.Session.CompareEntryIDs(navigation\u item.Folder.EntryID,shared\u fold.EntryID)=True),则
导航\文件夹\名称=导航\项.DisplayName
对于l=1到navigation\u group.NavigationFolders.count
导航\项=导航\组.NavigationFolders.item(l)
如果导航\u item.DisplayName=“日历-”&导航\u文件夹\u名称,则
“公平的ici
导航组。导航文件夹。删除(导航项)
如果结束
下一个
如果结束
下一个
下一个
答案尚未完成,我将尽快更新。尤金写道,无法阻止GetSharedFolder
创建新文件夹
但您可以做的是在所有文件夹中循环以删除创建的文件夹
正如您所说,这些日历使用的格式是:“Calendar-[user]”。因此,您可以做的(实际上我就是这么做的)是遍历所有导航项
,并将找到的.DisplayName
与“Calendar-[user]”格式进行比较。
然后,您可以使用.NavigationFolders.Remove(foundItem)
从视图中删除日历
以下是我的例子:
将导航窗格设置为Outlook.NavigationPane
与Oulook.模块相同的Dim导航模块
将导航组设置为Outlook.NavigationGroups
将导航组设置为Outlook.NavigationGroup
将导航项目设置为Outlook.NavigationItem
navPane=Application.ActiveExplorer.NavigationPane
navModule=navPane.Modules.GetNavigationModule(Outlook.OlNavigationModuleType.olModuleCalendar)
navGroups=navModule.NavigationGroups
i=0
j=0
l=0
对于i=1到navGroups.count
导航组=导航组。项目(i)
对于j=1到navigation\u group.NavigationFolders.count
导航\项=导航\组.NavigationFolders.item(j)
如果(Application.Session.CompareEntryIDs(navigation\u item.Folder.EntryID,shared\u fold.EntryID)=True),则
导航\文件夹\名称=导航\项.DisplayName
对于l=1到navigation\u group.NavigationFolders.count
导航\项=导航\组.NavigationFolders.item(l)
如果导航\u item.DisplayName=“日历-”&导航\u文件夹\u名称,则
“公平的ici
导航组。导航文件夹。删除(导航项)
如果结束
下一个
如果结束
下一个
下一个
答案尚未完成,我将尽快更新。