功能帶——位於程式視窗頂部、包含指令群組的條帶——是 Microsoft Office Fluent 使用者介面的一個組成部分。 Office Fluent 使用者介面為 Access 中的指令提供單一的歸屬。
當你開始用 Access 建置更進階的應用程式時,你可能會想自訂 Office Fluent Ribbon 來讓應用程式更易使用。 例如,你可以隱藏部分或全部預設分頁,讓使用者無法使用特定指令,並且可以建立新的自訂分頁,只包含你想要使用的指令。
在所有使用 Office Fluent 使用者介面Microsoft程式中,你都會使用 Extensible Markup Language (XML) 來自訂功能區。 因此,具備一些基本的 XML 知識會很有幫助。 本文不涵蓋 XML 概念,但提供了基本的 Ribbon 自訂程序及一些範例 XML 可供修改以符合需求。
本文重點介紹如何使用 XML 建立您自己的自訂功能區。 如果你想使用內建工具修改現有的色帶,請參考 Office 中的自訂色帶。
您想要做什麼?
了解緞帶客製化技巧
在 Access 中,你可以透過建立自訂 XML 來自訂 Ribbon,然後加入程式碼或設定資料庫屬性,指示 Access 在建立 Ribbon 時使用該 XML。 你可以用 XML 隱藏現有分頁,並新增分頁、指令群組和指令。 本文的程序會教你如何新增內建於 Access (的指令,例如尋找、排序和儲存) ,以及如何新增執行你自己撰寫的 Access 巨集的指令。
你可以在幾個地方儲存 XML,但最簡單的方法之一是將它存放在目前資料庫的系統資料表中。 這個過程包括建立一個名為 USysRibbons 的系統表格,將你的 Ribbon XML 加入其中,然後指定自訂 Ribbon 是顯示給整個資料庫,還是針對特定表單或報告。 你可以定義多個自訂功能區——一個代表整個應用程式,以及資料庫中個別表單或報告的額外功能區。
建立並套用自訂功能區
以下章節提供建立與套用自訂色帶的步驟。
開始之前
導航窗格中的顯示系統表格 預設情況下,系統表格不會顯示在導航面板中,因此你必須先在 導航選項 對話框中更改設定,才能在建立 USysRibbons 表格後看到它。 請使用下列程序:
- 在 Access 中開啟資料庫後,右鍵點擊導航面板頂端的導覽欄,然後在快捷鍵選單中點選「 導覽選項 」。
- 在 導航選項 對話框中,顯示 選項下方,選擇 「顯示系統物件 」勾選框,然後點擊 確定。
存取系統的表格會出現在導航窗格中。
啟用外掛介面錯誤訊息的顯示 錯誤訊息是建立及排除 Ribbon 自訂 XML 時的重要資訊來源,因此讓 Access 顯示錯誤訊息是個好主意。 請使用下列程序:
- 點擊 檔案>選項。
- 點選 客戶端設定。
- 在 「一般」中,選擇 「顯示外掛使用者介面錯誤 」的勾選框,然後點 選確定。
建立 USysRibbons 系統表
使用此程序建立 USysRibbons 系統表。 之後,你將使用此表格來儲存你的 Ribbon 自訂 XML。
在 [建立] 索引標籤的 [資料表] 群組中,按一下 [資料表設計]。
請將以下欄位加入表格。 務必依照顯示輸入欄位名稱。
場地名稱 類型 [欄位大小] 識別碼 自動編號 長整數 緞帶名稱 文字 255 RibbonXml 備忘 如果你願意,可以在這個表格中加入更多欄位,例如註解欄位來描述 Ribbon XML 的功能。
選擇 識別欄位 。 在 [設計] 索引標籤的 [工具] 群組中,按一下 [主索引鍵]。
在 快速存取工具列中,點擊 儲存,或按 CTRL+S。 新表格命名 為USysRibbons。
將 Ribbon 自訂 XML 加入 USysRibbons 表格
就這個例子而言,假設你想阻止資料庫使用者使用 「建立 」標籤中的任何工具。此外,你想建立一個名為 「自訂分頁」 的新分頁,只用 Paste 指令,如下圖所示。
以下程序中的 XML 會建立此配置。
在導覽窗格中,右鍵點擊 USysRibbons 表格,然後在快捷鍵選單點選「 Datasheet View 」。
請加入以下資料。 你可以直接複製本文的 XML 範例並貼到表格中。
識別碼 緞帶名稱 RibbonXML (自動號碼) 我的分頁 <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 應顯示預設的 Ribbon 分頁。 接著,它會告訴 Access 只隱藏 Create) 標籤 中 (其中一個預設分頁。 最後,它建立一個名為「A Custom Tab」的新 Ribbon 分頁,並在分頁中新增一個名為「A Custom Group」的指令群組,並將 Paste 指令加入該群組。 欲了解更多關於此範例的資訊及如何自訂以符合需求,請參閱 「了解 XML 範例」章節。
關閉 USysRibbons 表格,然後關閉並重新開啟資料庫。
套用自訂色帶
現在自訂的 Ribbon XML 已儲存在資料表中,請根據你想將 Ribbon 套用到整個資料庫還是特定表單或報告,請執行以下其中之一。
將自訂功能區套用到整個資料庫
- 點擊 檔案>選項。
- 點選 「目前資料庫」,然後在 「功能區與工具列選項」中,選擇 功能區名稱 清單,然後點選你想要的功能區——這裡是 「我的分頁」。
- 按一下 [確定]。
套用自訂功能帶到特定表單或報告上
- 在導航選區,右鍵點擊你想套用自訂功能區的表單或報告,然後在捷徑選單點選「 設計檢視 」。
- 如果沒有顯示屬性表,請按 F4 以顯示屬性表。
- 在屬性表頂端的 選取類型中,確保列表中選取了 (表單 或 報告) 的物件類型。
- 在屬性工作表的 「其他 」標籤中,點選 「功能區名稱 」清單,然後點擊你想在開啟表單或報告時顯示的「功能區」 (,這裡是 「我的分頁) 」。
- 在 快速存取工具列中,點擊 儲存,或按 CTRL+S。
- 關閉表單或報告,然後在導航窗格中雙擊重新開啟。
你選擇的色帶會顯示出來。
確認自訂色帶正常運作後,你可以透過以下步驟再次隱藏系統資料表:
- 在導航面板頂端點選導航列,然後在快捷選單中點選導航 選項 。
- 在 導航選項 對話框中,顯示 選項下方,清除 「顯示系統物件 」勾選框,然後點擊 確定。
還原預設的 Ribbon
要停止使用自訂功能區並還原預設功能區,請依據整個應用程式或特定表單或報告使用自訂功能區,使用以下其中一種程序。
還原預設的應用程式層級功能區
- 點擊 檔案>選項。
- 點選 「目前資料庫」,然後在 「功能區與工具列選項」中刪除 功能區名稱 框的內容。
- 關閉資料庫後再重新開啟。
Access 顯示的是預設的 Ribbon 標籤。 Ribbon XML 會一直留在 USysRibbons 表格中,直到你刪除它為止,所以如果你想恢復自訂 Ribbon 的設定,可以透過將 Ribbon Name 選項設回之前的值來達成。
還原表單或報告的預設色帶
- 在設計檢視中開啟表單或報告。
- 如果沒有顯示屬性表,請按 F4 以顯示屬性表。
- 在屬性表頂端的 選取類型中,確保列表中選取了 (表單 或 報告) 的物件類型。
- 在屬性工作表的 「其他 」標籤中,刪除「 色帶名稱 」屬性框的內容。
- 儲存、關閉,然後重新開啟表單或報告。
Ribbon XML 會一直留在 USysRibbons 表格中,直到你刪除它為止,所以如果你想恢復自訂 Ribbon 的設定,可以透過將 Ribbon Name 屬性的值設回之前的值來達成。
了解 XML 範例
以下是本文前面使用的 XML 範例及其所建立的自訂 Ribbon 範例。
| <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 將 startFromScratch 屬性設為 False。 將 值設為 False 可以確保 Access 保留所有現有分頁,並將新分頁加入到現有分頁的右側。 將此屬性設 為 True ,會移除所有現有分頁,只顯示你在 XML 中建立的分頁。 即使你把 startFromScratch 屬性設為 False,你仍然可以隱藏個別分頁。 這點由 XML 的第四行所展示,它隱藏了內建 的 Create 分頁。剩下的行會建立自訂分頁和自訂群組,然後透過以下 XML 行將內建 的 Paste 指令加入群組。
<control idMso="Paste" label="Built-in Paste" enabled="true"/> |
|---|
在自訂功能區中新增額外的群組或控制 項你可以透過加入類似的 XML 行,並替換不同的 idMso 和 標籤 值,為你的 Ribbon 加入更多群組和控制項。 例如,要建立一個將當前選取物件匯出到 Excel 的控制項,請使用以下 XML。
<control idMso="ExportExcel" label="Export to Excel" enabled="true"/> |
|---|
若要將控制項加入與 Paste 指令相同的群組,請在建立 Paste 指令的行前或後插入新的 XML 行。 要建立新群組,你可以複製、貼上並修改上方建立 自訂群組 的 XML 文件。 以下範例展示了將這兩個控制項加入自訂群組的 XML 格式。
| <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<>group id=“dbCustomGroup2” label=“Another Custom Group”><<control idMso=“ImportExcel” label=“Import from Excel” enabled=“true”/>control idMso=“ExportExcel” label=“Export to Excel” enabled=“true”/<>/group></tab></tabs<>/ribbon></customUI<> |
|---|
此 XML 為 自訂分頁新增一組。如下圖所示,新群組包含兩個控制項——一個啟動從 Excel 匯入操作,另一個啟動匯出至 Excel 操作。
注意
自訂功能區中的每個 群組 ID 和 分頁 ID 值必須是唯一的。
學習指令的 idMso 值 要學習內建指令的 idMso 值,請使用以下程序:
- 點擊 檔案>選項。
- 點擊 自訂功能區 或 快速存取工具列。
- 將指標移到你想知道的項目上方。 Access 以螢幕提示(括號內)顯示控制項的 idMso 值。
新增一個指令來執行 Access 巨集 你還可以加入執行 Access 巨集的指令,為自訂 Ribbon 增添更多彈性。 舉例來說,假設你建立了一個名為 MyMacro 的巨集。 要在功能區新增執行巨集的指令,請在 XML 中加入以下行。
<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/> |
|---|
要將控制項加入與前述 Paste 指令相同的群組,請在建立 Paste 指令的行之前或之後插入新的 XML 行。 以下範例展示了新增該指令的 XML。
| <customUI xmlns=“http://schemas.microsoft.com /office/2006/01/customui”><ribbon startFromScratch=“false”tabs>< tabs tabs><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”/><button id=“RunMyMacro” label=“Run My Macro” onAction=“MyMacro”/<>/group><group id=“dbCustomGroup2” label=“Another Custom Group”>control idMso=“ImportExcel” label=“Import from Excel” enabled=“true”/><control idMso=“ExportExcel” label=“Export to Excel” enabled=“true”/></group<>/tab></tabs<>/ribbon></customUI<> |
|---|