共用方式為


在文件層級專案中進行偵錯

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

您可以使用在其他專案中所用的相同 Visual Studio 工具,偵錯 Microsoft Office Word 和 Microsoft Office Excel 的文件層級專案。在偵錯模式中執行專案時,Visual Studio 會啟動 Word 或 Excel,而且偵錯工具也會附加到在 Word 或 Excel 同一個處理序中執行的任何項目上。如需 Visual Studio 偵錯工具的詳細資訊,請參閱 Visual Studio 偵錯

秘訣

在建置及偵錯以前關閉任何開啟的 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 範本中的任何巨集。

如果您要停止偵錯工具,而仍然要在開啟的文件或工作表中工作,請先讓偵錯工具與處理序中斷連結,然後再停止偵錯工具。如需詳細資訊,請參閱 HOW TO:中斷所有處理序連結

在 Visual Studio 中開啟 Word 時鎖住 Normal.dot

在 Visual Studio 中開啟 Word 時,它會鎖定預設範本 Normal.dot。當執行方案以進行偵錯時,會在另一個處理序中開啟 Word 的複本。如果在開啟的 Word 複本中進行應用程式層級自訂作業 (如修改工具列或功能表),將無法儲存這些變更,因為在 Visual Studio 之內開啟的處理序鎖住了 Normal.dot。

在執行階段,Word 會在單一處理序中分別開啟不同的文件執行個體,因此不可能由一個開啟的文件鎖住 Normal.dot,並防止應用程式層級的變更。

如需詳細資訊,請參閱知識庫文件<PRB: Prompt to Save Normal.dot When Using Word as an Automation Server>(https://support.microsoft.com/kb/285885/zh-tw)。

快取資料集偵錯

每次建置專案時,資料集會先清空再重新建立。若要對快取的資料集進行偵錯,必須在 Visual Studio 之外開啟文件,然後附加偵錯工具。

偵錯根據 Word 97-2003 文件 (*.doc) 格式的 Word 2007 專案

若要偵錯根據 Word 97-2003 文件 (*.doc) 格式的 Word 2007 文件專案,則必須將專案資料夾加入至信任資料夾清單。如需如何執行此作業的詳細資訊,請參閱 授與信任給文件 (2007 系統)

原始檔控制

偵錯屬性不是在原始檔控制下由多個使用者共用。Visual Basic 和 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% 資料夾中建立記錄檔。記錄檔的預設名稱為 <Documentname>.doc.log (Word) 和 <Documentname>.xls.log (Excel)。您可以將該變數設定為 0 (零),藉以停止記錄錯誤。

根據預設,Visual Studio Tools for Office 每在 Word 和 Excel 專案中遇到一個錯誤,就會顯示一次訊息方塊。您可以加入環境變數 VSTO_SUPPRESSDISPLAYALERTS 並將其值設定為 1 (一),讓 Visual Studio Tools for Office 停止顯示錯誤訊息。若要顯示錯誤訊息,請將該變數設定為 0 (零)。

如需在 Microsoft Windows XP 中設定環境變數的詳細資訊,請參閱<How To Manage Environment Variables in Windows XP>(https://support.microsoft.com/kb/310519/zh-tw)。

請參閱

工作

HOW TO:處理 Office 專案中的錯誤

概念

部署 Office 方案 (2003 系統)

部署 Office 方案 (2007 系統)

在 Visual Studio 中建立 Office 方案

Office 方案建置程序概觀

其他資源

Visual Studio 偵錯

建置和偵錯 Office 方案