Compartir a través de


Cómo: Quitar extensiones de código administrado de documentos (2007 System)

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de documento

Versión de Microsoft Office

  • Microsoft Office System 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Puede quitar mediante programación el ensamblado de personalización de Visual Studio Tools para Office de un documento o libro que forma parte de una personalización de nivel de documento para Microsoft Office System 2007. Los usuarios pueden abrir los documentos y ver el contenido, pero cualquier interfaz de usuario personalizada que agregue no aparecerá y el código no se ejecutará.

Puede quitar el ensamblado de personalización utilizando uno de los métodos RemoveCustomization que proporciona el tiempo de ejecución de Visual Studio Tools para Office. El método que use depende de si desea quitar la personalización en tiempo de ejecución (es decir, ejecutando el código en la solución de Visual Studio Tools para Office ) o desde un documento cerrado o un documento que está en un servidor que no tiene instalado Microsoft Office.

Para quitar el ensamblado de personalización en tiempo de ejecución

Para quitar el ensamblado de personalización desde un documento cerrado o desde un documento de un servidor

  1. Cree un nuevo proyecto que no inicie Word o Excel, por ejemplo, una aplicación de consola o un proyecto de formularios Windows Forms.

  2. Agregue al proyecto una referencia al ensamblado Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll.

  3. Agregue la siguiente instrucción Imports o using al principio del archivo de código.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  4. Llame al método estático RemoveCustomization de la clase ServerDocument y especifique la ruta de acceso del documento de la solución para el parámetro.

    En el ejemplo de código siguiente se supone que está quitando la personalización de un documento denominado WordDocument1.docx que está en el escritorio.

    Dim documentPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.Desktop) & "\WordDocument1.docx"
    Dim runtimeVersion As Integer = 0
    
    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ServerDocument.RemoveCustomization(documentPath)
            System.Windows.Forms.MessageBox.Show("The customization has been removed.")
        End If
    Catch ex As FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As IOException
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.")
    Catch ex As InvalidOperationException
        System.Windows.Forms.MessageBox.Show("The customization could not be removed." & _
            vbLf & ex.Message)
    End Try
    
    string documentPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx";
    int runtimeVersion = 0;
    
    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
    
        if (runtimeVersion == 3)
        {
            ServerDocument.RemoveCustomization(documentPath);
            System.Windows.Forms.MessageBox.Show("The customization has been removed.");
        }
    }
    catch (FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (IOException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.");
    }
    catch (InvalidOperationException ex)
    {
        System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" +
            ex.Message);
    }
    

Vea también

Tareas

Cómo: Escribir código que utilice ambas versiones de la clase ServerDocument

Cómo: Asociar extensiones de código administrado a documentos (2007 System)

Cómo: Quitar extensiones de código administrado de documentos (2003 System)

Cómo: Asociar extensiones de código administrado a documentos (2003 System)

Conceptos

Administrar documentos en un servidor mediante la clase ServerDocument