Cómo: Quitar extensiones de código administrado de documentosHow to: Remove Managed Code Extensions from Documents

Puede quitar mediante programación el ensamblado de personalización de un documento o libro que forma parte de una personalización de nivel de documento para Microsoft Office Word o Microsoft Office Excel.You can programmatically remove the customization assembly from a document or workbook that is part of a document-level customization for Microsoft Office Word or Microsoft Office Excel. Los usuarios, a continuación, pueden abrir los documentos y ver el contenido, pero no aparecerá ninguna interfaz de usuario personalizada (UI) se agregan a los documentos y el código no se ejecutará.Users can then open the documents and view the contents, but any custom user interface (UI) you add to the documents will not appear, and your code will not run.

Aplicación: la información de este tema se aplica a los proyectos de nivel de documento de Excel y Word.Applies to: The information in this topic applies to document-level projects for Excel and Word. Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto de Office.For more information, see Features Available by Office Application and Project Type.

Puede quitar el ensamblado de personalización mediante uno de los métodos de RemoveCustomization proporcionados por el Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime.You can remove the customization assembly by using one of the RemoveCustomization methods provided by the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime. Método que use depende de si desea quitar la personalización en tiempo de ejecución (es decir, cuando se ejecuta el código de la personalización mientras la palabra documento o libro de Excel está abierto), o si desea quitar la personalización de un documento cerrado o un documento que i s en un servidor que no tiene instalado Microsoft Office.Which method you use depends on whether you want to remove the customization at run time (that is, by running code in the customization while the Word document or Excel workbook is open), or if you want to remove the customization from a closed document or a document that is on a server that does not have Microsoft Office installed.

vínculo a vídeo para una demostración en vídeo relacionada, vea ¿cómo adjuntar I: o separar un ensamblado de VSTO desde un documento de Word?.link to video For a related video demonstration, see How Do I: Attach or Detach a VSTO Assembly from a Word Document?.

Para quitar el ensamblado de personalización en tiempo de ejecuciónTo remove the customization assembly at run time

  1. En el código de personalización, llame a la RemoveCustomization (método) (para Word) o RemoveCustomization (método) (para Excel).In your customization code, call the RemoveCustomization method (for Word) or the RemoveCustomization method (for Excel). Este método se debería llamar solo después de que no sea necesaria la personalización.This method should be called only after the customization is no longer needed.

    Donde se llamó a este método en el código depende de cómo se utiliza la personalización.Where you call this method in your code depends on how your customization is used. Por ejemplo, si los clientes usar características de la personalización hasta que estén listos para enviar el documento a otros clientes que solo necesitan al documento en Sí (no la personalización), puede proporcionar alguna interfaz de usuario que llama RemoveCustomization cuando el cliente hace clic en él.For example, if customers use your customization's features until they are ready to send the document to other clients that only need to the document itself (not the customization), you can provide some UI that calls RemoveCustomization when the customer clicks it. Como alternativa, si la personalización rellena el documento con datos cuando se abre por primera vez, pero la personalización no proporciona las demás características que son accesibles directamente por los clientes, a continuación, puede llamar a RemoveCustomization tan pronto como la personalización finaliza la inicialización del documento.Alternatively, if your customization populates the document with data when it is first opened, but the customization doesn't provide any other features that are accessed directly by customers, then you can call RemoveCustomization as soon as your customization finishes initializing the document.

Para quitar el ensamblado de personalización de un documento cerrado o un documento en un servidorTo remove the customization assembly from a closed document or a document on a server

  1. En un proyecto que no requiere Microsoft Office, como una aplicación de consola o un proyecto de formularios Windows Forms, agregue una referencia al ensamblado Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.In a project that does not require Microsoft Office, such as a console application or Windows Forms project, add a reference to the Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll assembly.

  2. Agregue el siguiente importaciones o con instrucción al principio del archivo de código.Add the following Imports or using statement to the top of your code file.

    using Microsoft.VisualStudio.Tools.Applications;
    
    Imports Microsoft.VisualStudio.Tools.Applications
    
  3. Llame el método estático RemoveCustomization método de la ServerDocument clase y especifique la ruta de acceso del documento de solución para el parámetro.Call the static RemoveCustomization method of the ServerDocument class, and specify the solution document path for the parameter.

    En el ejemplo de código siguiente se supone que va a quitar la personalización de un documento denominado WordDocument1.docx que se encuentra en el escritorio.The following code example assumes that you are removing the customization from a document named WordDocument1.docx that is on the desktop.

    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);
    }
    
    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
    
  4. Compile el proyecto y ejecutar la aplicación en el equipo donde desea quitar la personalización.Build the project and run the application on the computer where you want to remove the customization. El equipo debe tener Visual Studio 2010 Tools para Office Runtime instalado.The computer must have the Visual Studio 2010 Tools for Office Runtime installed.

Vea tambiénSee Also

Administrar documentos en un servidor mediante la clase ServerDocument Managing Documents on a Server by Using the ServerDocument Class
Cómo: Adjuntar extensiones de código administrado a documentosHow to: Attach Managed Code Extensions to Documents