如何使用vb.net在我的Outlook中创建顶级文件夹-vb.net,Outlook 2013
因此,正如标题所说,我正试图在Outlook中创建一个顶级文件夹,但没有成功。我已经阅读了一些教程和代码片段,但没有一个是成功的 现在我有一段代码,它在收件箱文件夹下创建了一个文件夹:如何使用vb.net在我的Outlook中创建顶级文件夹-vb.net,Outlook 2013,vb.net,outlook,outlook-addin,Vb.net,Outlook,Outlook Addin,因此,正如标题所说,我正试图在Outlook中创建一个顶级文件夹,但没有成功。我已经阅读了一些教程和代码片段,但没有一个是成功的 现在我有一段代码,它在收件箱文件夹下创建了一个文件夹: Dim objFolder As Outlook.MAPIFolder Dim objOutlook As Outlook._Application objOutlook = New Outlook.Application() objFolder.Folders.Add("Some folder", Outlo
Dim objFolder As Outlook.MAPIFolder
Dim objOutlook As Outlook._Application
objOutlook = New Outlook.Application()
objFolder.Folders.Add("Some folder", Outlook.OlDefaultFolders.olFolderInbox)
问题是,如何创建相同的文件夹,但将其作为顶级文件夹而不是收件箱文件夹的子文件夹
我已经试过这样做:
objFolder.Folders.Add(“一些文件夹”)
但这不起作用 顶部文件夹(导航窗格中的根节点)是存储区。如果需要在配置文件中添加新存储,可以使用Namespace类的方法将指定格式的个人文件夹文件(.pst)添加到当前配置文件中。有关更多信息,请参阅
如果您需要创建顶级文件夹(与收件箱等标准文件夹处于同一级别),您可以获取收件箱或任何其他默认文件夹的文件夹对象,并在其中添加新文件夹。例如:
Dim objFolder As Outlook.MAPIFolder
Dim parentFolder as Outlook.MAPIFolder
Dim objOutlook As Outlook._Application
objOutlook = New Outlook.Application()
myNamespace = objOutlook.GetNamespace("MAPI")
objFolder = myNamespace.GetDefaultFolder(olFolderInbox)
parentFolder = objFolder.Parent
parentFolder.Folders.Add("Some folder", Outlook.OlDefaultFolders.olFolderInbox)
此外,您可能会发现Store类的方法很有用。它返回一个文件夹对象,表示存储的根级别文件夹。您可以使用GetRootFolder方法枚举存储的根文件夹的子文件夹。与包含当前配置文件中所有存储的所有文件夹的NameSpace.Folders不同,Store.GetRootFolder.Folders允许您枚举当前配置文件中给定存储对象的所有文件夹
Sub EnumerateFoldersInStores()
Dim colStores As Outlook.Stores
Dim oStore As Outlook.Store
Dim oRoot As Outlook.Folder
On Error Resume Next
Set colStores = Application.Session.Stores
For Each oStore In colStores
Set oRoot = oStore.GetRootFolder
Debug.Print (oRoot.FolderPath)
EnumerateFolders oRoot
Next
End Sub
Private Sub EnumerateFolders(ByVal oFolder As Outlook.Folder)
Dim folders As Outlook.folders
Dim Folder As Outlook.Folder
Dim foldercount As Integer
On Error Resume Next
Set folders = oFolder.folders
foldercount = folders.Count
'Check if there are any folders below oFolder
If foldercount Then
For Each Folder In folders
Debug.Print (Folder.FolderPath)
EnumerateFolders Folder
Next
End If
工作起来很有魅力!谢谢你,尤金!
Private Sub CreateNewFolder()
Dim oApp As Outlook.Application = New Outlook.Application
Dim oNS As Outlook.NameSpace = oApp.GetNamespace("MAPI")
Dim InboxFolder As Outlook.MAPIFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
Dim customFolder As Outlook.MAPIFolder
Try
customFolder = InboxFolder.Folders.Add("Vellaichamy", Outlook _
.OlDefaultFolders.olFolderInbox)
InboxFolder.Folders("Authorcode").Display()
Catch ex As Exception
MessageBox.Show("The following error occurred: " & ex.Message)
End Try
End Sub