Partager via


ServerDocument, classe (System 2007)

Mise à jour : novembre 2007

Fournit l'accès aux données en mémoire cache et aux informations de personnalisation dans un document qui fait partie d'une personnalisation au niveau du document pour Microsoft Office Excel 2007 ou Microsoft Office Word 2007.

Espace de noms :  Microsoft.VisualStudio.Tools.Applications
Assembly :  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (dans Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Syntaxe

<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

Notes

Utilisez la classe ServerDocument pour gérer certains aspects de personnalisations au niveau du document sur un ordinateur où Excel ou Word n'est pas installé.

Utilisez les membres suivants de la classe ServerDocument pour effectuer des tâches courantes :

  • Pour accéder et modifier les données dans le cache des données d'un document sur un serveur, utilisez la propriété CachedData.

  • Pour joindre par programme une personnalisation à un document ou supprimer une personnalisation d'un document, utilisez les méthodes AddCustomization et RemoveCustomization.

  • Pour accéder à l'URL du manifeste de déploiement associé au document ou la modifier, utilisez la propriété DeploymentManifestUrl.

Pour plus d'informations, consultez Gestion de documents sur un serveur à l'aide de la classe ServerDocument.

Choix du constructeur à utiliser

Pour utiliser la classe ServerDocument pour accéder aux données en mémoire cache ou à l'URL du manifeste de déploiement dans un document, vous devez créer un objet ServerDocument.

Il existe deux jeux de constructeurs ServerDocument :

  • Un jeu que vous pouvez utiliser pour accéder à un document qui est déjà ouvert en mémoire.

  • Un jeu que vous pouvez utiliser pour accéder à un document sur disque.

Accès à un document en mémoire

Pour accéder à un document déjà ouvert en mémoire, utilisez l'un des constructeurs suivants :

Ces constructeurs acceptent un tableau d'octets ou un Stream qui représente le document en mémoire. Cela est utile si vous souhaitez modifier les données en mémoire cache ou le manifeste de l'application dans le document avant de le transmettre en continu à une destination en utilisant le protocole HTTP. Pour utiliser ces constructeurs, le document doit déjà avoir une personnalisation Visual Studio Tools pour Office ; sinon ces constructeurs lèvent une exception CannotLoadManifestException.

Accès à un document sur disque

Pour accéder à un document sur disque, utilisez l'un des constructeurs suivants :

Ces constructeurs acceptent le chemin d'accès complet du document à ouvrir. Par défaut, le document est ouvert en lecture/écriture. Si vous souhaitez ouvrir le document en lecture seule ou en écriture seule, utilisez le constructeur qui a un paramètre FileAccess.

Fonctionnement des différentes versions de la classe ServerDocument

Visual Studio Tools pour Office fournit des versions différentes de la classe ServerDocument pour les solutions pour Microsoft Office 2003 et la version 2007 de Microsoft Office System. Cette version de la classe ServerDocument peut être utilisée uniquement avec les solutions créées en utilisant des modèles de projet au niveau du document pour Word 2007 et Excel 2007.

Pour utiliser une solution créée en utilisant des modèles de projet pour Word 2003 et Excel 2003, utilisez la classe ServerDocument dans l'espace de noms Microsoft.VisualStudio.Tools.Applications.Runtime.

Pour plus d'informations, consultez Gestion de documents sur un serveur à l'aide de la classe ServerDocument. Pour un exemple de code qui montre comment utiliser les deux versions de la classe ServerDocument dans un même fichier de code, consultez Comment : pour écrire du code qui utilise les deux versions de la classe ServerDocument.

Exemples

L'exemple de code suivant crée un ServerDocument qui charge un document spécifié, puis affiche l'URL du manifeste de déploiement de la personnalisation Visual Studio Tools pour Office jointe au document. Avant de créer l'objet, le code utilise la méthode GetCustomizationVersion pour vérifier que la personnalisation a été créée en utilisant Microsoft Visual Studio Tools pour Microsoft Office System (version 3.0 Runtime). Il s'agit du seul runtime avec lequel cette version de la classe ServerDocument est compatible. Pour plus d'informations, consultez Gestion de documents sur un serveur à l'aide de la classe ServerDocument.

Cet exemple requiert une référence aux assemblys Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll et Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll et à l'instruction Imports (pour Visual Basic) ou using (pour C#) pour les espaces de noms Microsoft.VisualStudio.Tools.Applications et Microsoft.VisualStudio.Tools.Applications.Runtime en haut du fichier de code.

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();
    }
}

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres ServerDocument

Microsoft.VisualStudio.Tools.Applications, espace de noms

Autres ressources

Gestion de documents sur un serveur à l'aide de la classe ServerDocument

Manifestes d'application et de déploiement dans les solutions Office

Accès aux données des documents sur le serveur

Comment : insérer des données dans un classeur sur un serveur

Comment : récupérer des données mises en cache d'un classeur sur un serveur

Comment : modifier les données mises en cache dans un classeur sur un serveur