Applies ToMicrosoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

功能區是包含命令群組之程式視窗頂端的帶狀區,是 Microsoft Office Fluent 使用者介面的元件。 Office Fluent 使用者介面 為 Access中的命令提供單一首頁。

當您開始使用 Access建立更進階的應用程式時,您可能會決定要自定義 Office Fluent 功能區,讓應用程式更容易使用。 例如,您可以隱藏部分或所有預設索引標籤,讓使用者無法使用特定命令,而且您可以建立新的自定義索引標籤,只包含您想要使用的命令。

在所有使用 Office Fluent 使用者介面的 Microsoft Office 程式中,您可以使用可擴展標記語言 (XML) 自定義功能區。 因此,XML 的一些基本知識很有説明。 本文並未涵蓋 XML 概念,但提供您基本的功能區自定義程式,以及一些您可以修改以符合需求的 XML 範例。

本文著重於如何使用 XML 建立您自己的自定義功能區。 如果您想要使用內建工具來修改現有的功能區,請參閱 在 Office 中自定義功能區

您想要做什麼?

瞭解功能區自定義技術

在 Access中,您可以建立自定義 XML,然後新增程式代碼或設定資料庫屬性,指示 Access 在建立功能區時使用該 XML,藉此自定義功能區。 您可以使用 XML 來隱藏現有的索引標籤,以及新增索引標籤、命令群組和命令。 本文中的程序說明如何新增 Access 內建的命令 (例如尋找、排序和儲存) ,以及如何新增執行您自行撰寫的 Access 宏的命令。

您可以將 XML 儲存在數個位置,但其中一個最簡單的方法是將 XML 儲存在目前資料庫的系統數據表中。 此程式涉及建立名為USysRibbons的系統數據表、將功能區 XML 新增至其中,然後指定自定義功能區是以整體顯示資料庫,還是針對特定表單或報表顯示。 您可以定義多個自定義功能區,一個用於整個應用程式,以及資料庫中個別窗體或報表的其他功能區。

Create並套用自定義功能區

下列各節提供建立及套用自定義功能區的逐步程式。

開始之前

在 [導航窗格] 中顯示系統數據表    根據預設,系統數據表不會顯示在 [導航窗格] 中,因此您必須先變更 [ 導覽選項 ] 對話框中的設定,才能在建立 USysRibbons 數據表後看到該數據表。 請使用下列程序:

  1. 在 Access 中開啟資料庫后,以滑鼠右鍵單擊 [導航窗格] 頂端的 [導覽列],然後按下快捷方式功能表上的 [ 導覽選項 ]。

  2. 在 [ 導覽選項] 對話方塊的 [ 顯示選項] 底下,選取 [ 顯示系統物件 ] 複選框,然後按兩下 [ 確定]

    Access 系統數據表會顯示在 [導航窗格] 中。

啟用載入宏使用者介面錯誤訊息的顯示    建立及疑難解答功能區自定義 XML 時,錯誤訊息是寶貴的資訊來源,因此建議您讓 Access 顯示錯誤訊息。 請使用下列程序:

  1. 按一下 [檔案] > [選項]。 

  2. 按兩下 [客戶端設定]。 

  3. 在 [ 一般] 底下,選取 [ 顯示載入宏使用者介面錯誤 ] 複選框,然後按兩下 [ 確定]

Create USysRibbons 系統數據表

使用此程式建立USysRibbons系統數據表。 之後,您將使用此表格來儲存功能區自定義 XML。

  1. [建立] 索引標籤的 [資料表] 群組中,按一下 [資料表設計]

  2. 新增下列欄位至數據表。 請務必輸入如所示的功能變數名稱。

    功能變數名稱

    Type (類型)

    [欄位大小]

    識別碼

    自動編號

    長整數

    功能區名稱

    文字

    255

    RibbonXml

    備忘

  3. 如有需要,您可以在此數據表中新增更多欄位,例如描述功能區 XML 函數的 [批註] 字段。

  4. 選取 [標識符] 欄位。 在 [設計] 索引標籤的 [工具] 群組中,按一下 [主索引鍵]。

  5. [快速存取工具列] 上,按兩下 [ 儲存],或按 CTRL+S。 命名新數據表 USysRibbons

將功能區自定義 XML 新增至 USysRibbons 表格

在此範例中,假設您要防止資料庫的使用者使用 [Create] 索引標籤上的任何工具。 此外,您想要建立一個名為 [ 自定義索引卷標 ] 的新索引標籤,其中只包含 [貼上] 命令,如下圖所示。

自訂功能區索引標籤

下列程式中的 XML 會建立此設定。

  1. 在 [導航窗格] 中,以滑鼠右鍵單擊 USysRibbons 表格,然後按兩下快捷方式選單上的 [ 資料工作表檢視 ]。

  2. 將下列數據新增至數據表。 您可以複製本文中的 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>
    
  3. 此 XML 會先指示 Access 不要「從頭開始」,也就是說,它指定 Access 應顯示預設的功能區索引標籤。 然後,它會告訴 Access 只隱藏 Create 索引標籤) (其中一個預設索引標籤。 最後,它會建立名為「自定義索引標籤」的新功能區索引標籤,將名為「自定義組」的命令群組新增至索引卷標,並將 [貼上] 命令新增至群組。 如需此範例的詳細資訊,以及如何自定義以符合您的需求,請參閱 瞭解 XML 範例一節。

  4. 關閉USysRibbons資料表,然後關閉再重新開啟資料庫。

套用自定義功能區

現在自定義功能區 XML 已儲存在資料表中,請根據您要將功能區套用至整個資料庫或特定表單或報表,執行下列其中一項操作。

  • 將自定義功能區套用至整個資料庫    

    1. 按一下 [檔案] > [選項]。 

    2. 按兩下 [目前的資料庫],然後在 [ 功能區及工具列選項] 底下,選取 [ 功能區名稱 ] 清單,然後按下您要的功能區,在此情況下是 [我的索引 標籤]

    3. 按一下 [確定]。

  • 將自定義功能區套用至特定表單或報表    

    1. 在 [導航窗格] 中,以滑鼠右鍵按兩下要套用自定義功能區的表單或報表,然後按下快捷方式功能表上的 [ 設計檢視 ]。

    2. 如果沒有顯示屬性表,請按 F4 以顯示屬性表。

    3. 在屬性表頂端的 [選取類型] 底下,確定已在清單中選取 [表單] 或 [表) (物件類型]。

    4. 在屬性表的 [ 其他 ] 索引卷標上,按兩下 [ 功能區名稱 ] 清單,然後按兩下當您開啟表單或報表時要顯示的功能區 (在此情況下,[我的索引 卷標 ]) 。

    5. [快速存取工具列] 上,按兩下 [ 儲存],或按 CTRL+S。

    6. 關閉表單或報表,然後在 [導航窗格] 中按兩下以重新開啟。

      您選取的功能區隨即顯示。

確認自訂功能區正確運作之後,您可以執行下列動作,再次隱藏系統資料表:

  1. 以滑鼠右鍵單擊 [導航窗格] 頂端的 [導覽列],然後按兩下快捷方式選單上的 [ 導覽選項 ]。

  2. 在 [ 導覽選項] 對話方塊的 [ 顯示選項] 底下,清除 [ 顯示系統物件 ] 複選框,然後按兩下 [ 確定]

頁面頂端

還原預設功能區

若要停止使用自定義功能區並還原預設功能區,請根據整個應用程式或特定表單或報表使用自定義功能區,使用下列其中一個程式。

還原預設的應用程式層級功能區

  1. 按一下 [檔案] > [選項]。 

  2. 按兩下 [目前資料庫],然後在 [ 功能區及工具列選項] 底下刪除 [ 功能區名稱] 方 塊的內容。

  3. 關閉並重新開啟資料庫。

Access 會顯示其預設功能區索引標籤。 功能區 XML 會保留在 USysRibbons 表格中,直到您將其刪除為止,因此如果您想要恢復自定義功能區,您可以將 [ 功能區名稱 ] 選項設回先前包含的值來執行此動作。

還原表單或報表的預設功能區

  1. 在 [設計檢視] 中開啟表單或報表。

  2. 如果沒有顯示屬性表,請按 F4 以顯示屬性表。

  3. 在屬性表頂端的 [選取類型] 底下,確定已在清單中選取 [表單] 或 [表) (物件類型]。

  4. 在屬性表的 [ 其他 ] 索引標籤上,刪除 [ 功能區名稱 ] 屬性方塊的內容。

  5. 儲存、關閉,然後重新開啟表單或報表。

功能區 XML 會保留在 USysRibbons 表格中,直到您將其刪除為止,因此如果您想要恢復自定義功能區,您可以將 [ 功能區名稱 ] 屬性中的值設回先前包含的值來執行此動作。

頁面頂端

瞭解 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>
      </tab>
    </tabs>
  </ribbon>
</customUI>

自訂功能區索引標籤

在此範例中,XML 的第二行會將 startFromScratch 屬性設為 False。 將值設為 False 可確保 Access 保持所有現有索引標籤不變,並在現有索引標籤的右側新增任何新索引標籤。 將此屬性設為 True 會移除所有現有的索引標籤,並只會顯示您在 XML 中建立的索引標籤。 即使您將 startFromScratch 屬性設為 False,您仍然可以隱藏個別的索引標籤。 XML 的第四行會說明這一點,該線會隱藏內建的 Create 索引標籤。 其餘的線條會建立自定義索引標籤和自定義組,然後使用下列 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。

<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匯出作業。

包含兩個群組的自訂功能區索引標籤

附註: 自定義功能區中的每個 群組標識碼索引標籤標識 碼值都必須是唯一的。

瞭解命令的 idMso 值    若要了解內建命令的 idMso 值,請使用下列程式:

  1. 按一下 [檔案] > [選項]。 

  2. 按兩下 [自定義功能區 ] 或 [快速存取工具列]。 

  3. 將指標移到您要取得相關信息的專案上方。 Access 會以括號在工具提示中顯示控件的 idMso 值。

新增命令以執行 Access 宏    您可以新增執行 Access 宏的命令,為自定義功能區增添更多彈性。 例如,假設您建立了名為 MyMacro 的宏。 若要新增命令到執行宏的功能區,請將下列線條新增至您的 XML。

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

若要將控件新增至與先前範例中 [ 貼上 ] 命令相同的群組,請在建立 [ 貼上 ] 命令的行前後,立即插入 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"/>
         <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>

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。