Office 文件上的 Windows Form 控制項概觀

Windows Form 控制項是一種物件,使用者能與其互動,以輸入和管理資料。在 Microsoft Office Excel 和 Microsoft Office Word 的文件層級專案中,您可以在設計階段,將 Windows Form 控制項加入至專案中的文件或活頁簿,或是在執行階段,以程式設計方式加入這些控制項。在 Excel 或 Word 的應用程式層級增益集中,您可以透過程式設計方式,在執行階段將這些控制項加入至任何開啟的文件或工作表。

如需詳細資訊,請參閱HOW TO:將 Windows Form 控制項加入至 Office 文件

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

使用 Windows Form 控制項

您可以將 Windows Form 控制項加入至文件和可自訂的使用者介面 (UI) 項目,包括執行窗格、自訂工作窗格和 Windows Form。Windows Form 控制項在文件上的行為,通常與它在這些其他 UI 項目上的行為相同,但仍存在一些差異。如需詳細資訊,請參閱 Office 文件上的 Windows Form 控制項限制

將 Windows Form 控制項加入至文件還是某個其他 UI 項目,必須考慮幾項因素。設計方案的 UI 時,請依照下表所述情況,考慮 Windows Form 控制項的用法。

  • 在文件上:

    • 您要控制項一直保持在顯示狀態時。

    • 您要讓使用者直接在文件 (例如,在編輯介面已鎖定的表單架構文件) 中輸入資料時。

    • 您要讓控制項與文件中的資料排列顯示時。例如,如果將按鈕加入至清單物件的每個資料列,則您可能想要它們與每個清單項目排列。

  • 在執行窗格或自訂工作窗格上:

    • 您要為使用者提供內容資訊時。

    • 您只要在文件中顯示結果,而不顯示查詢控制項和資料時。

    • 您要確保控制項不會與文件一起列印時。

    • 您要確保控制項不會妨礙文件檢視時。

  • 在 Windows Form 上:

    • 您要控制 UI 的大小時。

    • 您要防止使用者隱藏或刪除控制項時。

    • 您要取得使用者的輸入,並且要讓使用者除非進行輸入否則不能在文件中做任何動作時。

以程式設計的方式加入 Windows Form 控制項

您可以在執行階段將 Windows Form 控制項加入至 Word 文件和 Excel 工作表。Visual Studio Tools for Office Runtime 提供 Helper 方法,可用來加入最常用的 Windows Form 控制項。這些 Helper 方法可讓您將控制項快速加入 Office 文件,並存取這些控制項組合的 Windows Form 控制項功能和 Office 相關功能。

如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

在文件層級專案中使用 Windows Form 控制項

在文件上使用 Windows Form 控制項時的一些內容屬於文件層級專案的專屬內容,而這些專屬內容可讓您使用 Visual Studio 設計工具來設計文件的 UI。

0x6hstz2.collapse_all(zh-tw,VS.110).gif建立自訂使用者控制項

您可以將使用者控制項加入至專案,然後將其加入至 [工具箱]。然後,您可將使用者控制項直接拖曳至文件,方式與將 Windows Form 控制項加入文件相同。建立使用者控制項時,要注意下列幾件事:

  • 不要建立 sealed 使用者控制項。當您將控制項拖曳至文件時,Visual Studio 會從使用者控制項產生包裝函式類別來擴充該控制項,並支援在文件上使用該控制項。如果使用者控制項為 sealed,則 Visual Studio 無法產生包裝函式類別。

  • 使用者控制項的 ComVisibleAttribute 屬性必須設為 true。在 Office 專案中建立的使用者控制項預設會將這個屬性設定為 true,但屬於外部專案的使用者控制項則未必會將這個屬性設為 true。

  • 將使用者控制項加入至文件之後,不要重新命名或刪除專案中的 UserControl 類別。如果需要變更使用者控制項的名稱,則必須先從文件中予以刪除,然後在變更名稱後再將它重新加入。

0x6hstz2.collapse_all(zh-tw,VS.110).gif在設計階段排列控制項

如果在設計階段將多個控制項加入至 Word 和 Excel 文件,您可以使用 Visual Studio 中的 [Microsoft Office Word] 和 [Microsoft Office Excel] 工具列,快速設定所有選取之控制項的對齊方式。這些工具列只有在文件或工作表已於設計工具中開啟時,才能使用。

在設計工具中選取多個控制項時,您可以使用這些工具列中的下列按鈕來排列控制項:

  • 對齊主控項的左緣

  • 對齊主控項的水平中央

  • 對齊主控項的右緣

  • 對齊主控項的上緣

  • 對齊主控項的垂直中間

  • 對齊主控項的下緣

  • 將水平間距設成相等

  • 將垂直間距設為相等

注意事項注意事項

在 Word 專案中,這些按鈕只有在選取的控制項未依文字排列時才會啟用。根據預設,在設計階段加入至文件的控制項將會依文字排列。

0x6hstz2.collapse_all(zh-tw,VS.110).gif防止舊資料於載入時出現於 Excel 活頁簿

如果您在設計階段將 Windows Form 控制項加入至文件或工作表,當使用者關閉文件時,控制項仍會保留在文件中。在設計階段加入的控制項也稱為「靜態控制項」(Static Control)。

開啟包含靜態控制項的 Excel 活頁簿後,在自訂程式碼執行並載入實際的控制項之前,活頁簿會在 ActiveX 控制項中顯示該控制項的點陣圖。Excel 會在儲存活頁簿時建立這個點陣圖,並將它儲存在活頁簿中。這個點陣圖會顯示上次儲存活頁簿時所顯示的控制項,包括控制項所顯示的任何資料。如需含有 Windows Form 控制項和點陣圖之 ActiveX 控制項的詳細資訊,請參閱 Office 文件上的 Windows Form 控制項限制

在某些情況下,例如當使用者在設計模式下開啟活頁簿時,程式碼不會載入而只會顯示點陣圖。此外,如果使用者在沒有安裝 Visual Studio Tools for Office Runtime 的電腦上開啟活頁簿,自訂就無法執行並載入控制項,因此只會顯示控制項的點陣圖。您應該永遠先將活頁簿之控制項中的個人資訊移除,然後再儲存活頁簿並傳送給另一位使用者,以確保您不會在無意間洩露自己的個人資訊。

0x6hstz2.collapse_all(zh-tw,VS.110).gif對儲存格大小相符的控制項大小在 Excel 工作表

您可以將控制項設定為在父儲存格大小變更時,自動調整大小。如需詳細資訊,請參閱HOW TO:在工作表儲存格中調整控制項的大小

0x6hstz2.collapse_all(zh-tw,VS.110).gif加入所有工作表共用的元件

您可以將想要讓所有工作表共用的元件 (例如 DataSet) 加入至活頁簿設計工具而不是工作表。元件就會出現在元件匣裡。

0x6hstz2.collapse_all(zh-tw,VS.110).gif內嵌的控制項公式採用 Excel 工作表

在 Excel 中選取控制項時,您會在 [資料編輯列] 看到 [=EMBED("WinForms.Control.Host","")]。這個文字是必要的,不應該刪除。

0x6hstz2.collapse_all(zh-tw,VS.110).gif控制項的配置樣式在 Word 文件中

當您使用 Visual Studio 設計工具,透過文件層級專案將控制項加入至 Word 文件時,這個控制項在加入時會依據文字排列。若要變更控制項的配置樣式,請以滑鼠右鍵按一下控制項,然後按一下 [控制項格式]。在 [格式化物件] 對話方塊的 [配置] 頁面上,選取包裝樣式。

當您在執行階段將控制項加入至 Word 文件時,您可以使用 Microsoft.Office.Tools.Word.ControlCollection 類別的不同 Add<control class> 方法多載,指定新控制項的配置樣式。

  • 若要以依據文字排列的方式加入控制項,請使用可接受指定控制項之位置 Range 的多載。

  • 若要將控制項當做浮動圖案加入,請使用可接受控制項之左方和上方座標的多載。

如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

如果您在 Visual Studio 設計工具中開啟 Word 範本,可能看不到該範本上的非內嵌控制項,因為 Visual Studio 會以 [標準模式] 開啟範本。若要檢視控制項,請將檢視變更為 [整頁模式]。

0x6hstz2.collapse_all(zh-tw,VS.110).gif主文件主體外的控制項

在頁首、頁尾或子文件內不支援 Windows Form 控制項。

0x6hstz2.collapse_all(zh-tw,VS.110).gif在設計階段加入元件

特定控制項或元件無法在文件上顯示,而是在元件匣中顯示。Visual Studio 會為每一個文件視窗提供元件匣。只有當文件上存在元件時,螢幕上才會顯示元件匣。

請參閱

工作

HOW TO:將 Windows Form 控制項加入至 Office 文件

HOW TO:在工作表儲存格中調整控制項的大小

HOW TO:列印時隱藏工作表的控制項

逐步解說:使用 CheckBox 控制項來變更工作表格式

逐步解說:使用 CheckBox 控制項來變更文件格式

逐步解說:使用按鈕在工作表的文字方塊中顯示文字

逐步解說:使用按鈕在文件的文字方塊中顯示文字

逐步解說:使用選項按鈕更新文件中的圖表

逐步解說:使用選項按鈕更新工作表中的圖表

參考

ControlCollection.Remove

ControlCollection.Remove

概念

在執行階段將控制項加入至 Office 文件

主項目和主控制項概觀

Office 文件上的 Windows Form 控制項限制

Office 文件上的 Windows Form 控制項限制

其他資源

Office 文件上的控制項

執行窗格概觀

Windows Form 控制項