Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GetSharedDefaultFolder自动添加共享日历_C#_Vb.net_Outlook_Calendar - Fatal编程技术网

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
导航组。导航文件夹。删除(导航项)
如果结束
下一个
如果结束
下一个
下一个
答案尚未完成,我将尽快更新。