方法 : マネージ コード拡張機能をドキュメントから削除する (2007 システム)
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
2007 Microsoft Office system のドキュメント レベルのカスタマイズの一部であるドキュメントまたはブックから、Visual Studio Tools for Office カスタマイズ アセンブリをプログラムによって削除することができます。その後、ドキュメントを開き、内容を表示できますが、ドキュメントに追加されたどのカスタム ユーザー インターフェイス (UI) も表示されません。また、コードも実行されません。
カスタマイズ アセンブリを削除するには、Visual Studio Tools for Office ランタイムによって提供されるいずれかの RemoveCustomization メソッドを使用します。使用するメソッドは、実行時にカスタマイズを削除する (Visual Studio Tools for Office ソリューションでコードを実行する) か、閉じられたドキュメントまたは Microsoft Office がインストールされていないサーバー上にあるドキュメントから削除するかによって異なります。
実行時にカスタマイズ アセンブリを削除するには
- ドキュメント レベルのプロジェクトで、Document.RemoveCustomization メソッド (Word の場合) または Workbook.RemoveCustomization メソッド (Excel の場合) を呼び出します。
閉じられたドキュメントまたはサーバー上にあるドキュメントからカスタマイズ アセンブリを削除するには
Word や Excel を起動しないプロジェクト (コンソール アプリケーションや Windows フォーム アプリケーションなど) を新規に作成します。
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll アセンブリへの参照をプロジェクトに追加します。
次の Imports ステートメントまたは using ステートメントをコード ファイルの先頭に追加します。
Imports Microsoft.VisualStudio.Tools.Applications
using Microsoft.VisualStudio.Tools.Applications;
ServerDocument クラスの静的な RemoveCustomization メソッドを呼び出し、ソリューション ドキュメントのパスをパラメータに指定します。
次のコード例では、デスクトップ上にある WordDocument1.docx という名前のドキュメントからカスタマイズを削除することを前提としています。
Dim documentPath As String = System.Environment.GetFolderPath( _ Environment.SpecialFolder.Desktop) & "\WordDocument1.docx" Dim runtimeVersion As Integer = 0 Try runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath) If runtimeVersion = 3 Then ServerDocument.RemoveCustomization(documentPath) System.Windows.Forms.MessageBox.Show("The customization has been removed.") End If Catch ex As FileNotFoundException System.Windows.Forms.MessageBox.Show("The specified document does not exist.") Catch ex As IOException System.Windows.Forms.MessageBox.Show("The specified document is read-only.") Catch ex As InvalidOperationException System.Windows.Forms.MessageBox.Show("The customization could not be removed." & _ vbLf & ex.Message) End Try
string documentPath = System.Environment.GetFolderPath( Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx"; int runtimeVersion = 0; try { runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath); if (runtimeVersion == 3) { ServerDocument.RemoveCustomization(documentPath); System.Windows.Forms.MessageBox.Show("The customization has been removed."); } } catch (FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } catch (IOException) { System.Windows.Forms.MessageBox.Show("The specified document is read-only."); } catch (InvalidOperationException ex) { System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" + ex.Message); }
参照
処理手順
方法 : ServerDocument クラスの両方のバージョンを使用するコードを記述する
方法 : マネージ コード拡張機能をドキュメントに追加する (2007 システム)
方法 : マネージ コード拡張機能をドキュメントから削除する (2003 システム)
方法 : マネージ コード拡張機能をドキュメントに追加する (2003 システム)