使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

您可以使用 Access 宏來建立當您以滑鼠右鍵按兩下表、報表或個別控制項時顯示的自訂快捷方式選單。 您也可以建立自定義功能表,以顯示在功能區上的特定表單或報表。

若要使用宏建立功能表,請執行三個主要步驟:

  1. 使用包含功能表命令的子宏建立宏物件。

  2. 建立另一個建立功能表本身的宏物件。

  3. 將功能表附加至控件、表單、報表或整個資料庫。

下列各節將逐步引導您完成這些步驟。

附註: 您使用的是 Access 2007 嗎? 若是如此,請跳到 在Access 2007中建立自定義快捷方式功能表一節。

提示: 如果您想要瞭解如何在Access中使用Visual Basic for Applications (VBA) 程式代碼建立自定義快捷方式功能表,請參閱建立窗體 、表單控件或報表的快捷方式功能表一文。

步驟 1:使用包含功能表命令的子宏建立宏物件

在此步驟中,您使用子宏建立宏物件,每個子宏都會是快捷方式功能表上的個別命令。

什麼是子宏?

您可以在宏物件內使用子宏來定義一組宏指令。 宏物件中的子宏可以與各種控件和物件事件分開叫用。 宏物件中的個別子宏各自有唯一的名稱,而且可以包含一或多個宏指令。

  1. 在 [建立] 索引標籤上,按一下 [巨集與程式碼] 群組中的 [巨集]。

  2. 針對您要在自訂快捷方式選單上使用的每個命令:

    1. Submacro 宏語句 新增至宏設計視窗,並命名您要在快捷方式功能表上顯示的子宏 (例如「列印」或「重新整理」) 。

      提示: 若要建立訪問鍵,讓您可以使用鍵盤選擇命令,請在您要成為命令名稱之訪問鍵的字母前面輸入一個音效和 (&) (,例如「&重新整理」) 。 此字母會在功能表上加上底線。

    2. 在子宏中,選取當您按下快捷方式功能表上的命令時要執行的第一個動作。

    3. 如果您選取此命令時想要執行更多動作,請將它們新增為相同子宏中的個別宏指令。

  3. 儲存宏物件並命名,例如 mcrShortcutMenuCommands

    下圖顯示自定義功能表或快捷方式功能表有三個子宏的範例宏物件。

    含有三個子宏語句的 Access 宏設計視窗螢幕快照。

步驟 2:建立建立功能表的第二個宏物件

此步驟看似冗餘,但若要從您在步驟 1 中建立的宏物件建立快捷方式功能表,您必須建立第二個包含 AddMenu 宏指令的宏物件。 此宏指令有時稱為「功能表宏」。

  1. 在 [建立] 索引標籤上,按一下 [巨集與程式碼] 群組中的 [巨集]。

  2. 在宏設計視窗的 [ 新增動作 ] 下拉式方塊中,選取 [AddMenu]

  3. AddMenu 宏指令的 [功能表名稱] 自變數方塊中,輸入功能表名稱 (例如“Form Commands”) 。 您不需要這個自變數,但建議您在步驟 3 中將功能表新增至功能區索引卷標 (例如表單或報表) 的 [載入 宏] 索引卷標。 如果在步驟 3 中將功能表新增為快捷方式功能表, 功能表名稱自變數 會被忽略。

  4. 在 [ 功能表宏名稱 ] 自變數方塊中,輸入您在步驟 1 中建立的宏物件名稱。

  5. 儲存並命名這個第二個宏物件,例如 mcrAddShortcutMenu

    下圖顯示建立我們於步驟 1 中設計的功能表的範例功能表宏物件。

    含有 AddMenu 宏指令之 Access 宏對象的螢幕快照。

步驟 3:將功能表附加至控件、表單、報表或資料庫

根據您要顯示功能表的位置而定,請使用下列一或多個程式。

將功能表新增至表單或報表的 [Add-Ins] 索引標籤

如果您希望功能表顯示在特定表單或報表的 [載入宏 ] 索引標籤上,請使用此程式。

  1. 在 [導航窗格] 中,以滑鼠右鍵按下您要顯示功能表的表單或報表,然後按兩下 [ 設計檢視]

  2. 在 [設計] 索引標籤的 [工具] 群組中,按一下 [屬性表]。

  3. 從 [屬性表] 工作窗格頂端的清單 中選取 [表體] 或 [ 表],以選取整個物件。

  4. 在 [屬性表] 的 [ 其他 ] 索引標籤的 [ 功能表欄 ] 屬性方塊中,輸入您在步驟 2 中建立的宏物件名稱, (在此範例中,“mcrAddShortcutMenu”) 。

  5. 儲存表單或報表變更。

    下次您開啟表單或報表時, [載入宏] 索引 卷標會出現在功能區中。 點擊索引標籤以查看選單,如下圖所示:

    Access 中 [載入宏] 功能區的螢幕快照

    如需功能區自定義技術的詳細資訊,例如新增自定義索引卷標或隱藏預設索引卷標,請參閱 在 Access 中建立自定義功能區一文。

將功能表新增為表單、報表或控制件的快捷方式選單

如果您想要在特定表單、報表或控制件上按下滑鼠右鍵時顯示選單,請使用此程式。

  1. 在 [導航窗格] 中,以滑鼠右鍵按下您要顯示快捷方式功能表的表單的表單或報表,然後按兩下 [ 設計檢視]

  2. 在 [設計] 索引標籤的 [工具] 群組中,按一下 [屬性表]。

  3. 選取您要附加快捷方式功能表的控制件或物件。

    若要選取整個物件,請從 [屬性表] 工作窗格頂端的清單 中選取 [表單] 或 [ 表]。

  4. 在 [屬性表的另一 ] 索引標籤的 [快捷方式功能表欄 ] 屬性方塊中,輸入您在步驟 2 中建立的宏物件名稱 (在此範例中,“mcrAddShortcutMenu”) 。

  5. 確定 [快捷方式功能表] 屬性已設為 [ 是]。

  6. 儲存表單或報表變更。

    下次開啟表單或報表,然後以滑鼠右鍵單擊表單、報表或控件時,您會看到含有相關聯命令的快捷方式功能表,如下圖所示:

    Access 窗體上快捷方式功能表的螢幕快照

將功能表新增為全域快捷方式功能表

此程式會取代目前資料庫中所有的預設快捷方式功能表。 您附加至特定表單、報表或控制件的自訂快捷方式選單不會受到影響。

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

  2. 按一下 [Access 選項] 對話方塊中的 [目前資料庫]。

  3. 在 [ 功能區及工具欄選項] 底下的 [快捷方式功能表欄 ] 方塊中,輸入您在步驟 2 建立的宏名稱, (在此範例中輸入“mcrAddShortcutMenu”) 。

  4. 按兩下 [確定 ] 以在 [ 存取選項 ] 對話框中儲存變更。

  5. 關閉然後重新開啟資料庫,變更才會生效。

自定義快捷方式功能表會取代附加物件的預設快捷方式功能表。 如果您想要保留要在這些功能表上使用的某些 Access 命令,請使用 RunCommand 宏指令,將命令放入您要的功能表的宏物件中。

附加至控件的自定義快捷方式功能表會取代資料庫中定義的任何其他自定義快捷方式功能表。 附加至表單或報表的自定義快捷方式功能表會取代自定義全域快捷方式選單。

當您為表單或報表或資料庫指定功能表宏時,Access 會在表單、報表或資料庫開啟時執行此功能表宏。 如果您在表單、報表或資料庫開啟時,對功能表宏物件或定義其命令的宏物件進行變更,您必須關閉表單、報表或資料庫,然後重新開啟以查看變更。

若要在命令的快捷方式功能表清單上建立子功能表,請依照步驟 1 建立只包含子功能表命令的個別宏物件,如下圖所示:

Access 中含有兩個子宏的宏螢幕快照

然後,再次遵循步驟 1,定義較高層級功能表物件的命令。 使用 AddMenu 宏指令,將子功能表新增為較高層級宏物件中的專案。 下圖顯示包含子功能表之功能表的宏物件。 此範例宏物件中的第三個子宏會建立 export to... 子功能表 (mcrShortcutSubMenuCommands) 。

含有四個子宏之 Access 宏的螢幕快照

下圖顯示含有子選單的已完成快捷方式選單:

含有子功能表的快捷方式選單的螢幕快照

您可以在功能表層級的宏物件中使用 AddMenu 宏指令,建立多個子功能表層級。 請務必為每個 AddMenu 動作提供 [功能表名稱] 自變數的值,否則子功能表會在較高層級功能表中顯示為空白行。

只有頂層功能表宏物件才支援使用 If/Then/Else 區塊的宏表達式條件。 換句話說,您可以在功能表宏物件中使用條件表達式來判斷是否會顯示特定功能表或快捷方式功能表,但僅限於最上層的功能表。 您無法使用條件表示式顯示或隱藏選單上的命令或子選單。 您也可以使用條件表示式來隱藏或顯示自訂快捷方式選單或全域快捷方式選單。

或者,您在步驟 2 中建立的功能表宏可以是宏物件的一部分。 例如,如果您有多個不同物件或控件的快捷方式功能表,您可以建立包含所有必要功能表宏的單一宏物件。 請確定每個子宏都有唯一名稱。 在步驟 3 中,使用下列表示法來參照宏: MacroObjectName.SubmacroName。 例如, mcrAddShortcutMenus.AddMenu2

頁面頂端

在 Access 2007 中建立自定義快捷方式功能表

與較新版本的 Access 2007 相比,Access 2007 中的宏設計視窗不同,因此如果您使用的是 Access 2007,請展開下列章節以遵循。

在此步驟中,您建立了一個宏群組,每個宏都會是快捷方式功能表上的個別命令。

什麼是宏群組?

宏群組是一個包含兩個以上獨立宏的單一宏物件。 個別宏是在 [宏名稱] 欄中輸入每個宏的名稱來識別。 在下圖中, Macro3 是一個宏群組。 NotFoundMsgFoundMsg 是群組內的個別宏,每個宏都包含兩個宏指令。

巨集群組範例

附註: 默認會隱藏 [ 宏名稱 ] 欄。 若要顯示 [宏名稱] 欄,請在 [ 設計] 索引 標籤上,按兩下 [ 顯示/隱藏 ] 群組中的 [ 宏名稱]

  1. 在 [建立] 索引標籤上,按一下 [其他] 群組中的 [巨集]。 如果無法使用這個命令,請按一下 [模組] 或 [類別模組] 按鈕下方的箭號,然後按一下 [巨集]。

  2. 在 [ 設計] 索引 標籤的 [ 顯示/隱藏 ] 群組中,按兩下 [ 宏名稱 ] 以顯示 [ 宏名稱] 列。

  3. 針對您要在自訂快捷方式選單上使用的每個命令:

    • 在 [ 宏名稱] 欄中,輸入您要在快捷方式功能表上顯示的文字 (例如「列印報表」或「儲存」) 。

      1. 附註: 若要建立訪問鍵,讓您可以使用鍵盤來選擇命令,請在您要成為命令名稱之訪問鍵的字母前面輸入一個擴充器和 (&) (例如「&儲存」) 。 此字母會在功能表上加上底線。

    • 在 [ 動作] 欄中,選取當您按下快捷方式選單上的命令時要執行的第一個動作。

    • 如果您選取此命令時想要執行更多動作,請將其新增至後續的行。 對於每個後續動作,請將 [宏名稱 ] 儲存格留白。

      1. 附註: 若要在兩個功能表命令之間建立一行,請在適當的功能表命令之間的 [ 宏名稱 ] 欄中輸入連字元 ( ) 。

  4. 儲存宏並命名宏,例如 mcrShortcutMenuCommands

下圖顯示自定義功能表或快捷方式功能表的範例宏群組。

[設計] 檢視中的功能表巨集群組

此步驟看似冗餘,但若要從您在步驟 1 中建立的宏群組建立快捷方式功能表,您必須建立包含 AddMenu 宏指令的第二個宏。 這個宏有時稱為「功能表宏」。

  1. 在 [建立] 索引標籤上,按一下 [其他] 群組中的 [巨集]。 如果無法使用這個命令,請按一下 [模組] 或 [類別模組] 按鈕下方的箭號,然後按一下 [巨集]。

  2. 在宏的第一行,選取 [動作] 清單中的 [AddMenu]。

  3. 在 [ 動作自變數] 底下的 [ 功能表名稱 ] 方塊中,輸入功能表 (的名稱,例如「報告命令」) 。 您不需要這個自變數,但建議您在步驟 3 中將功能表新增至功能區索引卷標 (例如表單或報表) 的 [載入 宏] 索引卷標。 如果在步驟 3 中將功能表新增為快捷方式功能表, 功能表名稱自變數 會被忽略。

  4. 在 [ 功能表宏名稱 ] 方塊中,輸入您在步驟 1 中建立的宏名稱。

  5. 儲存宏並命名宏,例如 mcrAddShortcutMenu

下圖顯示範例功能表宏,該宏會建立我們在步驟 1 中設計的功能表。

[設計] 檢視中的功能表巨集

根據您要顯示功能表的位置而定,請使用下列一或多個程式。

  • 將功能表新增至表單或報表的 [Add-Ins] 索引標籤

    如果您希望功能表顯示在特定表單或報表的 [載入 宏] 索引標籤上,請使用此程式,如下圖所示:

    包含自訂功能表的 [增益集] 索引標籤

    1. 在 [導航窗格] 中,以滑鼠右鍵按下您要顯示功能表的表單或報表,然後按兩下 [ 設計檢視]

    2. 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [屬性表]。

    3. 從 [屬性表] 工作窗格頂端的清單 中選取 [表體] 或 [ 表],以選取整個物件。

    4. 在 [屬性表] 的 [ 其他 ] 索引卷標的 [快捷方式功能表 ] 屬性方塊中,輸入您在步驟 2 中建立的宏名稱, (在此範例中輸入“mcrAddShortcutMenu”) 。

      下次您開啟表單或報表時, [載入宏] 索引 卷標會出現在功能區中。 按兩下索引標籤以查看功能表。

      如需功能區自定義技術的詳細資訊,例如新增自定義索引卷標或隱藏預設索引卷標,請參閱 在 Access 中建立自定義功能區一文。

      功能區是 Microsoft Office Fluent 使用者介面的元件。

  • 將功能表新增為表單、報表或控制件的快捷方式選單

    如果您希望在以滑鼠右鍵單擊特定表單、報表或控件時顯示功能表,請使用此程式,如下圖所示:

    簡單的快顯功能表

    1. 在 [導航窗格] 中,以滑鼠右鍵按下您要顯示快捷方式功能表的表單的表單或報表,然後按兩下 [ 設計檢視]

    2. 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [屬性表]。

    3. 選取您要附加快捷方式功能表的控制件或物件。

      附註: 若要選取整個物件,請從 [屬性表] 工作窗格頂端的清單 中選取 [表單] 或 [ 表]。

    4. 在 [屬性表的另一 ] 索引標籤的 [快捷方式功能表欄 ] 屬性方塊中,輸入您在步驟 2 中建立的宏名稱, (在此範例中輸入“mcrAddShortcutMenu”) 。

  • 將功能表新增為全域快捷方式功能表

    此程式會取代目前資料庫中所有的預設快捷方式功能表。 您附加至特定表單、報表或控制件的自訂快捷方式選單不會受到影響。

    1. 按兩下 [Microsoft Office 按鈕 ],然後按下 [ 存取選項]

    2. 按一下 [Access 選項] 對話方塊中的 [目前資料庫]。

    3. 在 [ 功能區及工具欄選項] 底下的 [快捷方式功能表欄 ] 方塊中,輸入您在步驟 2 建立的宏名稱, (在此範例中輸入“mcrAddShortcutMenu”) 。

  • 自定義快捷方式功能表會取代附加物件的預設快捷方式功能表。 如果您想要保留要在這些功能表上使用的某些 Access 命令,請使用 RunCommand 宏指令,將您要的功能表的命令放入宏群組中。

  • 附加至控件的自定義快捷方式功能表會取代資料庫中定義的任何其他自定義快捷方式功能表。 附加至表單或報表的自定義快捷方式功能表會取代自定義全域快捷方式選單。

  • 當您為表單或報表或資料庫指定功能表宏時,Access 會在表單、報表或資料庫開啟時執行此功能表宏。 如果您在表單、報表或資料庫開啟時,對功能表宏或定義其命令的宏群組進行變更,您必須關閉表單、報表或資料庫,然後重新開啟以查看變更。

  • 若要建立 子功能表,請遵循步驟 1,建立只包含子功能表命令的個別宏群組。 然後,再次遵循步驟 1,定義較高層級功能表的命令。 使用 AddMenu 宏指令,將子功能表新增為較高層級宏群組中的專案。 下圖顯示包含子功能表之功能表的宏群組,然後顯示產生的快捷方式選單。 宏群組中的第三行會建立 mcrSubMenu) (匯出至... 子功能表。

    包含子功能表的快顯功能表

    您可以使用宏群組中每個功能表層級的 AddMenu 宏指令,建立多個層級的子功能表。 請務必為每個 AddMenu 動作提供 [功能表名稱] 自變數的值,否則子功能表會在較高層級功能表中顯示為空白行。

  • 頂層功能表宏僅支援宏條件。 換句話說,您可以在功能表宏中使用條件來判斷是否會顯示特定功能表或快捷方式功能表,但僅限於最上層的功能表。 您無法使用條件來顯示或隱藏選單上的命令或子選單。 您也可以使用條件來隱藏或顯示自訂快捷方式功能表或全域快捷方式功能表。

  • 或者,您在步驟 2 中建立的功能表宏可以是宏群組的一部分。 例如,如果您有多個不同物件或控件的快捷方式功能表,您可以建立包含所有必要功能表宏的單一宏物件。 請務必顯示 [ 宏名稱 ] 欄,併為每個宏輸入唯一名稱。 在步驟 3 中,使用下列表示法來參照宏: macrogroupname.dotame。 例如, mcrAddShortcutMenus.AddMenu2

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

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

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

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×