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 ソリューションにおけるアプリケーション マニフェストと配置マニフェスト