ServerDocument クラス

Visual Studio の Office 開発ツールで作成されたドキュメント レベル カスタマイズの一部であるドキュメントまたはブックに存在する、キャッシュされたデータおよびカスタマイズ情報へのアクセスを提供します。

継承階層

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

名前空間:  Microsoft.VisualStudio.Tools.Applications
アセンブリ:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll 内)

構文

'宣言
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

ServerDocument 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
パブリック メソッド ServerDocument(String) 読み込むドキュメントの完全パスを使用して、ServerDocument クラスの新しいインスタンスを初期化します。
パブリック メソッド ServerDocument(array<Byte[], String) 読み込むドキュメントを表すバイト配列およびドキュメントのファイル名拡張子を使用して、ServerDocument クラスの新しいインスタンスを初期化します。
パブリック メソッド ServerDocument(Stream, String) 読み込むドキュメントを表すストリームおよびドキュメントのファイル名拡張子を使用して、ServerDocument クラスの新しいインスタンスを初期化します。
パブリック メソッド ServerDocument(String, FileAccess) 読み込むドキュメントの完全パス、およびドキュメントのファイル アクセスを示す値を使用して、ServerDocument クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ CachedData ドキュメント内のキャッシュされたデータを表す CachedData オブジェクトを取得します。
パブリック プロパティ DeploymentManifestUrl ドキュメントに関連付けられているカスタマイズの配置マニフェストの URL を取得または設定します。
パブリック プロパティ Document ServerDocument に読み込まれているメモリ内のドキュメントのバイト配列を取得します。
パブリック プロパティ SolutionId ソリューションを特定するために Visual Studio Tools for Office Runtime が使用する GUID を取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド静的メンバー AddCustomization(String, Uri) 指定されたアセンブリ名と配置マニフェストを使用して、特定のドキュメントにカスタマイズをアタッチします。
パブリック メソッド静的メンバー AddCustomization(String, String, Guid, Uri) 指定されたドキュメント、アセンブリ名、ソリューション ID、および配置マニフェストを使用して、特定のドキュメントにカスタマイズをアタッチします。
パブリック メソッド静的メンバー AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) インフラストラクチャ。
パブリック メソッド Close ServerDocument オブジェクトを閉じます。
パブリック メソッド Equals 指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド静的メンバー GetCustomizationVersion 指定されたドキュメントに関連付けられているカスタマイズの作成に使用した Visual Studio Tools for Office Runtime のバージョンを返します。
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド静的メンバー IsCacheEnabled 指定のドキュメントにデータ キャッシュが含まれているかどうかを示す値を取得します。
パブリック メソッド静的メンバー IsCustomized 指定のドキュメントに Visual Studio 2010 Tools for Office Runtime を使用して作成されたカスタマイズが含まれているかどうかを示す値を取得します。
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド静的メンバー RemoveCustomization ドキュメントからカスタマイズを削除します。
パブリック メソッド Save ServerDocument クラスを使用して、ドキュメントに加えられた変更内容を保存します。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

明示的インターフェイスの実装

  名前 説明
明示的なインターフェイス実装プライベート メソッド IDisposable.Dispose ServerDocument で使用したすべてのリソースを解放します。

このページのトップへ

解説

Excel または Word がインストールされていないコンピューター上のドキュメント レベルのカスタマイズの特定部分を管理するには、ServerDocument クラスを使用します。 このクラスは通常、Office プロジェクトではなく、コンソール プロジェクトや Windows フォーム プロジェクトなどの Office に統合されないアプリケーションで使用します。

一般的なタスクを実行するには、ServerDocument クラスの次のメンバーを使用します。

  • サーバー上のドキュメントのデータ キャッシュにあるデータへのアクセスやデータの変更を行うには、CachedData プロパティを使用します。

  • プログラムを使用してドキュメントにカスタマイズをアタッチしたり、ドキュメントからカスタマイズを削除したりするには、AddCustomization メソッドと RemoveCustomization メソッドを使用します。

  • ドキュメントに関連付けられた配置マニフェストの URL にアクセスしたり、URL を変更したりするには、DeploymentManifestUrl プロパティを使用します。

Visual Studio 2010 Tools for Office Runtime の ServerDocument クラスには 2 つの異なるバージョンがあります。 どちらのバージョンを使用するかは、クラスを使用するアプリケーションが対象とする .NET Framework に応じて次のように異なります。

  • .NET Framework 4 を対象とするアプリケーションの場合、Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll アセンブリの Microsoft.VisualStudio.Tools.Applications.ServerDocument クラスを使用します。

  • .NET Framework 3.5 を対象とするアプリケーションの場合、Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll アセンブリの Microsoft.VisualStudio.Tools.Applications.ServerDocument クラスを使用します。

詳細については、「ServerDocument クラスによるサーバー上のドキュメントの管理」を参照してください。

使用するコンストラクターの選択

ServerDocument クラスを使用してドキュメント内のキャッシュされたデータや配置マニフェストの URL にアクセスするには、ServerDocument オブジェクトを作成する必要があります。

2 組の ServerDocument コンストラクターがあります。

  • 1 組は、メモリで既に開かれているドキュメントへのアクセスに使用します。

  • もう 1 組は、ディスク上にあるドキュメントへのアクセスに使用します。

メモリ内のドキュメントへのアクセス

メモリで既に開かれているドキュメントにアクセスするには、次のいずれかのコンストラクターを使用します。

これらのコンストラクターは、バイト配列、またはメモリ内のドキュメントを表す Stream を受け取ります。 これは、HTTP プロトコルを使用して宛先にストリーム転送する前に、ドキュメント内のキャッシュされたデータやアプリケーション マニフェストを変更する場合に役立ちます。 これらのコンストラクターを使用するには、ドキュメントにカスタマイズが含まれている必要があります。それ以外の場合、コンストラクターは CannotLoadManifestException 例外をスローします。

ディスク上のドキュメントへのアクセス

ディスク上のドキュメントにアクセスするには、次のいずれかのコンストラクターを使用します。

これらのコンストラクターは、開くドキュメントの完全パスを受け取ります。 既定で、ドキュメントは読み取り/書き込みアクセスで開かれます。 読み取り専用アクセスまたは書き込み専用アクセスでドキュメントを開くには、FileAccess パラメーターを持つコンストラクターを使用します。

次のコード例は、指定のドキュメントを読み込む新しい ServerDocument を作成し、ドキュメントにアタッチされたカスタマイズの配置マニフェストの URL を表示します。

この例には、次の項目が必要です。

  • コンソール アプリケーション プロジェクトまたはその他の Office 以外のプロジェクト。

  • 次のアセンブリへの参照。

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll および Microsoft.VisualStudio.Tools.Applications.Runtime.dll (プロジェクトが .NET Framework 4 を対象とする場合)。

      または

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll および Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (プロジェクトが .NET Framework 3.5 を対象とする場合)。

  • コード ファイルの先頭に、Microsoft.VisualStudio.Tools.Applications 名前空間および Microsoft.VisualStudio.Tools.Applications.Runtime 名前空間に対する Imports ステートメント (Visual Basic の場合) または using ステートメント (C# の場合) を追加します。

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

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

Microsoft.VisualStudio.Tools.Applications 名前空間

その他の技術情報

ServerDocument クラスによるサーバー上のドキュメントの管理

Office ソリューションにおけるアプリケーション マニフェストと配置マニフェスト

サーバー上のドキュメント内のデータへのアクセス

方法 : サーバー上のブックにデータを挿入する

方法 : サーバー上のブックからキャッシュされたデータを取得する

方法 : サーバー上のブックでキャッシュされたデータを変更する