<output id="os3gq"><ruby id="os3gq"></ruby></output>

    1. <mark id="os3gq"></mark>
    2. 5個免費課程
      網站公告
      ·Access快速平臺QQ群號:156702533    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
      您的位置: 首頁 > 技術文章 > Access數據庫-宏

      使用宏創建自定義菜單和快捷菜單

      時 間:2014-05-28 08:24:34
      作 者:宏鵬(轉載)   ID:21115  城市:上海
      摘 要:適用于2007以上版本
      正 文:

      可以使用 Access 宏來創建在右鍵單擊窗體、報表或各個控件時顯示的自定義快捷菜單。還可以創建在針對特定窗體或報表的功能區上顯示的自定義菜單。

      若要通過使用宏來創建菜單,請執行以下三個主要步驟:

      1. 創建定義菜單命令的宏組。

      2. 另建一個創建菜單本身的宏。

      3. 將菜單附加到控件、窗體、報表或整個數據庫。

      以下各部分將詳細地介紹這些步驟。

      步驟 1:創建包含菜單命令的宏組

      在此步驟中,您將創建一個宏組,其中每個宏都是快捷菜單上的一個單獨的命令。

      宏組是包含兩個或多個獨立宏的單個宏對象??赏ㄟ^在宏名稱列中為每個宏鍵入一個名稱來標識各個宏。在下圖中,3”就是一個宏組。“NotFoundMsg”“FoundMsg”是該組中的單個宏,每個宏都包含兩個宏操作。

       

       注釋   宏名列默認情況下是隱藏的。若要顯示宏名列,請在設計選項卡上的顯示/隱藏組中,單擊宏名。



      a. 創建選項卡上的其他組中,單擊。如果此命令不可用,請單擊模塊類模塊按鈕下面的箭頭,然后單擊。

      b. 設計選項卡上的顯示/隱藏組中,單擊宏名以顯示宏名列。

      c. 對于要在自定義快捷菜單上顯示的每個命令,請執行以下操作:

      ·   宏名列中,輸入要在快捷菜單上顯示的文本(例如,打印保存)。

       注釋   若要創建訪問鍵以便您能夠使用鍵盤來選擇命令,請在命令名稱后作為訪問鍵的字母前面鍵入一個與號 (&)(例如,保存(&S)”)。該字母將在菜單中顯示為帶有下劃線。

      ·   操作列中,選擇要在單擊快捷菜單上的命令時執行的第一個操作。

      ·   如果要在選擇此命令時執行多個操作,請將這些操作添加到后續行中。對于每個后續操作,保留宏名單元格為空。

       注釋   要在兩個菜單命令之間創建一條直線,請在宏名欄中相應的菜單命令之間輸入一個連字符 (-)。

      d.  保存并命名該宏,例如 mcrShortcutMenuCommands。

      下圖顯示了針對自定義菜單或快捷菜單的宏組示例。

       

       

      步驟 2:創建用于創建菜單的宏

      此步驟看似多余,但若要從您在步驟 1 中創建的宏組創建快捷菜單,則必須創建另一個包含 AddMenu 宏操作的宏。有時此宏稱為菜單宏。

      a. 創建選項卡上的其他組中,單擊。如果此命令不可用,請單擊模塊類模塊按鈕下面的箭頭,然后單擊。

      b. 在該宏的第一行上,選擇操作列表中的“AddMenu”。

      c. 操作參數下的菜單名稱框中,鍵入菜單的名稱(例如,報表命令)。此參數不是必需的,但如果您打算在步驟 3 中將該菜單添加到功能區選項卡(如窗體或報表的加載項選項卡)上,則建議使用此參數。如果要在步驟 3 中將該菜單添加為快捷菜單,則可忽略菜單名稱參數。

      d. 菜單宏名稱框中,輸入您在步驟 1 中創建的宏的名稱。

      e. 保存并命名該宏,例如 mcrAddShortcutMenu。

      下圖顯示了創建在步驟 1 中設計的菜單的菜單宏的示例。

       

       

      步驟 3:將菜單附加到控件、窗體、報表或數據庫中

      根據您希望菜單出現的位置,使用以下一個或多個過程。

      向窗體或報表的加載項選項卡中添加菜單

      如果您希望菜單顯示在特定窗體或報表的加載項選項卡上,請使用此過程,如下圖所示:

       

       

      a. 在導航窗格中,右鍵單擊您希望顯示菜單的窗體或報表,然后單擊設計視圖。

      b. 設計選項卡上的顯示/隱藏組中,單擊屬性表。

      c. 通過從屬性表任務窗格頂部的列表中選擇窗體報表,選擇整個對象。

      d. 屬性表其他選項卡上的快捷菜單屬性框中,鍵入您在步驟 2 中創建的宏的名稱(在本示例中為“mcrAddShortcutMenu”)。

      下次打開相應的窗體或報表時,加載項選項卡將顯示在功能區中。單擊該選項卡可看到添加的菜單。

      有關功能區自定義技術(例如,添加自定義選項卡或隱藏默認選項卡)的詳細信息,請參閱文章自定義功能區。

      功能區是 Microsoft Office Fluent 用戶界面 的一個組件。

      作為窗體、報表或控件的快捷菜單添加菜單

      如果您希望在右鍵單擊特定的窗體、報表或控件時顯示菜單,請使用此過程,如下圖所示:

       

       

      e. 在導航窗格中,右鍵單擊您希望顯示快捷菜單的窗體或報表,然后單擊設計視圖。

      f. 設計選項卡上的顯示/隱藏組中,單擊屬性表。

      g. 選擇要將快捷菜單附加到的控件或對象。

       注釋   若要選擇整個對象,請從屬性表任務窗格頂部的列表中選擇窗體報表。

      h. 屬性表其他選項卡上的快捷菜單欄屬性框中,鍵入您在步驟 2 中創建的宏的名稱(在本示例中為“mcrAddShortcutMenu”)。

      作為全局快捷菜單添加菜單

      可使用此過程替換當前數據庫中的所有默認快捷菜單。已附加到指定窗體、報表或控件的自定義快捷菜單不會受到影響。

      i. 單擊“Office 按鈕,然后單擊“Access 選項。

      j. “Access 選項對話框中,單擊當前數據庫。

      k.功能區和工具欄選項下的快捷菜單欄框中,鍵入您在步驟 2 中創建的宏的名稱(在本示例中為“mcrAddShortcutMenu”)。

       注釋 

      ·  自定義快捷菜單將替換其附加到的對象的默認快捷菜單。如果要在這些菜單上留用某些 Access 命令,請使用 RunCommand 操作將這些命令放入到需要它們的菜單所對應的宏組中。

      ·  附加到控件的自定義快捷菜單將取代在數據庫中定義的任何其他自定義快捷菜單。附加到窗體或報表的自定義快捷菜單將取代自定義全局快捷菜單。

      ·  在為窗體、報表或數據庫指定了一個菜單宏后,只要打開該窗體、報表或數據庫,Access 就會運行該菜單宏。如果您在該窗體、報表或數據庫打開的狀態下,更改了定義其命令的菜單宏或宏組,則必須先關閉該窗體、報表或數據庫,然后重新打開以查看更改。

      ·  若要創建子菜單 (子菜單:用戶指向更高一級菜單的命令時出現的菜單。),請按照步驟 1 創建僅包含子菜單命令的單獨的宏組。然后,再次按照步驟 1 為更高級別的菜單定義命令。通過使用 AddMenu宏操作,將子菜單添加為更高級別宏組中的項。下圖顯示了包含子菜單的菜單的宏組,并顯示了生成的快捷菜單。宏組中的第三行用于創建導出到(&E)...”子菜單 (mcrSubMenu)。

       

       

      可以通過在每個菜單級別的宏組中使用 AddMenu 操作來創建多個級別的子菜單。請確保為每個 AddMenu 操作的菜單名稱參數提供一個值,否則子菜單將在更高級別的菜單中顯示為空行。

      ·  只在頂級菜單宏中支持宏條件。換言之,可以在菜單宏中使用條件來確定是否將顯示特定菜單或快捷菜單,但是這種做法只適用于頂級菜單。不能使用條件來顯示或隱藏菜單中的命令或子菜單。您還可以使用條件來隱藏或顯示自定義快捷菜單或全局快捷菜單。

      ·   您在步驟 2 中創建的菜單宏還可以是宏組的一部分。例如,如果不同的對象或控件有若干個快捷菜單,則可以創建單個宏對象來包含所有必需的菜單宏。確保顯示宏名列并為每個宏鍵入唯一的名稱。在步驟 3 中,使用下面的表示法來引用宏:macrogroupname.macroname。例如,mcrAddShortcutMenus.AddMenu2。

       



      Access軟件網官方交流QQ群 (群號:198348076)       access源碼網店

      最新評論 查看更多評論(4)

      2017/9/21 10:00:13劉動的人生
      access幫助中的內容,一字不差

      2016/7/17 22:10:42其他可能
      按文章很快生成了快捷菜單,最常用的剪切,復制,粘貼如何制作,代碼如何寫?
      生成快捷菜單后,如何刪除?

      2014/9/30 14:43:49布魯斯
      好東西,有這個指引,短時間就弄出來了。太棒了?。?!

      2014/5/28 15:10:37李志能
      太感謝了,等了一千年終于等到了!

      發表評論您的評論將提升作者分享的動力!快來評論一下吧!

      用戶名:
      密 碼:
      內 容:
       

      常見問答

      技術分類

      相關資源

      關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助