Compartir a través de


Cómo: Asociar extensiones de código administrado a documentos (2003 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 2003

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

Es posible asociar un ensamblado de solución de Visual Studio Tools para Office a un documento de Microsoft Office Word 2003 o a un libro de Microsoft Office Excel 2003 ya existentes. El documento o libro puede estar en cualquier formato de archivo que Visual Studio Tools para Office admita. Para obtener más información, vea Arquitectura de las personalizaciones de nivel de documento.

Si se asocia un ensamblado de solución a un documento que aún no tiene personalizaciones de Visual Studio Tools para Office, el motor en tiempo de ejecución de Visual Studio Tools para Office creará automáticamente en el documento un Control de almacenamiento en tiempo de ejecución. Para obtener más información, vea Información general acerca del control de almacenamiento del motor en tiempo de ejecución.

Nota:

Si el documento especificado no contiene el control que el ensamblado de la solución espera que tenga, el ensamblado no se cargará correctamente cuando el usuario abra el documento.

Existen dos maneras para asociar un ensamblado de solución a un documento:

  • Establecer manualmente las propiedades de documento personalizadas en el mismo documento.

  • Asociar el ensamblado mediante programación utilizando la clase ServerDocument.

Utilizar propiedades de documento personalizadas

Es posible asociar un ensamblado de solución de Visual Studio Tools para Office a un documento de Word o Excel estableciendo manualmente las propiedades de documento personalizadas _AssemblyName y _AssemblyLocation. Para obtener más información, vea Información general sobre propiedades personalizadas del documento.

El siguiente procedimiento da por hecho que ya se ha implementado el ensamblado de solución y que la solución utiliza un manifiesto de implementación. Para obtener más información, vea Implementar personalizaciones de nivel de documento (2003 System).

Para asociar un ensamblado de solución estableciendo propiedades de documento personalizadas

  1. Abra el documento en Word o en Excel.

  2. En el menú Archivo, haga clic en Propiedades y, a continuación, en la ficha Personalizar.

  3. Establezca la propiedad _AssemblyName:

    1. Si _AssemblyName aparece en la lista Propiedades, seleccione _AssemblyName y escriba un asterisco (*) en el cuadro Valor.

    2. Si _AssemblyName no aparece en la lista, escriba _AssemblyName en el cuadro Nombre, escriba un asterisco (*) en el cuadro Valor y, a continuación, haga clic en Agregar.

  4. Establezca la propiedad _AssemblyLocation:

    1. Si _AssemblyLocation aparece en la lista Propiedades, seleccione _AssemblyLocation y escriba la ruta de acceso completa del manifiesto de implementación en el cuadro Valor.

    2. Si _AssemblyLocation no aparece en la lista, escriba _AssemblyLocation en el cuadro Nombre, escriba la ruta de acceso completa del manifiesto de implementación en el cuadro Valor y, a continuación, haga clic en Agregar.

    La ubicación del manifiesto de implementación puede ser una ruta de disco (C:\deploy\Document1.application), un recurso compartido de archivo (\\server\Document1.application) o un sitio Web (https://www.contoso.com/Document1.application).

    Nota:

    El valor de una propiedad de documento personalizada puede contener 255 caracteres. Si la ruta de acceso del manifiesto tiene más de 255 caracteres, se debe crear una propiedad llamada _AssemblyLocation0 y establecerla en los primeros 255 caracteres de la ruta de acceso. A continuación, se debe crear una propiedad denominada _AssemblyLocation1 y establecerla en el resto de los caracteres de la ruta de acceso del manifiesto.

  5. Haga clic en Aceptar y, a continuación, guarde y cierre el documento.

    La próxima vez que abra y guarde el documento, el motor en tiempo de ejecución de Visual Studio Tools para Office asociará el ensamblado de solución al documento y creará un control de almacenamiento en tiempo de ejecución, si fuese necesario. El motor en tiempo de ejecución de Visual Studio Tools para Office también establecerá el valor de la propiedad de documento personalizada _AssemblyLocation en el GUID para el Control de almacenamiento en tiempo de ejecución. Para obtener más información, vea Información general acerca del control de almacenamiento del motor en tiempo de ejecución.

    Nota:

    El documento se debe abrir y guardar en un equipo que tenga instalado el motor en tiempo de ejecución de Visual Studio Tools para Office. Para obtener más información, vea Cómo: Instalar el motor en tiempo de ejecución para Visual Studio Tools para Office

Utilizar la clase ServerDocument

Es posible asociar un ensamblado de solución de Visual Studio Tools para Office a un documento de Word o Excel con el método AddCustomization de la clase ServerDocument. Se debe colocar el código que utiliza la clase ServerDocument en un nuevo proyecto (no la solución de Visual Studio Tools para Office), por ejemplo, en un proyecto de formularios Windows Forms. Además, el documento al cual se asociará el ensamblado debe cerrarse y ubicarse en un equipo que tenga instalado Word (para documentos de Word) o Excel (para libros de Excel).

El siguiente procedimiento da por hecho que ya se ha implementado el ensamblado de solución y que la solución utiliza un manifiesto de implementación. Para obtener más información, vea Implementar personalizaciones de nivel de documento (2003 System).

Para asociar un ensamblado de solución a un documento mediante la clase ServerDocument

  1. Cree un nuevo proyecto de formularios Windows Forms.

  2. Agregue al proyecto una referencia al ensamblado Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  3. Agregue a la parte superior del archivo de código una instrucción Imports o using para el tiempo de ejecución.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Llame al método estático AddCustomization de la clase ServerDocument y especifique en los parámetros la ruta de acceso del documento de solución, el nombre de ensamblado y la ruta de acceso del manifiesto de implementación. El siguiente código da por hecho que se asoció un ensamblado a un documento de Word denominado WordDocument1.doc, que se encuentra en la carpeta C:\WordDocument1, y que el ensamblado y el manifiesto de implementación están ubicados en el recurso compartido de red \\deployserver\WordDocument1\.

    Private Sub AddNewCustomization()
    
        Dim fileName As String = "C:\WordDocument1\WordDocument1.doc"
    
        If Not ServerDocument.IsCustomized(fileName) Then
    
            Dim assemblyName As String = "\\deployserver\WordDocument1\WordDocument1.dll"
            Dim manifestPath As String = "\\deployserver\WordDocument1\WordDocument1.application"
            Dim applicationVersion As String = "1.0.0.0"
    
            ServerDocument.AddCustomization( _
                fileName, assemblyName, manifestPath, applicationVersion, False)
    
        Else
            System.Windows.Forms.MessageBox.Show( _
                "The specified document is already customized.")
        End If
    End Sub
    
    private void AddNewCustomization()
    {
        string fileName = @"C:\WordDocument1\WordDocument1.doc";
    
        if (!ServerDocument.IsCustomized(fileName))
        {
            string assemblyName = @"\\deployserver\WordDocument1\WordDocument1.dll";
            string manifestPath = @"\\deployserver\WordDocument1\WordDocument1.application";
            string applicationVersion = "1.0.0.0";
    
            ServerDocument.AddCustomization(
                fileName, assemblyName, manifestPath, applicationVersion, false);
        }
        else
        {
            System.Windows.Forms.MessageBox.Show(
                "The specified document is already customized.");
        }
    }
    

    El motor en tiempo de ejecución de Visual Studio Tools para Office asocia el ensamblado de solución al documento y crea un Control de almacenamiento en tiempo de ejecución, si fuese necesario. Para obtener más información, vea Información general acerca del control de almacenamiento del motor en tiempo de ejecución.

Vea también

Tareas

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

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

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

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

Conceptos

Administrar documentos en un servidor mediante la clase ServerDocument

Manifiestos de implementación y aplicación en soluciones de Office

Información general acerca del control de almacenamiento del motor en tiempo de ejecución