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

更新:2010 年 9 月

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

秘訣秘訣

在建置及偵錯以前關閉任何開啟的 Word 或 Excel 執行個體,以避免衝突。

**適用於:**本主題中的資訊適用於下列應用程式的文件層級專案:Excel 2007 和 Excel 2010、Word 2007 和 Word 2010。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

視訊的連結 如需觀看相關示範影片,請參閱如何:偵錯 VSTO 應用程式?(英文)。

F10 和 F11 的行為

開始對 Office 專案進行偵錯時,F10 和 F11 的行為與開始對其他 Visual Basic 或 C# 專案進行偵錯時並不相同。 在 Visual Basic 或 C# 專案中,偵錯工具會在主函式中停止;在 Office 專案中,Visual Studio 並不能控制 Office 應用程式的主函式。 但是在偵錯過程中,F10 和 F11 的功能與在 Visual Basic 和 C# 專案中完全相同。 如需詳細資訊,請參閱 Debugging Shortcut Keys, Brief Scheme

停止偵錯工具

當您開始偵錯文件或活頁簿時,文件或活頁簿會在新的 Word 或 Excel 處理序中開啟。 停止偵錯工具時,偵錯工具會突然結束 Word 或 Excel 處理序;或者如果將偵錯工具設定為中斷連結,就會中斷連結。 這時在被終止的 Word 或 Excel 處理序中開啟的所有文件或活頁簿,都會不加警告逕行關閉,而任何未儲存的變更也會遺失。 這種情況可能包括在偵錯工具執行時開啟的所有文件和活頁簿。

通常,最好是在停止偵錯工具以前與處理序中斷連結,以便透過正常方式結束 Word 和 Excel。 先與處理序中斷連結,再停止偵錯工具之後,您也可以繼續在開啟的文件或工作表中工作。 如需與處理序中斷連結的詳細資訊,請參閱 HOW TO:中斷所有處理序連結

在大量執行偵錯的工作階段中,重複停止偵錯工具並造成 Word 忽然關閉,可能會導致 Normal 範本損毀。 如果發生這種現象,可以刪除已損毀的 Normal 範本,它會在下次開啟 Word 時自動重新建立。 但是並不會重新建立存放在 Normal 範本中的任何巨集。

在 Visual Studio 中開啟 Word 時鎖住 Normal 範本

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

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

如需詳細資訊,請參閱知識庫文件<PRB:使用 Word 做為自動化伺服器時,會提示您儲存 Normal.dot>(https://support.microsoft.com/default.aspx?scid=kb;zh-tw;285885)。

快取資料集偵錯

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

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

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

原始檔控制

偵錯屬性不是在原始檔控制下由多個使用者共用。 Visual Basic 和 C# 專案會將偵錯屬性儲存在使用者專屬檔案 (<專案名稱>.vbproj.user 或 <專案名稱>.csproj.user) 中,而這個檔案不在原始檔控制的範圍內。 如果超過一個人在進行偵錯,每個人都必須以手動方式輸入偵錯屬性。

命令列的引數

如果 [偵錯] 屬性頁上的 [起始動作] 設定為 [起始專案],則 Visual Studio 就不會在偵錯專案時使用命令列的引數,即使您已將命令列的引數指定為起始選項也一樣。 如果您想要在開始偵錯時使用命令列的引數,就必須選取 [起始專案] 以外的 [起始動作]。

使用事件檢視器疑難排解安裝錯誤

對於當您安裝或解除安裝 Office 方案時擲回的所有例外狀況,Visual Studio Tools for Office Runtime 會將相關訊息寫入至 Windows 事件檢視器。 您可以使用這些訊息,解決安裝和部署問題。 如需詳細資訊,請參閱 Office 方案的事件記錄

使用記錄檔和錯誤訊息來疑難排解啟動錯誤

Visual Studio Tools for Office Runtime 可以將啟動期間發生的所有錯誤寫入至記錄檔,或在訊息方塊中顯示每則錯誤。 這些選項預設是處於停用狀態。 您可以建立環境變數,以開啟這些選項。

若要在訊息方塊中顯示每則錯誤,請建立 VSTO_SUPPRESSDISPLAYALERTS 環境變數並設定為 0 (零)。 您可以刪除環境變數或將環境變數設定為 1 (一),以隱藏訊息。

若要將錯誤寫入記錄檔,請建立 VSTO_LOGALERTS 環境變數並設定為 1 (一)。 Visual Studio Tools for Office Runtime 會在與自訂關聯的文件或活頁簿所在的資料夾中建立記錄檔,如果無法這樣做,則會在本機 %TEMP% 資料夾中建立記錄檔。 記錄檔的名稱為 document name.extension.log,例如 ExcelWorkbook1.xlsx.log。 若要停止記錄錯誤,請刪除環境變數或將它設定為 0 (零)。

請參閱

工作

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

概念

Office 方案建置程序概觀

其他資源

Visual Studio 偵錯

部署 Office 方案

設計和建立 Office 方案

建置和偵錯 Office 方案

變更記錄

日期

記錄

原因

2010 年 9 月

新增有關使用事件檢視器來疑難排解安裝錯誤的章節。

資訊加強。

2010 年 5 月

更正一些有關記錄錯誤的詳細資料。

內容 Bug 修正。