ServerDocument (Constructor) (Byte[], String) (2003 System)
Actualización: noviembre 2007
Inicializa una nueva instancia de la clase ServerDocument con una matriz de bytes 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 ( _
bytes As Byte(), _
fileType As String _
)
'Uso
Dim bytes As Byte()
Dim fileType As String
Dim instance As New ServerDocument(bytes, fileType)
public ServerDocument(
byte[] bytes,
string fileType
)
Parámetros
bytes
Tipo: array<System. . :: .Byte> [] () []Matriz de bytes que representa el documento que se va a cargar.
fileType
Tipo: System. . :: .StringLa 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 bytes 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. |
CannotLoadManifestException | El archivo especificado por el parámetro bytes 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 para usar estos constructores.
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(array<Byte>[]()[], String) para crear un nuevo ServerDocument. En el ejemplo se utiliza la propiedad Document para mostrar el número de bytes 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 DisplayDocumentBytes(ByVal fileName As String)
If ServerDocument.IsCustomized(fileName) Then
Dim stream As System.IO.FileStream = Nothing
Dim serverDocument1 As ServerDocument = Nothing
Try
' Read the file into a byte array.
stream = New System.IO.FileStream(fileName, _
System.IO.FileMode.Open, System.IO.FileAccess.Read)
Dim buffer As Byte() = New Byte(stream.Length) {}
stream.Read(buffer, 0, buffer.Length)
' Create a ServerDocument and display the
' number of bytes in the document.
serverDocument1 = New ServerDocument(buffer, "*.xls")
MsgBox("The Document property contains " & _
serverDocument1.Document.Length.ToString() & " bytes.")
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 DisplayDocumentBytes(string fileName)
{
if (ServerDocument.IsCustomized(fileName))
{
ServerDocument serverDocument1 = null;
System.IO.FileStream stream = null;
try
{
// Read the file into a byte array.
stream = new System.IO.FileStream(
fileName, System.IO.FileMode.Open,
System.IO.FileAccess.Read);
byte[] buffer = new byte[(int)stream.Length];
stream.Read(buffer, 0, (int)buffer.Length);
// Create a ServerDocument and display the
// number of bytes in the document.
serverDocument1 = new ServerDocument(buffer,
"*.xls");
MessageBox.Show("The Document property contains " +
serverDocument1.Document.Length.ToString() +
" bytes.");
}
finally
{
if (serverDocument1 != null)
serverDocument1.Close();
if (stream != null)
stream.Close();
}
}
else
{
MessageBox.Show("The specified document is not " +
"customized.");
}
}
Permisos
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Microsoft.VisualStudio.Tools.Applications.Runtime (Espacio de nombres)