Compartir a través de


ServerDocument (Constructor) (Stream, String) (2003 System)

Actualización: noviembre 2007

Inicializa una nueva instancia de la clase ServerDocument con una secuencia que representa el documento que se va a cargar y la extensión de nombre de archivo del documento.

Espacio de nombres:  Microsoft.VisualStudio.Tools.Applications.Runtime
Ensamblado:  Microsoft.VisualStudio.Tools.Applications.Runtime (en Microsoft.VisualStudio.Tools.Applications.Runtime.dll)

Sintaxis

'Declaración
Public Sub New ( _
    stream As Stream, _
    fileType As String _
)
'Uso
Dim stream As Stream
Dim fileType As String

Dim instance As New ServerDocument(stream, _
    fileType)
public ServerDocument(
    Stream stream,
    string fileType
)

Parámetros

  • fileType
    Tipo: System. . :: .String

    La extensión de archivo del documento que está almacenada en el parámetro bytes, precedida de un punto (.), por ejemplo, ".xls" o ".doc".

Excepciones

Excepción Condición
ArgumentNullException

El parámetro stream es null Nothing nullptr referencia null (Nothing en Visual Basic) o está vacío.

O bien

El parámetro fileType es null Nothing nullptr referencia null (Nothing en Visual Basic) o está vacío, o se compone únicamente de caracteres de espacio en blanco.

ArgumentException

El parámetro stream es de longitud cero o su posición actual está al final de la secuencia.

CannotLoadManifestException

El archivo especificado por el parámetro stream no tiene una personalización de Visual Studio Tools para Office.

UnknownCustomizationFileException

El parámetro fileType especifica una extensión de nombre de archivo que no se admite en Visual Studio Tools para Office.

Comentarios

Use este constructor para tener acceso a los datos almacenados en memoria caché o al manifiesto de aplicación en un documento que ya está en la memoria. Cuando se usa este constructor, el documento se abre con acceso de lectura y escritura.

Para usar este constructor, el documento debe tener ya una personalización de Visual Studio Tools para Office. Si desea abrir un documento que no tiene todavía una personalización de Visual Studio Tools para Office, use el constructor ServerDocument..::.ServerDocument(String, Boolean) o ServerDocument..::.ServerDocument(String, Boolean, FileAccess) y establezca el parámetro onClient en true. El equipo cliente debe tener instalado Word o Excel.

El parámetro fileType sólo se usa para determinar el tipo de documento que está almacenado en una matriz de bytes. El valor de fileType se asigna a uno de los tipos de archivo que se admiten en las personalizaciones de nivel de documento. No se ha intentado abrir el archivo. Si lo desea, también puede pasar un nombre de archivo completo (por ejemplo, "Libro1.xls"); pero si hace esto, sólo se usará la extensión de nombre de archivo. Para obtener más información sobre los tipos de archivos compatibles, vea Arquitectura de las personalizaciones de nivel de documento.

Para tener acceso a la matriz de bytes del documento después de llamar a este constructor, use la propiedad Document.

Ejemplos

En el ejemplo de código siguiente se utiliza el constructor ServerDocument(Stream, String) para crear un nuevo ServerDocument y, a continuación, se muestran los nombres de todos los objetos de la caché de datos del documento. En este ejemplo se necesita una referencia al ensamblado Microsoft.VisualStudio.Tools.Applications.Runtime y una instrucción Imports (para Visual Basic) o using (para C#) para el espacio de nombres Microsoft.VisualStudio.Tools.Applications.Runtime al principio del archivo de código.

Private Sub CreateServerDocumentFromStream(ByVal fileName As String)
    If ServerDocument.IsCustomized(fileName) Then
        Dim stream As System.IO.FileStream = Nothing
        Dim serverDocument1 As ServerDocument = Nothing
        Try
            stream = New System.IO.FileStream( _
                fileName, System.IO.FileMode.Open)
            serverDocument1 = New ServerDocument(stream, "*.xls")
            Dim stringBuilder1 As New System.Text.StringBuilder()

            ' Display all of the cached data items 
            ' in the document.
            Dim hostItem1 As CachedDataHostItem
            For Each hostItem1 In serverDocument1.CachedData.HostItems
                stringBuilder1.Append(vbLf + "Namespace and class: ")
                stringBuilder1.Append(hostItem1.Id + vbLf)
                Dim dataItem1 As CachedDataItem
                For Each dataItem1 In hostItem1.CachedData
                    stringBuilder1.Append("     Data item: ")
                    stringBuilder1.Append(dataItem1.Id + vbLf)
                Next dataItem1
            Next hostItem1
            MsgBox(stringBuilder1.ToString())
        Finally
            If Not serverDocument1 Is Nothing Then
                serverDocument1.Close()
            End If

            If Not stream Is Nothing Then
                stream.Close()
            End If
        End Try
    Else
        MsgBox("The specified document is not " + _
            "customized.")
    End If
End Sub
private void CreateServerDocumentFromStream(string fileName)
{
    if (ServerDocument.IsCustomized(fileName))
    {
        System.IO.FileStream stream = null;  
        ServerDocument serverDocument1 = null;
        try
        {
            stream = new System.IO.FileStream(
                fileName, System.IO.FileMode.Open);
            serverDocument1 = new ServerDocument(stream,
                "*.xls");
            System.Text.StringBuilder stringBuilder1 =
                new System.Text.StringBuilder();

            // Display all of the cached data items 
            // in the document.
            foreach (CachedDataHostItem hostItem1 in
                serverDocument1.CachedData.HostItems)
            {
                stringBuilder1.Append("\nNamespace and class: ");
                stringBuilder1.Append(hostItem1.Id + "\n");
                foreach (CachedDataItem dataItem1 in
                    hostItem1.CachedData)
                {
                    stringBuilder1.Append("     Data item: ");
                    stringBuilder1.Append(dataItem1.Id + "\n");
                }
            }
            MessageBox.Show(stringBuilder1.ToString());
        }
        finally
        {
            if (serverDocument1 != null)
                serverDocument1.Close();

            if (stream != null)
                stream.Close();
        }
    }
    else
    {
        MessageBox.Show("The specified document is not " +
            "customized.");
    }
}

Permisos

Vea también

Referencia

ServerDocument (Clase)

ServerDocument (Miembros)

ServerDocument (Sobrecarga)

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