Как автоматизировать отображение календарей общих папок в избранной папке почты - PullRequest
3 голосов
/ 28 октября 2011

Как автоматизировать процесс отображения моего календаря общих папок в папке Mail Favorite?

Я хотел сделать это либо по сценарию входа, либо по групповой политике.

Я использую Microsoft Exchangeсервер 2007 с Windows Server 2008 R2 и контроллером домена под управлением Windows Server 2003 R2.

Все системы рабочих станций имеют либо Outlook 2010, либо Outlook 2007.

При поиске по этому сценарию я обнаружил приведенный ниже сценарий, но по этому сценарию (уже измененному пути) я просто могу сделать общедоступнымкалендарь папки для отображения в общей папке избранных, но не в избранных папках почты.

Const olPublicFoldersAllPublicFolders = 18
Dim olkApp, olkSes, olkFolder
Set olkApp = CreateObject("Outlook.Application")
Set olkSes = olkApp.GetNameSpace("MAPI")
'Change the profile name on the next line'
olkSes.Logon "Outlook"
'Change the folder name on the next line.  Repeat the next two lines for each folder         
 you want to add.'
Set olkFolder =     
olkSes.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("Public   
calender").Folders("p cal")
olkFolder.AddToPFFavorites
'Change the folder name on the next line.  Repeat the next two lines for each folder     
you want to add.'
Set olkFolder = OpenOutlookFolder("Public Folders\Favorites\P cal")
AddFavoriteFolder olkFolder
olkSes.Logoff
Set olkApp = Nothing
Set olkSes = Nothing
Set olkFolder = Nothing
WScript.Quit

Sub AddFavoriteFolder(olkFolder)
' Purpose: Add a folder to Favorite Folders.'
' Written: 5/2/2009'
' Author:  BlueDevilFan'
' Outlook: 2007'
Const olModuleMail = 0
Const olFavoriteFoldersGroup = 4
    Dim olkPane, olkModule, olkGroup
Set olkPane = olkApp.ActiveExplorer.NavigationPane
Set olkModule = olkPane.Modules.GetNavigationModule(olModuleMail)
Set olkGroup =     
olkModule.NavigationGroups.GetDefaultNavigationGroup(olFavoriteFoldersGroup)
olkGroup.NavigationFolders.Add olkFolder
Set olkPane = Nothing
Set olkModule = Nothing
Set olkGroup = Nothing
End Sub

Function OpenOutlookFolder(strFolderPath)
' Purpose: Opens an Outlook folder from a folder path.'
' Written: 4/24/2009'
' Author:  BlueDevilFan'
' Outlook: All versions'
Dim arrFolders, varFolder, bolBeyondRoot
On Error Resume Next
If strFolderPath = "" Then
    Set OpenOutlookFolder = Nothing
Else
    Do While Left(strFolderPath, 1) = "\"
        strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
    Loop
    arrFolders = Split(strFolderPath, "\")
    For Each varFolder In arrFolders
        Select Case bolBeyondRoot
            Case False
                Set OpenOutlookFolder = olkSes.Folders(varFolder)
                bolBeyondRoot = True
            Case True
                Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
        End Select
        If Err.Number <> 0 Then
            Set OpenOutlookFolder = Nothing
            Exit For
        End If
    Next
End If
On Error GoTo 0
End Function

1 Ответ

1 голос
/ 07 сентября 2012

Вы не можете сделать это. Вы можете добавлять только почтовые папки или папки поиска в представление «Избранное» почты. Цитируя справку Outlook, «Избранное» содержит «ярлыки на папки, такие как« Входящие »,« Отправленные »и« Папки поиска ». Вы можете добавлять, удалять и упорядочивать папки [...], чтобы легче получать доступ к папкам mail » ( мой акцент).

С точки зрения MSFT, это логически непротиворечиво.

  • Добавление общедоступного объекта в избранное общедоступной папки - это вид деятельности, который пользователь должен выполнять нечасто. Так что это не подходит для обработки этого в сценарии входа в систему. Это похоже на добавление ресурсов в вашу личную библиотеку информации, например, в папку со статусом проекта или руководствами.
  • Добавление почтовой папки в «Избранное» почты - быстрый и грязный трюк для часто используемых элементов. Это больше похоже на добавление закладки.

Можно утверждать, что если вам нужно настроить большое количество пользователей, которым всем нужен доступ к общей папке, то имеет смысл обрабатывать это в сценарии входа в систему, и это нормально, но, опять же, это будет добавив его в избранные общие папки, а не в почтовые .... и вам нужен код, чтобы не создавать избранное, если оно уже существует.

...