他の Visual Studio プロジェクトに使用するのと同じ Microsoft Visual Studio ツールを使用して、Office プロジェクトをデバッグできます。 Visual Studio デバッガーの機能 ([ ローカル] ウィンドウにブレークポイントを挿入したり変数を表示したりする機能など) は、Office プロジェクトをデバッグするときにも使用できます。 Visual Studio デバッグ ツールの詳細については、「 Visual Studio でのデバッグ」を参照してください。
ヒント
デバッグを簡略化するには、ビルドしてデバッグする前に、開いている Office アプリケーションのインスタンスをすべて閉じます。
適用対象: このトピックの情報は、ドキュメント レベルのプロジェクトと VSTO アドイン プロジェクトに適用されます。 「Office アプリケーションとプロジェクトの種類で使用できる機能」を参照してください。
注
複数のプラットフォームで Office エクスペリエンスを拡張するソリューションの開発に関心がありますか? 新しい Office アドイン モデルを確認します。 Office アドインは VSTO アドインやソリューションと比較してフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべての Web プログラミング テクノロジを使用して構築できます。
デバッガーを開始および停止する
他の Visual Studio プロジェクトのデバッグを開始するのと同じように、Office プロジェクトのデバッグを開始できます。たとえば、 F5 キーを押すことができます。 VSTO アドイン プロジェクトのデバッグを開始すると、対象の Office アプリケーションの新しいプロセスが開始され、VSTO アドインが読み込まれます。
ドキュメント レベルのプロジェクトのデバッグを開始すると、ドキュメントまたはブックが新しい Word または Excel プロセスで開きます。
デバッガーを停止すると、デバッガーはアプリケーション プロセスを突然終了するか、デバッガーがデタッチするように設定されている場合はデタッチします。 終了した Office アプリケーション プロセスで開かれた他のすべてのドキュメントも、警告なしで閉じられ、保存されていない変更は失われます。 これには、デバッガーの実行中に開かれるすべてのドキュメントまたはブックが含まれる場合があります。
通常は、通常の方法で Office アプリケーションを終了できるように、デバッガーを停止する前にプロセスからデタッチすることをお勧めします。 デバッガーを停止した後も開いているドキュメントまたはワークシートを操作する場合は、最初にプロセスからデタッチすることもできます。
Word のドキュメント レベルのカスタマイズをデバッグする場合、デバッガーを繰り返し停止し、Word を突然閉じると、標準テンプレートが破損する可能性があります。 この場合、破損した標準テンプレートを削除すると、次回 Word を開くと自動的に再作成されます。 ただし、標準テンプレートに格納されていたマクロは再作成されません。
Office 2013 または Office 2016 を使用して Office 2013 VSTO アドインをデバッグする
Visual Studio 2015 を使用していて、両方のバージョンの Office がサイド バイ サイドでインストールされている場合、Visual Studio は Office 2016 を起動します。 Visual Studio 2013 を使用している場合、Visual Studio は Office 2013 を起動します。
別のバージョンの Office (2013 または 2016) を使用して VSTO アドインをデバッグする場合は、 プロジェクト デザイナーを開き、[ デバッグ ] タブで [ 外部プログラムの開始 ] オプション ボタンを選択します。 次に、適切な Office アプリケーション実行可能ファイルの場所を参照します。
F10 と F11 の動作
Office プロジェクトのデバッグを開始すると、 F10 および F11 は、他の Visual Basic または C# プロジェクトのデバッグを開始したときと同じ動作をしません。 Visual Basic または C# プロジェクトでは、デバッガーはメイン関数で停止します。Office プロジェクトでは、Visual Studio は Office アプリケーションのメイン機能を制御できません。 ただし、デバッグ中、 F10 および F11 には Visual Basic および C# プロジェクトと同じ関数があります。
例外を表示する
マネージ コードがアンマネージド コードと対話する方法のため、Visual Studio では、Microsoft Office アプリケーションで発生したエラーは表示されません。 たとえば、Visual Studio で Office 開発ツールを使用して作成された VSTO アドインが例外をスローした場合、Microsoft Office アプリケーションはエラーを表示せずに続行されます。 これらのエラーを表示するには、共通言語ランタイム例外で中断するようにデバッガーを設定します。 詳細については、「 デバッガーで例外を管理する」を参照してください。
共通言語ランタイムの例外で中断するようにデバッガーを設定すると、処理した例外やランタイム自体からの最初の例外を含め、すべての例外がデバッガーに分割されます。これは、プロジェクトに関連しない可能性があります。 msosec が見つからないというエラーはすべてのプロジェクトに表示されますが、無視しても問題ありません。 これらの msosec 例外は、ソリューションには影響しません。
Try...Catch ステートメントをメソッドの周囲に使用して例外をキャッチすることもできます。
既定では、Visual Studio には、Office プロジェクトの Just-In-Time デバッグ エラーも表示されません。ただし、この機能を有効にすると、発生したエラーを確認できます。 詳細については、「 Visual Studio での Just-In-Time デバッグ」を参照してください。
コマンドライン引数
[デバッグ] プロパティ ページの [開始アクション] が [プロジェクトの開始] に設定されている場合、開始オプションとしてコマンド ライン引数を指定した場合でも、プロジェクトのデバッグ時にコマンド ライン引数は使用されません。 デバッグを開始するときにコマンド ライン引数を使用する場合は、プロジェクトの開始以外の開始アクションを選択する必要があります。
ソース管理
デバッグ プロパティは、ソース管理下の複数のユーザー間で共有されません。 Visual Basic および C# プロジェクトでは、デバッグ プロパティがユーザー固有のファイル (ProjectName.vbproj.user または ProjectName.csproj.user) に格納され、このファイルはソース管理下にありません。 複数のユーザーがデバッグしている場合、各ユーザーはデバッグ プロパティを手動で入力する必要があります。
ドキュメント レベルのプロジェクトでキャッシュされたデータセットをデバッグする
プロジェクトをビルドするたびに、データセットが空になり、再作成されます。 キャッシュされたデータセットをデバッグする場合は、Visual Studio の外部でドキュメントを開き、デバッガーをアタッチする必要があります。
Word 97-2003 文書 (*.doc) 形式に基づいて Word 文書プロジェクトをデバッグする
Word 97-2003 文書 (/.doc*) 形式に基づいて Word 文書プロジェクトをデバッグするには、プロジェクト フォルダーを信頼できるフォルダーの一覧に追加する必要があります。 これを行う方法の詳細については、「ドキュメントへの 信頼を付与する」を参照してください。
無効なアドインをデバッグする
Microsoft Office アプリケーションでは、予期しない動作をする VSTO アドインを無効にすることができます。 Microsoft Office アプリケーションは VSTO アドインを無効にして、アプリケーションが起動するたびに問題のあるコードが読み込まれないようにします。 ただし、一般的なデバッグ中に予期しない動作を引き起こすのも簡単です。 VSTO アドインを再度有効にする方法については、「 方法: 無効になっている VSTO アドインを再度有効にする」を参照してください。
Microsoft Office アプリケーションが VSTO アドインに使用する無効化には、ハード無効化とソフト無効化の 2 種類があります。
強制無効化
ハード無効化は、VSTO アドインによってアプリケーションが予期せず終了した場合に発生する可能性があります。 VSTO アドインの Startup イベント ハンドラーの実行中にデバッガーを停止すると、開発用コンピューターでも発生する可能性があります。 VSTO アドインがハード無効になっている場合は、アプリケーションの [無効なアイテム] リストに表示されます。
Visual Studio で Office 開発ツールを使用して作成された VSTO アドインを Office アプリケーションでハード無効にすると、エラーの原因となった VSTO アドインのみが無効になります。 その Office アプリケーション用の Visual Studio で Office 開発ツールを使用して作成された他の VSTO アドインは、引き続き読み込まれます。
ソフトウェアによる無効化
ソフト無効化は、VSTO アドインでエラーが発生し、アプリケーションが予期せず閉じられない場合に発生する可能性があります。 たとえば、Startup イベント ハンドラーの実行中にハンドルされない例外がスローされた場合、アプリは VSTO アドインを軽度に無効化することがあります。 VSTO アドインがソフト 無効の場合、アプリケーションの 非アクティブなアプリケーション アドイン の一覧に表示され、アプリケーションは VSTO アドインの LoadBehavior レジストリ エントリの値を変更して、アンロードされたことを示します。 LoadBehavior レジストリ エントリの詳細については、「VSTO アドインのレジストリ エントリ」を参照してください。
イベント ビューアーを使用したインストール エラーのトラブルシューティング
Visual Studio Tools for Office ランタイムは、Office ソリューションのインストールまたはアンインストール時にスローされるすべての例外について、Windows のイベント ビューアーにメッセージを書き込みます。 これらのメッセージを使用して、インストールと展開の問題を解決できます。
ログ ファイルとエラー メッセージを使用してスタートアップ エラーのトラブルシューティングを行う
Visual Studio Tools for Office ランタイムは、起動時に発生したすべてのエラーをログ ファイルに書き込んだり、各エラーをメッセージ ボックスに表示したりできます。 既定では、これらのオプションはオフになっています。 環境変数を作成することで、オプションを有効にすることができます。
各エラーをメッセージ ボックスに表示するには、 VSTO_SUPPRESSDISPLAYALERTS という名前の環境変数を作成し、0 (ゼロ) に設定します。 環境変数を削除するか、1 (1) に設定することで、メッセージを抑制できます。
エラーをログ ファイルに書き込むには、 VSTO_LOGALERTS という名前の環境変数を作成し、1 (1) に設定します。 Visual Studio Tools for Office ランタイムは、VSTO アドインの配置マニフェストを含むフォルダー、またはカスタマイズに関連付けられているドキュメントまたはブックを含むフォルダーにログ ファイルを作成します。 失敗した場合、Visual Studio Tools for Office ランタイムはローカル %TEMP% フォルダーにログ ファイルを作成します。 アプリケーション レベルの VSTO アドインの場合、既定の名前は アドイン名.vsto.logです。 ドキュメント レベルのプロジェクトの場合、ログ ファイルの名前は ドキュメント名です。拡張機能.log (ExcelWorkbook1.xlsx.log など)。 エラーのログ記録を停止するには、環境変数を削除するか、0 (ゼロ) に設定します。