Compartir a través de


Agregar o eliminar un almacén

En este ejemplo se muestra cómo agregar y eliminar un almacén en un perfil determinado.

Ejemplo

En este ejemplo de código se muestra cómo agregar y eliminar un almacén en un perfil especificado mediante una llamada al método AddStoreEx y al método RemoveStore, respectivamente, en el objeto NameSpace.

En Outlook, solo se puede agregar o quitar un almacén de archivos PST mediante programación. En el ejemplo de código siguiente se agrega un almacén Unicode y se coloca el archivo .pst en la ubicación predeterminada para los archivos .pst del usuario: Documents and Settings\<UserName>\Local Settings\Application Data\Microsoft\Outlook. En el código de ejemplo se usa Environment.SpecialFolder.LocalApplicationData para recuperar la ruta de acceso a la carpeta Datos de aplicación en la carpeta Configuración Local. Una vez que se ha agregado el almacén, el código de ejemplo elimina el almacén. Como el método RemoveStore requiere un objeto Folder para eliminar el objeto Store, enumera la colección Stores para encontrar el objeto Store que se acaba de agregar basándose en la propiedad FilePath del objeto Store.

RemoveStore sólo quita el almacén del perfil actual. No elimina el archivo .pst del sistema de archivos.

Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción Imports o using no deben producirse directamente antes de las funciones en el ejemplo de código, pero deben agregarse antes de la declaración de clase pública. Las líneas siguientes de código muestran cómo realizar la importación y la asignación en Visual Basic y 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);
    }
}

Vea también