Compartilhar via


Adicionar ou remover um repositório

Este exemplo mostra como adicionar e remover um repositório em determinado perfil.

Exemplo

Este exemplo de código mostra como adicionar e remover um armazenamento em um perfil especificado, chamando o método AddStoreEx e o método RemoveStore, respectivamente, no objeto NameSpace.

No Outlook, você pode adicionar ou remover um repositório PST somente por meio de programação. O exemplo de código a seguir adiciona um repositório Unicode e coloca o arquivo .pst no local padrão para arquivos .pst do usuário: Documentos e Configurações\<UserName>\Configurações Locais\Dados do Aplicativo\Microsoft\Outlook. O exemplo de código usa Environment.SpecialFolder.LocalApplicationData para recuperar o caminho para a pasta Application Data na pasta Local Settings. Depois que o repositório foi adicionado, o exemplo de código remove o repositório. Como o método RemoveStore requer um objeto Folder para remover o objeto Store, ele enumera a coleção Stores para localizar o objeto Store que acaba de ser adicionado com base na propriedade FilePath do objeto Store.

RemoveStore remove apenas o repositório do perfil atual. Não exclui o arquivo .pst do sistema de arquivos.

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instrução Imports ou using não deve vir diretamente antes de funções no exemplo de código, mas deve ser adicionada antes da declaração Class pública. The following lines of code show how to do the import and assignment in Visual Basic and C#.

Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub CreateUnicodePST()
    Dim path As String = Environment.GetFolderPath( _
        Environment.SpecialFolder.LocalApplicationData) _
        & "\Microsoft\Outlook\MyUnicodeStore.pst"
    Try
        Application.Session.AddStoreEx( _
            path, Outlook.OlStoreType.olStoreUnicode)
        Dim stores As Outlook.Stores = Application.Session.Stores
        For Each store As Outlook.Store In stores
            If store.FilePath = path Then
                Dim folder As Outlook.Folder = _
                    CType(store.GetRootFolder(), Outlook.Folder)
                ' Remove the store
                Application.Session.RemoveStore(folder)
            End If
        Next
    Catch ex As Exception
        Debug.WriteLine(ex.Message)
    End Try
End Sub
private void CreateUnicodePST()
{
    string path = Environment.GetFolderPath(
        Environment.SpecialFolder.LocalApplicationData)
        + @"\Microsoft\Outlook\MyUnicodeStore.pst";
    try
    {
        Application.Session.AddStoreEx(
            path, Outlook.OlStoreType.olStoreUnicode);
        Outlook.Stores stores = Application.Session.Stores;
        foreach (Outlook.Store store in stores)
        {
            if (store.FilePath == path)
            {
               Outlook.Folder folder =
                    store.GetRootFolder() as Outlook.Folder;
               // Remove the store
               Application.Session.RemoveStore(folder);
            }
        }
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }
}

Confira também