Compartir a través de


ServerDocument (Clase) (2007 System)

Actualización: noviembre 2007

Proporciona acceso a los datos almacenados en memoria caché y a la información de la personalización de un documento que forma parte de una personalización de nivel de documento de Microsoft Office Excel 2007 o Microsoft Office Word 2007.

Espacio de nombres:  Microsoft.VisualStudio.Tools.Applications
Ensamblado:  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (en Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Sintaxis

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable

Dim instance As ServerDocument
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

Comentarios

Utilice la clase ServerDocument para administrar determinados aspectos de las personalizaciones de nivel de documento en un equipo que no tiene instalado Excel ni Word.

Utilice los siguientes miembros de la clase ServerDocument para realizar tareas comunes:

  • Para obtener acceso y modificar los datos de la memoria caché de datos de un documento que se encuentra en un servidor, utilice la propiedad CachedData.

  • Para asociar mediante programación una personalización a un documento o quitar una personalización de un documento, utilice los métodos AddCustomization y RemoveCustomization.

  • Para obtener acceso o cambiar la dirección URL del manifiesto de implementación que está asociado al documento, utilice la propiedad DeploymentManifestUrl.

Para obtener más información, consulte Administrar documentos en un servidor mediante la clase ServerDocument.

Elegir el constructor que se va a usar

Para utilizar la clase ServerDocument para tener acceso a los datos almacenados en memoria caché o a la dirección URL del manifiesto de implementación de un documento, debe crear un objeto ServerDocument.

Hay dos conjuntos de constructores de ServerDocument:

  • Un conjunto que puede utilizar para tener acceso a un documento que ya se ha abierto en la memoria.

  • Un conjunto que puede utilizar para tener acceso a un documento almacenado en disco.

Acceso a un documento almacenado en memoria

Para tener acceso a un documento que ya se ha abierto en la memoria, utilice uno de los constructores siguientes:

Estos constructores aceptan una matriz de bytes o un objeto Stream que representa el documento en memoria. Esto resulta útil si desea modificar los datos almacenados en memoria caché o el manifiesto de aplicación del documento antes de transmitirlo en secuencias a un destino mediante el protocolo HTTP. Para utilizar estos constructores, el documento debe tener ya una personalización de Visual Studio Tools para Office; de lo contrario, estos constructores producirán una excepción CannotLoadManifestException.

Acceso a un documento almacenado en disco

Para tener acceso a un documento que se encuentra en el disco, utilice uno de los constructores siguientes:

Estos constructores aceptan la ruta de acceso completa del documento que desea abrir. De forma predeterminada, el documento se abre con acceso de lectura y escritura. Si desea abrir el documento con acceso de sólo lectura o de sólo escritura, utilice el constructor que tiene un parámetro FileAccess.

Introducción a las diferentes versiones de la clase ServerDocument

Visual Studio Tools para Office proporciona versiones diferentes de la clase ServerDocument para las soluciones de Microsoft Office 2003 y Microsoft Office System 2007. Esta versión de la clase ServerDocument sólo se puede utilizar con soluciones que se crean utilizando plantillas de proyecto de nivel de documento de Word 2007 y Excel 2007.

Para trabajar con una solución que se creó utilizando las plantillas de proyecto de Word 2003 y Excel 2003, utilice la clase ServerDocument del espacio de nombres Microsoft.VisualStudio.Tools.Applications.Runtime.

Para obtener más información, consulte Administrar documentos en un servidor mediante la clase ServerDocument. Para obtener un ejemplo de código en el que se muestra cómo se utilizan las dos versiones de la clase ServerDocument en el mismo archivo de código, vea Cómo: Escribir código que utilice ambas versiones de la clase ServerDocument.

Ejemplos

En el ejemplo de código siguiente se crea un nuevo objeto ServerDocument que carga un documento específico y, a continuación, muestra la dirección URL del manifiesto de implementación de la personalización de Visual Studio Tools para Office que está asociada al documento. Antes de crear el objeto, el código utiliza el método GetCustomizationVersion para comprobar que la personalización se creó utilizando Microsoft Visual Studio Tools para Microsoft Office System (versión 3.0 Runtime). Éste es el único motor en tiempo de ejecución con el que es compatible esta versión de la clase ServerDocument. Para obtener más información, vea Administrar documentos en un servidor mediante la clase ServerDocument.

Este ejemplo necesita una referencia a los ensamblados Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll y Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll y las instrucciones Imports (en Visual Basic) o using (en C#) para los espacios de nombres Microsoft.VisualStudio.Tools.Applications y Microsoft.VisualStudio.Tools.Applications.Runtime al principio del archivo de código.

Private Sub CreateServerDocumentFromPath(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            serverDocument1 = New ServerDocument(documentPath)
            MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _
                serverDocument1.DeploymentManifestUrl.ToString())
        End If

    Catch ex As System.IO.FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As UnknownCustomizationFileException
        System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
            "extension that is not supported by Visual Studio Tools for Office.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
    End Try
End Sub
private void CreateServerDocumentFromPath(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            serverDocument1 = new ServerDocument(documentPath);
            MessageBox.Show("The URL of the deployment manifest is: \n" +
                serverDocument1.DeploymentManifestUrl.ToString());
        }
    }
    catch (System.IO.FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (UnknownCustomizationFileException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document has a file " +
            "extension that is not supported by Visual Studio Tools for Office.");
    }
    finally
    {
        if (serverDocument1 != null)
            serverDocument1.Close();
    }
}

Jerarquía de herencia

System.Object
  Microsoft.VisualStudio.Tools.Applications.ServerDocument

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

ServerDocument (Miembros)

Microsoft.VisualStudio.Tools.Applications (Espacio de nombres)

Otros recursos

Administrar documentos en un servidor mediante la clase ServerDocument

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

Acceso a datos de documentos en el servidor

Cómo: Insertar datos en un libro ubicado en un servidor

Cómo: Recuperar los datos almacenados en la memoria caché de un libro ubicado en un servidor

Cómo: Cambiar los datos almacenados en caché en un libro ubicado en un servidor