ドキュメント レベルのプロジェクトのデバッグ

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Microsoft Office Word および Microsoft Office Excel 用のドキュメント レベルのプロジェクトのデバッグには、他のプロジェクトの場合と同じ Visual Studio ツールを使用できます。デバッグ モードでプロジェクトを実行すると、Visual Studio で Word または Excel が起動し、Word または Excel と同じプロセスで実行されるすべての要素にデバッガがアタッチされます。Visual Studio のデバッグ ツールの詳細については、「Visual Studio でのデバッグ」を参照してください。

h1e6ht9c.alert_note(ja-jp,VS.90).gifヒント :

ビルドおよびデバッグを実行する前に、Word または Excel の開いているインスタンスを閉じて競合を回避してください。

F10 および F11 キーの動作

Office プロジェクトのデバッグ開始における F10 および F11 キーの動作は、他の Visual Basic または C# プロジェクトのデバッグ開始の場合と同じではありません。Visual Basic や C# のプロジェクトの場合、デバッガはメイン関数で停止しますが、Office プロジェクトの場合、Visual Studio では Office アプリケーションのメイン関数に対する制御権がありません。ただし、デバッグ実行中の F10 および F11 キーの機能は、Visual Basic および C# のプロジェクトの場合と同じです。詳細については、「デバッグのショートカット キー (Brief スキーム)」を参照してください。

デバッガの停止

文書またはブックのデバッグを開始すると、文書またはブックは新しい Word または Excel プロセスで開かれます。デバッガを停止すると、Word または Excel プロセスが即座に停止されます。また、デバッガをデタッチするように設定してある場合にはデバッガがデタッチされます。次に停止する Word または Excel プロセスで開かれている他のすべての文書またはブックも、警告を表示せずに閉じ、保存されていない変更内容は失われます。これには、デバッガの実行中に開かれた文書やブックもすべて含まれます。通常の方法で Word や Excel を終了できるように、デバッガを停止する前にプロセスからデタッチしておくことをお勧めします。

負荷の大きいデバッグのセッション実行中に、デバッガが何度も停止したり Word が突然終了したりすると、Normal.dot が壊れる場合があります。その場合は壊れた Normal.dot テンプレートを削除します。テンプレートは、Word を次に開いたときに自動的に再作成されます。ただし、Normal.dot テンプレートに格納されていたマクロは再作成されません。

デバッガを停止するが、開いている文書やワークシート内で実行する場合は、まず、デバッガをプロセスからデタッチし、次にデバッガを停止します。詳細については、「方法 : すべてのプロセスをデタッチする」を参照してください。

Word を Visual Studio で開いているときにロックされる Normal.dot

Word を Visual Studio で開いているときに、Word は既定のテンプレートである Normal.dot をロックします。デバッグ用のソリューションを実行すると、Word のコピーが別のプロセスで開かれます。開かれている Word のコピーに対してツール バーやメニューの変更などアプリケーション レベルのカスタマイズを実行しても、Visual Studio 内で開かれているプロセスによって Normal.dot がロックされているので変更を保存できません。

実行時に、Word は 1 つのプロセスで文書のインスタンスを個別に開きます。したがって、1 つの開かれた文書が Normal.dot をロックしてアプリケーション レベルの変更を回避するわけではありません。

詳細については、サポート技術情報の文書「オートメーション サーバーとして Word を使用する場合、 Normal.dot を変更することを確認します。 (https://support.microsoft.com/default.aspx?scid=kb;ja-jp;285885)」を参照してください。

キャッシュされたデータセットのデバッグ

プロジェクトをビルドするたびに、データセットは空になり、再作成されます。キャッシュされたデータセットをデバッグする場合は、Visual Studio の外部で文書を開いてからデバッガをアタッチする必要があります。

Word 97 ~ Word 2003 の文書 (*.doc) 形式に基づく Word 2007 プロジェクトのデバッグ

Word 97 ~ Word 2003 の文書 (*.doc) 形式に基づく Word 2007 文書プロジェクトをデバッグするには、信頼できるフォルダのリストにプロジェクト フォルダを追加する必要があります。この手順の詳細については、「ドキュメントへの信頼の付与 (2007 システム)」を参照してください。

ソース管理

デバッグ プロパティは、ソース管理で複数のユーザー間では共有されません。Visual Basic プロジェクトや Visual C# プロジェクトでは、デバッグ プロパティはユーザー固有のファイル (<ProjectName>.vbproj.user または <ProjectName>.csproj.user) に格納されます。このファイルはソース管理で管理されません。複数のユーザーがデバッグを実行する場合は、各自が手動でデバッグ プロパティを入力する必要があります。

コマンド ライン引数

[デバッグ] プロパティ ページの [開始動作][スタート プロジェクト] に設定されている場合、Visual Studio ではプロジェクトのデバッグ時にコマンド ライン引数を使用しません。起動オプションでコマンド ライン引数を指定した場合でも同様です。デバッグの開始時にコマンド ライン引数を使用するには、[開始動作][スタート プロジェクト] 以外に設定する必要があります。

ログ ファイルおよびエラー メッセージを使用したトラブルシューティング

Visual Studio Tools for Office ではすべてのエラーをログ ファイルに書き込むことができます。Word プロジェクトおよび Excel プロジェクトの場合、既定ではこのオプションは無効になっています。このオプションを有効にするには、VSTO_LOGALERTS 環境変数を追加して、値を 1 に設定します。Visual Studio Tools for Office では、ソリューション ドキュメントが作成される出力フォルダにログ ファイルを作成します。この場所に作成できない場合は、%TEMP% フォルダに作成します。ログ ファイルの既定の名前は、Word の場合は <Documentname>.doc.log、Excel の場合は <Documentname>.xls.log です。エラーのログ出力を停止するには、変数を 0 (ゼロ) に設定します。

Visual Studio Tools for Office では、Word プロジェクトおよび Excel プロジェクトの場合は既定で各エラーをメッセージ ボックスに表示します。Visual Studio Tools for Office でエラー メッセージを表示しないようにするには、VSTO_SUPPRESSDISPLAYALERTS 環境変数を追加して、値を 1 に設定します。エラー メッセージを表示するには、変数を 0 (ゼロ) に設定します。

Microsoft Windows XP での環境変数の設定については、「[HOW TO] Windows XP で環境変数を管理する方法 (https://support.microsoft.com/default.aspx?scid=kb;ja-jp;310519)」を参照してください。

参照

処理手順

方法 : Office プロジェクトのエラーを処理する

概念

Office ソリューションの配置 (2003 システム)

Office ソリューションの配置 (2007 システム)

Visual Studio における Office ソリューションの作成

Office ソリューション ビルド処理の概要

その他の技術情報

Visual Studio でのデバッグ

Office ソリューションのビルドとデバッグ