Freigeben über


ServerDocument-Klasse (2007 System)

Aktualisiert: November 2007

Ermöglicht den Zugriff auf zwischengespeicherte Daten und auf Informationen zu Anpassungen in einem Dokument, das Teil einer Anpassung auf Dokumentebene für Microsoft Office Excel 2007 bzw. Microsoft Office Word 2007 ist.

Namespace:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Syntax

<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

Hinweise

Mit der ServerDocument-Klasse können Sie bestimmte Aspekte von Anpassungen auf Dokumentebene auf einem Computer verwalten, selbst wenn Excel oder Word nicht installiert sind.

Mit den folgenden Membern der ServerDocument-Klasse können Sie allgemeine Aufgaben ausführen:

  • Um auf Daten im Datencache eines Dokuments auf einem Server zuzugreifen und diese zu ändern, verwenden Sie die CachedData-Eigenschaft.

  • Um eine Anpassung programmgesteuert an ein Dokument anzufügen oder eine Anpassung aus einem Dokument zu entfernen, verwenden Sie die Methoden AddCustomization und RemoveCustomization.

  • Um auf die URL des Bereitstellungsmanifests, das dem Dokument zugeordnet ist, zuzugreifen oder sie zu ändern, verwenden Sie die DeploymentManifestUrl-Eigenschaft.

Weitere Informationen finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse.

Auswählen des zu verwendenden Konstruktors

Um mit der ServerDocument-Klasse auf die zwischengespeicherten Daten oder die Bereitstellungsmanifest-URL in einem Dokument zuzugreifen, müssen Sie ein ServerDocument-Objekt erstellen.

Es gibt zwei Sätze von ServerDocument-Konstruktoren:

  • Ein Satz, mit dem Sie auf ein Dokument zugreifen können, das bereits im Arbeitsspeicher geöffnet wurde.

  • Ein Satz, mit dem Sie auf ein Dokument zugreifen können, das sich auf einem Datenträger befindet.

Zugreifen auf ein Dokument im Arbeitsspeicher

Um auf ein Dokument zuzugreifen, das bereits im Arbeitsspeicher geöffnet wurde, verwenden Sie einen der folgenden Konstruktoren:

Diese Konstruktoren akzeptieren ein Bytearray oder einen Stream, der das Dokument im Arbeitsspeicher darstellt. Dies ist hilfreich, wenn Sie die zwischengespeicherten Daten oder das Anwendungsmanifest im Dokument ändern möchten, bevor Sie sie bzw. es mithilfe des HTTP-Protokolls an ein Ziel streamen. Zum Verwenden dieser Konstruktoren muss das Dokument bereits über eine Visual Studio Tools for Office-Anpassung verfügen. Andernfalls lösen diese Konstruktoren eine CannotLoadManifestException-Ausnahme aus.

Zugreifen auf ein Dokument, das sich auf einem Datenträger befindet

Um auf ein Dokument zuzugreifen, das sich auf einem Datenträger befindet, verwenden Sie einen der folgenden Konstruktoren:

Diese Konstruktoren akzeptieren den vollständigen Pfad des Dokuments, das Sie öffnen möchten. Standardmäßig wird das Dokument mit Lese-/Schreibzugriff geöffnet. Wenn Sie das Dokument nur mit Lesezugriff bzw. nur mit Schreibzugriff öffnen möchten, verwenden Sie den Konstruktor, der über einen FileAccess-Parameter verfügt.

Verschiedene Versionen der ServerDocument-Klasse

Visual Studio Tools for Office stellt verschiedene Versionen der ServerDocument-Klasse für Projektmappen für Microsoft Office 2003 und 2007 Microsoft Office System bereit. Diese Version der ServerDocument-Klasse kann nur mit Projektmappen verwendet werden, die mit Projektvorlagen auf Dokumentebene für Word 2007 und Excel 2007 erstellt wurden.

Um mit einer Projektmappe zu arbeiten, die mit Projektvorlagen für Word 2003 und Excel 2003 erstellt wurde, verwenden Sie die ServerDocument-Klasse im Microsoft.VisualStudio.Tools.Applications.Runtime-Namespace.

Weitere Informationen finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse. Ein Codebeispiel, das veranschaulicht, wie beide Versionen der ServerDocument-Klasse in derselben Codedatei verwendet werden können, finden Sie unter Gewusst wie: Schreiben von Code, der beide Versionen der ServerDocument-Klasse verwendet.

Beispiele

Im folgenden Codebeispiel wird ein neues ServerDocument erstellt, das ein angegebenes Dokument lädt. Dann wird die URL des Bereitstellungsmanifests für die Visual Studio Tools for Office-Anpassung angezeigt, die an das Dokument angefügt ist. Vor dem Erstellen des Objekts überprüft der Code mithilfe der GetCustomizationVersion-Methode, ob die Anpassung mit Microsoft Visual Studio Tools für Microsoft Office System (Version 3.0-Laufzeit) erstellt wurde. Dies ist die einzige Laufzeit, mit der diese Version der ServerDocument-Klasse kompatibel ist. Weitere Informationen finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse.

Für dieses Beispiel ist am Anfang der Codedatei ein Verweis auf die Assemblys Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll sowie auf die Anweisung Imports (für Visual Basic) oder using (für C#) für die Namespaces Microsoft.VisualStudio.Tools.Applications und Microsoft.VisualStudio.Tools.Applications.Runtime erforderlich.

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

Vererbungshierarchie

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

ServerDocument-Member

Microsoft.VisualStudio.Tools.Applications-Namespace

Weitere Ressourcen

Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse

Anwendungs- und Bereitstellungsmanifeste in Office-Projektmappen

Zugreifen auf Daten in Dokumenten auf dem Server

Gewusst wie: Einfügen von Daten in eine Arbeitsmappe auf einem Server

Gewusst wie: Abrufen von zwischengespeicherten Daten aus einer Arbeitsmappe auf einem Server

Gewusst wie: Ändern zwischengespeicherter Daten in einer Arbeitsmappe auf einem Server