方法 : ServerDocument クラスの両方のバージョンを使用するコードを記述する
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
ServerDocument クラスを使用する 1 つのコード ファイルを作成し、それによって Microsoft Office 2003 と 2007 Microsoft Office system の両方のカスタマイズを管理することができます。これにより、Microsoft Office の複数のバージョンのカスタマイズを管理する必要がある場合に、再利用できるコードを含むアセンブリを作成できます。
ServerDocument クラスの 2 つのバージョンの相違点については「ServerDocument クラスによるサーバー上のドキュメントの管理」を参照してください。
ServerDocument クラスの両方のバージョンを使用するコードを記述するには
次のアセンブリへの参照を追加します。
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.dll
コード ファイルに次の using ステートメント (Visual C# の場合) または Imports ステートメント (Visual Basic の場合) を追加します。これらのステートメントは、ServerDocument クラスの各バージョンの名前空間に対するエイリアスを定義します。
Imports v3Runtime = Microsoft.VisualStudio.Tools.Applications Imports SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime
using v3Runtime = Microsoft.VisualStudio.Tools.Applications; using SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime;
GetCustomizationVersion メソッドを使用して、Visual Studio Tools for Office ランタイムのどちらのバージョンがカスタマイズの作成に使用されたかを確認します。次に、そのランタイム バージョンの ServerDocument クラスを使用して、カスタマイズを操作します。
次のコード例は、特定の文書に関連付けられているカスタマイズを調べます。その文書が Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) (つまり Word 2007 のプロジェクト) によってカスタマイズされている場合、このコードは配置マニフェストの URL を表示します。文書が Visual Studio 2005 Tools for Office Second Edition Runtime (つまり Word 2003 のプロジェクト) によってカスタマイズされている場合は、埋め込まれたアプリケーション マニフェストの内容を表示します。
Private Sub DisplayCustomizationInformation(ByVal documentPath As String) Dim runtimeVersion As Integer = 0 Dim serverDocumentv3 As v3Runtime.ServerDocument = Nothing Dim serverDocumentSE As SERuntime.ServerDocument = Nothing Try runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath) ' Access a member that is specific to each version of the runtime. If runtimeVersion = 3 Then serverDocumentv3 = New v3Runtime.ServerDocument(documentPath) MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _ serverDocumentv3.DeploymentManifestUrl.ToString()) ElseIf runtimeVersion = 2 Then serverDocumentSE = New SERuntime.ServerDocument(documentPath) MessageBox.Show("The embedded application manifest has the following contents: " & vbLf _ & serverDocumentSE.AppManifest.ToXml()) End If Catch ex As System.IO.FileNotFoundException System.Windows.Forms.MessageBox.Show("The specified document does not exist.") Finally If Not (serverDocumentv3 Is Nothing) Then serverDocumentv3.Close() End If If Not (serverDocumentSE Is Nothing) Then serverDocumentSE.Close() End If End Try End Sub
private void DisplayCustomizationInformation(string documentPath) { int runtimeVersion = 0; v3Runtime.ServerDocument serverDocumentv3 = null; SERuntime.ServerDocument serverDocumentSE = null; try { runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath); // Access a member that is specific to each version of the runtime. if (runtimeVersion == 3) { serverDocumentv3 = new v3Runtime.ServerDocument(documentPath); MessageBox.Show("The URL of the deployment manifest is: \n" + serverDocumentv3.DeploymentManifestUrl.ToString()); } else if (runtimeVersion == 2) { serverDocumentSE = new SERuntime.ServerDocument(documentPath); MessageBox.Show("The embedded application manifest has the following contents: \n" + serverDocumentSE.AppManifest.ToXml()); } } catch (System.IO.FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } finally { if (serverDocumentv3 != null) serverDocumentv3.Close(); if (serverDocumentSE != null) serverDocumentSE.Close(); } }
参照
概念
ServerDocument クラスによるサーバー上のドキュメントの管理
参照
Microsoft.VisualStudio.Tools.Applications.ServerDocument
Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument