功能區是程式視窗頂端包含命令群組的帶狀區,是命令 Microsoft Office Fluent 使用者介面。 此 Office Fluent 使用者介面 提供單一首頁,用於命令在 Access。
當您開始使用 Access建立進一步的應用程式時,您可能會決定要自訂 Office Fluent 功能區,讓應用程式更容易使用。 例如,您可以隱藏部分或所有預設定位停駐點,讓使用者無法使用特定命令,也可以建立只包含您可用命令的新自訂定位停駐點。
在所有使用自訂語言的 Microsoft Office 程式中 Office Fluent 使用者介面可擴展標記語言 (XML) 自訂功能區。 因此,XML 的一些基本知識很有説明。 本文並未涵蓋 XML 概念,但提供您基本的功能區自訂程式,以及一些您可以修改以滿足您的需求的 XML 範例。
本文著重在如何使用 XML 建立您自己的自訂功能區。 如果您想要使用內建工具修改現有的功能區,請參閱在 Office 中自訂 功能區。
您想要做什麼?
瞭解功能區自訂技巧
在 Access中,您可以建立自訂 XML,然後新增程式碼或設定資料庫屬性,指示 Access 在建立功能區時使用該 XML,以自訂功能區。 您可以使用 XML 來隱藏現有的定位停駐點,以及新增新的定位停駐點、命令群組和命令。 本文中的程式將說明如何新增 Access (內建的命令,例如尋找、排序和儲存) ,以及如何新增執行您撰寫的 Access 宏的命令。
您可以將 XML 儲存在數個地方,但其中一個最簡單的方法是將 XML 儲存在目前資料庫中的系統資料表中。 此程式涉及建立名為 USysRibbons 的系統資料表、新增您的功能區 XML 至其中,然後指定自訂功能區是以整體方式顯示資料庫,還是顯示特定表單或報表。 您可以定義多個自訂功能區,其中一個適用于整個應用程式,以及資料庫中個別表單或報表的其他功能區。
建立及使用自訂功能區
下列各節提供建立及適用自訂功能區的逐步程式。
開始之前
在功能窗格中顯示系統資料表 根據預設,系統資料表不會顯示在功能窗格中,因此您必須先變更 [流覽選項選項>對話方塊中的設定,以便建立USysRibbons表格之後,才能看到它。 請使用下列程序:
-
在 Access 中開啟資料庫時,以滑鼠右鍵按一下功能窗格頂端的流覽列,然後按一下快捷方式功能表 上的 [流覽選項。
-
在 [ 導流覽選項 」 對話方塊中的 [顯示選項> 下,選取 [顯示 系統物件檢查方塊 ,然後按一下 [確定。
Access 系統資料表會顯示在功能窗格中。
啟用顯示 Add-in 使用者介面錯誤訊息 建立及疑難排解功能區自訂 XML 時,錯誤訊息是寶貴的資訊來源,因此建議讓 Access 顯示它們。 請使用下列程序:
-
按一下 [檔案] > [選項]。
-
按一下 [用戶端設定。
-
在 [一般資訊下, 選取 [ 顯示外掛程式使用者介面 錯誤檢查程式錯誤檢查方塊,然後按一下 [確定。
建立 USysRibbons 系統資料表
使用此程式建立 USysRibbons 系統資料表。 之後,您將使用此表格儲存功能區自訂 XML。
-
在 [建立] 索引標籤的 [資料表] 群組中,按一下 [資料表設計]。
-
新增下欄欄位至資料表。 請務必正確輸入顯示的功能變數名稱。
功能變數名稱
類型
[欄位大小]
識別碼
自動編號
長整數
功能區名稱
文字
255
功能區Xml
備忘
-
您可以根據需要在此資料表中新增更多欄位,例如描述功能區 XML 函數的批註欄位。
-
選取 識別碼 欄位。 在 [設計] 索引標籤的 [工具] 群組中,按一下 [主索引鍵]。
-
在快速 存取工具列上,按一下 [儲存,或按 CTRL+S。 命名新資料表USysRibbons。
新增功能區自訂 XML 至 USysRibbons 表格
針對此範例的目的,假設您想要防止資料庫的使用者使用任何位於建立選項卡 上的 工具。 此外,您想要建立一個稱為自訂 Tab的新定位停駐點,並只貼上貼上命令,如下圖所示。
下列程式中的 XML 會建立此組配置。
-
在功能窗格中,以滑鼠右鍵按一下 USysRibbons 表格,然後按一下快捷方式功能表上的 [資料 工作 表視圖。
-
新增下列資料至資料表。 您可以複製本文中的 XML 範例,並直接貼到表格中。
識別碼
功能區名稱
功能區XML
(自動編號)
我的 Tab
<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab" visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste" enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>
-
此 XML 會先指示 Access 不要「從頭開始」,也就是說,它指定 Access 應顯示預設的功能區定位停駐點。 然後,它會要求 Access 在工作表的建立 (隱藏其中 一個預設) 。 最後,它會建立名為「自訂 Tab」的新功能區選項卡,將名稱為「自訂群組」的命令群組新增到該選項卡,並將 「貼上」命令新增到群組中。 若要進一步瞭解如何自訂此範例以滿足您的需求,請參閱瞭解 XML 範例一 節。
-
關閉 USysRibbons 資料表,然後關閉並重新開啟資料庫。
使用自訂功能區
現在自訂功能區 XML 已儲存在資料表中,請執行下列其中一項操作,視您是否要將功能區適用于整個資料庫或特定表單或報表而不同。
-
將自訂功能區適用于整個資料庫
-
按一下 [檔案] > [選項]。
-
按一下目前資料庫,然後在功能區與工具列選項下,選取功能區名稱清單,然後按一下您想要的功能區 ,在此例中為 [我的Tab。
-
按一下 [確定]。
-
-
將自訂功能區適用于特定表單或報表
-
在功能窗格中,以滑鼠右鍵按一下要將自訂功能區用於的表單或報表,然後按一下快捷方式功能表上的[設計檢視。
-
如果沒有顯示屬性表,請按 F4 以顯示屬性表。
-
在屬性工作表頂端的選取類型下,請 (表單或報表) 選取物件類型。
-
在屬性表的 [其他> 卷點中,按一下功能區名稱清單,然後按一下當您開啟表單或報表時要顯示的功能區 (在這種情況下,[我的 Tab 鍵) 。
-
在快速 存取工具列上,按一下 [儲存,或按 CTRL+S。
-
關閉表單或報表,然後在功能窗格中按兩下該表單或報表以將其重新開啟。
系統會顯示您選取的功能區。
-
確認自訂功能區正確運作之後,您可以執行下列操作,再次隱藏系統資料表:
-
以滑鼠右鍵按一下功能窗格頂端的導列,然後按一下快捷方式 功能表 上的 [流覽選項。
-
在 [ 流覽選項 選項> 對話方塊中的 顯示選項下,清除 [顯示 系統物件檢查方塊 ,然後按一下 [確定。
還原預設功能區
若要停止使用自訂功能區並還原預設功能區,請根據整個應用程式或特定表單或報表是否使用自訂功能區,使用下列其中一個程式。
還原預設的應用程式層級功能區
-
按一下 [檔案] > [選項]。
-
按一下 [目前資料庫),然後在功能 區與工具列選項下刪除功能區名稱 方塊 的內容。
-
關閉然後重新開啟資料庫。
Access 會顯示其預設功能區選項卡。 功能區 XML 會保留在 USysRibbons 資料表中,直到您刪除它,因此如果您想要恢復自訂功能區,您可以將功能區名稱選項設定回先前所包含的值,以這麼做。
還原表單或報表的預設功能區
-
在設計檢視中開啟表單或報表。
-
如果沒有顯示屬性表,請按 F4 以顯示屬性表。
-
在屬性工作表頂端的選取類型下,請 (表單或報表) 選取物件類型。
-
在屬性 表 的其他卷點上,刪除功能區 名稱屬性方塊 的內容。
-
儲存、關閉,然後重新開啟表單或報表。
功能區 XML 會保留在 USysRibbons 資料表中,直到您刪除它,因此如果您想要恢復自訂功能區,您可以將功能區名稱屬性的值設定回先前所包含的值,以這麼做。
瞭解 XML 範例
以下是本文稍早使用的 XML 範例,以及其建立之自訂功能區的圖例。
|
在此範例中,XML 的第二行將startFromScratch屬性設定為False。 將值設定為 False 可確保 Access 保留所有現有的定位停駐點,並將任何新定位停駐點新加到現有選項卡的右側。 將此屬性設定為 True 會移除所有現有的定位停駐點,並且只會顯示您以 XML 建立的內容。 即使您將 startFromScratch 屬性 設為 False,您仍然可以隱藏個別的定位字元。 XML 的第四行會說明這一點,這會隱藏內建的建立 製表 位。 其餘的線條會建立自訂的定位停駐點和自訂群組,然後使用下列 XML行將內建的貼上命令新增到群組。
<control idMso="Paste" label="Built-in Paste" enabled="true"/> |
新增其他群組或控制項至您的自訂功能區 您可以新增類似的 XML 行,然後以不同的 idMso 和標籤值來在功能區中新增更多群組 和 控制項。 例如,若要建立將目前選取的物件匯出至 Excel 的控制項,請使用下列 XML。
<control idMso="ExportExcel" label="Export to Excel" enabled="true"/> |
若要將控制項新增到與 [貼上」 命令相同的群組,請于建立 [貼上命令的線條之前或之後,插入新的XML 行。 若要建立新群組,您可以複製、貼上及修改上述建立自訂群組的 XML。 下列範例示範將兩個控制項新增到自訂群組的 XML。
|
此 XML 會將另一個群組新增到自訂 Tab。 如下圖所示,新群組包含兩個控制項:一個會從 Excel 啟動匯進作業,另一個會啟動匯出作業至 Excel。
附註: 自訂 功能區 中的 每個 群組識別碼和 Tab 識別碼值都必須是唯一的。
瞭解命令的 idMso 值 若要瞭解內建命令的 idMso 值,請使用下列程式:
-
按一下 [檔案] > [選項]。
-
按一下 [自訂功能區 或 快速存取工具列。
-
將指標移到您想要相關資訊的專案上。 Access 會在畫面提示中以括弧顯示控制項的 idMso 值。
新增命令以執行 Access 宏 您可以新增執行 Access 宏的命令,為自訂功能區增添更大的彈性。 例如,假設您建立了名為 MyMacro的宏。 若要新增執行宏的命令至功能區,請新增下列行至您的 XML。
<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/> |
若要將控制項新增到與先前範例中 [貼 上」 命令相同的群組,請直接在建立 [貼上」 命令的行之前或之後插入 新的 XML 行。 下列範例示範新增命令的 XML。
|