建立使用者介面 (UI) 巨集

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

在 Microsoft Access 等的附加使用者介面 (UI) 物件,例如命令按鈕至巨集的文字方塊、 表單及報表稱為 UI 巨集。他們會區分從資料巨集,附加至資料表。您可以使用 (UI) 巨集來自動化一系列的動作,例如開啟另一個物件,套用篩選,開始匯出作業和許多其他的工作。本文會向您介紹新重新設計的巨集建立器中,顯示您的基本工作涉及建立 UI 巨集。

附註: 本文內容不適用於 Access Web App - 此為使用 Access 設計及線上發佈的資料庫類型。如需詳細資訊,請參閱建立 Access 應用程式

本文內容

概觀

新增功能

建立獨立巨集

建立內嵌巨集

新增動作到巨集

如果還如果使用的程式流程和 Else

建立 submacros

分成相關的動作

展開及摺疊巨集指令或區塊

複製並貼上巨集指令

與其他人共用巨集

執行巨集

除錯巨集

轉換 VBA 程式碼的巨集

概觀

巨集可以包含巨集物件 (有時稱為獨立巨集),或可以嵌入的表單、 報表或控制項的事件屬性。內嵌巨集會變成 [物件] 或 [它們內嵌的控制項的一部分。巨集的物件會顯示在 [功能窗格] 底下的巨集。不會內嵌巨集。

每個巨集組成的一或多個巨集指令。根據您使用的內容,可能無法使用一些巨集指令。特別是如果您要設計 Web 資料庫,您將無法使用某些與 [發佈至 Access Services 功能不相容的巨集動作。

如需有關如何建立 Web 資料庫的詳細資訊,請參閱建立要在網路上共用的 Access 資料庫

文件頂端

新增功能

Access 功能的新設計工具建立開頭與 Access 2010 巨集。此新設計的優點包括 ︰

  • 巨集指令目錄   巨集動作會依類型組織及搜尋。

  • IntelliSense   鍵入時的運算式,請 IntelliSense 建議盡量值,並可讓您選取正確的項目。

  • 鍵盤快速鍵   使用進行更快、 更容易的巨集寫入的按鍵組合。

  • 程式流程   註解線條與動作的群組建立更易於閱讀的巨集。

  • 條件陳述式   允許的巢狀 If/Else/Else 如果支援更複雜的邏輯執行。

  • 重複使用的巨集   巨集指令目錄會顯示您已建立,讓您可以將它們複製到您正在處理的項目其他巨集。

  • 更容易共用   複製巨集,然後為 XML 貼到電子郵件、 新聞群組文章、 部落格或程式碼範例的網站]。

文件頂端

建立獨立巨集

此程序建立獨立巨集物件,會出現在功能窗格] 中的巨集。當您想要重複使用的應用程式的許多地方巨集,獨立巨集很有用。您可以藉由巨集從其他巨集,避免重複相同的程式碼,在多個位置。

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

    Access 便會開啟巨集建立器。

  2. 在 [快速存取工具列,按一下 [儲存

  3. 在 [另存新檔] 對話方塊中,輸入巨集的名稱,然後按一下 [確定]。

  4. 繼續執行巨集新增動作] 區段。

文件頂端

建立內嵌巨集

此程序建立內嵌的物件的事件] 屬性中的巨集。這類巨集就不會出現在 [功能窗格] 中,但可以從事件,例如在載入,或按一下呼叫。

巨集成為表單或報表中的物件,因為建議使用內嵌巨集的自動化工作的特定特定的表單或報表。

  1. 在 [功能窗格] 中以滑鼠右鍵按一下表單或報表,將包含巨集,然後按一下 [版面配置檢視

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

  3. 按一下 [控制項] 或 [區段,包含您要內嵌巨集的事件屬性。您也可以選取控制項或區段 (或整份表單或報表) 使用 [選取類型] 底下的下拉式清單頂端的屬性工作表。

  4. 在 [屬性表] 工作窗格中,按一下 [事件] 索引標籤。

  5. 按一下您想要觸發巨集的事件的屬性方塊中。例如命令按鈕,如果您想要按一下按鈕時執行的巨集,請按一下 [按一下] 屬性方塊中。

  6. 如果 [屬性] 方塊包含[內嵌巨集],這表示此事件已經建立巨集。您可以繼續使用此程序中的其餘步驟來編輯巨集。

  7. 如果 [屬性] 方塊包含[事件程序],這表示的 Visual Basic for Applications (VBA) 程序已經建立此事件。您可以內嵌巨集事件之前,必須將會移除此程序。您可以刪除文字[事件程序],但您應該先檢查以確定的加以移除並不會中斷所需的功能資料庫中的事件程序。在某些情況下,您都可以使用內嵌巨集來重新建立 VBA 程序的功能。

  8. 按一下 [建立] 按鈕 按鈕影像 ]。

  9. 如果出現 [選擇建立器] 對話方塊,請確認已選取 [巨集建立器,,然後按一下[確定]

    Access 便會開啟巨集建立器。請繼續下一節,若要新增巨集動作。

文件頂端

新增動作到巨集

動作會構成巨集的個別命令,每個為根據功能,例如findrecord] 巨集CloseDatabase

步驟 1 ︰ 瀏覽或搜尋巨集指令

新增巨集指令的第一個步驟尋找在新增新動作下拉式清單中,或指令目錄] 中。

附註: 

  • 根據預設,[新增新的動作下拉式清單] 及 [巨集指令目錄只會顯示非受信任的資料庫中將執行的動作。若要查看所有動作 ︰

    • [設計] 索引標籤的 [顯示/隱藏] 群組中,按一下 [顯示所有巨集指令]

  • 如果沒有顯示巨集指令目錄,請在 [設計] 索引標籤上的 [顯示/隱藏] 群組中,按一下 [巨集指令目錄

若要尋找動作,請使用下列方法之一 ︰

  • 按一下 [加入新的動作下拉式清單中,向下尋找動作捲動箭號。首先,列出程式流程項目,然後巨集動作會依字母順序列出。

  • 瀏覽 [巨集指令目錄] 窗格中的動作]。依類別分組的動作。展開每個類別,若要檢視的動作。如果您選取的動作,巨集指令的簡短描述會顯示底部的巨集指令目錄]。

  • 搜尋 [巨集指令目錄] 窗格中的動作] 窗格頂端的 [搜尋] 方塊中輸入。當您輸入時,[動作] 清單會篩選以顯示包含該文字的所有巨集。Access 會搜尋同時巨集名稱與說明您所輸入的文字。

步驟 2 ︰ 新增動作至巨集

當您找到您要的巨集動作時,將其新增至巨集使用下列兩種方法之一 ︰

  • 在 [新增新的巨集指令] 清單中選取的動作,或只開始在] 方塊中輸入巨集指令的名稱。存取在點顯示 [新增新的巨集指令] 清單中新增巨集指令。

  • 從巨集指令目錄的巨集指令拖曳到 [巨集] 窗格中。插入列會顯示,顯示當您放開滑鼠按鈕時位置插入動作。

  • 按兩下 [巨集指令目錄中的動作]。

    • 如果在 [巨集] 窗格中選取巨集指令,Access 就會新增正下方選取新的動作。

    • 如果在 [巨集] 窗格中選取群組如果其他如果Else區塊,則 Access 會將新巨集新增至該區塊。

    • 如果沒有巨集指令或區塊已在 [巨集] 窗格中,Access 會將新巨集新增巨集的結尾。

      附註: 

      • 如果您已經建立一個或多個巨集,就會列在 [巨集指令目錄] 中的此資料庫中節點。

        • 將獨立巨集 (一列在 [巨集下) 拖曳到 [巨集] 窗格建立能執行的巨集在您拖曳。如果有的話,可以然後呼叫 submacros,使用下拉式清單。

        • 如果您只想獨立巨集指令,複製到目前的巨集 (而非建立RunMacro巨集指令),在 [巨集指令目錄] 中,以滑鼠右鍵按一下,然後按一下 [新增巨集複本

        • 將內嵌巨集 (一個的會列在表單或報表中的物件) 拖曳到 [巨集] 窗格動作會從複製的巨集至目前的巨集。

      • 您也可以從 [功能窗格的資料庫物件拖曳到 [巨集] 窗格,以建立巨集指令。如果您將資料表、 查詢、 表單、 報表或模組拖曳到 [巨集] 窗格中,Access 會將開啟資料表、 查詢、 表單或報表的動作。如果您將另一個巨集拖曳到 [巨集] 窗格時,Access 會將執行巨集的動作。

引數中的步驟 3 ︰ 填滿

大部分的巨集指令需要至少有一個引數。 您可以檢視每個引數的描述,可以選取動作],然後將滑鼠指標移引數。多個引數,您可以從下拉式清單中選取的值。如果引數會要求您輸入運算式,IntelliSense 協助您輸入運算式建議可能值,當您輸入時,如下圖所示 ︰

使用 IntelliSense 輸入運算式

當您看到您要使用的值時,將其新增至您的運算式按兩下或使用方向鍵以醒目提示,然後按下 TAB 或 ENTER 鍵。

如需建立運算式的詳細資訊,請參閱簡介運算式

瞭解如何使用 IntelliSense 與 web 資料庫中的內容

Web 相容表單上,您可以建立內嵌的 UI 巨集,IntelliSense 可讓您新增的任何表單屬性的運算式。不過,在 web 資料庫中,可存取的表單屬性子集透過 UI 巨集。例如,給定稱為 Control1 form1 表單上的控制項,IntelliSense 可讓您新增 [表單] ![Form1] ![Control1]。[控制項資料來源] 以中 UI 巨集的運算式。不過,然後將資料庫發佈至 Access Services,如果巨集包含該運算式會產生錯誤在伺服器上執行時。

下表顯示的屬性,您可以使用 web 資料庫中的使用者介面巨集中 ︰

物件或控制項

您可以使用的內容

表單

標題,髒污,允許新增允許刪除、 允許編輯

索引標籤控制項

顯示

標籤

標號],顯示檔色彩、 背景色彩

附件

顯示、 啟用

命令按鈕

[標號],顯示、 已啟用]、 [前景色彩

[文字 tBox

啟用,看得見鎖定、 前景色彩、 背景色彩、 值

核取方塊

啟用、 可見時,在鎖定狀態,值

圖像

顯示、 背景色彩

下拉式方塊

啟用、 顯示,在鎖定狀態,值

清單方塊

啟用、 可見時,在鎖定狀態,值

網頁瀏覽器

顯示

子表單

已啟用]、 顯示鎖定

導覽控制項

啟用顯示

移動巨集指令

順序,從上到底部的巨集執行的動作。 若要在巨集向上或向下移動一個動作,請使用下列方法之一 ︰

  • 向上或向下您要的位置,請拖曳動作。

  • 選取動作],然後按 CTRL + 向上鍵或 CTRL + 向下箭號。

  • 選取動作],然後按一下 [在右側的 [巨集] 窗格上] 或 [下移]箭號。

刪除巨集指令

若要刪除的巨集動作 ︰

  • 選取動作],然後按 DELETE 鍵。或者,您可以按一下右側的 [巨集] 窗格的 [刪除] (X)] 按鈕。

    附註: 

    • 如果您刪除動作,例如If區塊或群組的區塊,區塊中封鎖所有動作也會一併都刪除。

    • 向上移動向下移動刪除命令,也會提供您以滑鼠右鍵按一下 [巨集指令時,會出現快顯功能表上。

文件頂端

如果還如果使用的程式流程和 Else

若要執行巨集指令,只在特定情況成立時才,您可以使用If區塊。這會取代使用舊版 Access 中的 [條件] 欄。您可以擴充If區塊,還如果Else區塊,類似於其他連續的程式設計語言,例如 VBA。

下圖顯示簡單的If區塊,包括其他如果Else區塊 ︰

包含 If/Else If/Else 陳述式的巨集。

如果 ExpirationDate 欄位小於目前的日期,則會執行If區塊。

Else If區塊執行 ExpirationDate 欄位等於目前的日期。

如果的前一個區塊沒有,會執行Else區塊。

如果封鎖這裡結束。

新增 [If 區塊巨集

  1. 如果選取 [新增新動作下拉式清單中,從,或將其從 [巨集指令目錄] 窗格拖曳到 [巨集] 窗格。

  2. 在頂端If區塊的方塊中,輸入決定封鎖時將執行的運算式。運算式必須是布林值 (也就是一個評估為 [是] 或 [否)。

  3. 從顯示在區塊,加入新的動作下拉式清單中選取,或將其拖曳從 [巨集指令目錄] 窗格中,為If區塊,則您可以加入If區塊的動作。

新增其他或其他如果 If 區塊封鎖

  1. 選取 If 區塊 ,然後在 [封鎖的右下角,按一下 [ 還新增,或新增其他

  2. 如果您要新增其他如果的區塊,請輸入決定封鎖時將執行的運算式。運算式必須是布林值 (也就是一個被評估為 True 或 False)。

  3. 新增動作到其他如果Else區塊,從顯示在區塊,加入新的動作下拉式清單中選取,或從 [巨集指令目錄] 窗格拖曳至 [封鎖。

    附註: 

    • 若要新增還如果],然後Else區塊的命令,可顯示當您以滑鼠右鍵按一下 [巨集指令的快顯功能表上。

    • 如果區塊可以巢狀,最多 10 個層。

文件頂端

建立 submacros

每個巨集可以包含多個 submacros。在設計子從RunMacroOnError巨集指令呼叫者名稱。

新增封鎖巨集以相同的方式,您巨集指令,[巨集新增動作] 區段中所述。一旦您已新增的區塊,您可以將巨集指令拖曳到,或出現區塊中新增新的巨集指令清單中選取 [動作]。

附註: 

  • 您也可以建立區塊,選取一或多個動作,以滑鼠右鍵按一下,然後選取 [製作子區塊

  • Submacros 都必須在巨集; 的最後一個區塊您無法新增子下列任何動作 (除了屬於多個 submacros)。如果您執行只含有 submacros 特別命名的子您想要的巨集時,會執行只第一個子。

  • 若要撥打子 (例如,在 [事件] 屬性,或使用RunMacro巨集指令或OnError巨集指令),請使用下列語法 ︰

    macroname.submacroname

文件頂端

分成相關的動作

您可以將動作群組在一起,並指派給該群組的有意義的名稱,以改善巨集的可讀性。例如,您可以將動作開啟與篩選表單至群組的名稱為 [開啟] 並篩選表單。 」如此可讓您更容易看到彼此相關的動作。群組區塊並不會影響如何執行的動作,並無法呼叫的群組,或個別執行。主要使用適用於標籤] 群組中的動作,以協助您瞭解巨集,當您讀取。此外,在編輯大型的巨集時,您可以摺疊每個群組區塊下一行,減少的捲動您必須執行。

如果您要組成群組的動作已在巨集,請將它們新增到群組區塊中使用此程序 ︰

  1. 選取您要組成群組的動作。

  2. 以滑鼠右鍵按一下選取的動作],然後按一下 [進行群組區塊

  3. 群組封鎖頂端方塊中,輸入群組的名稱。

如果尚未存在的動作 ︰

  1. 群組封鎖從巨集指令目錄拖曳到 [巨集] 窗格。

  2. 群組封鎖頂端方塊中,輸入群組的名稱。

  3. 將巨集指令目錄中的巨集指令,組塊的群組,或從會出現在該區塊中加入新的動作清單中選取 [動作]。

群組組塊可以包含其他群組區塊,,及 9 層的巢狀的方式。

文件頂端

展開及摺疊巨集指令或區塊

當您建立新巨集時,巨集建立器會顯示看得見所有引數的巨集指令。根據巨集的大小,您可能會想要摺疊部分或所有巨集動作 (與動作的區塊),而您正在編輯巨集。如此可讓您更容易存取您的巨集的結構的整體檢視。視需要進行編輯,您可以展開部分或所有動作。

展開或摺疊單一巨集指令或區塊

  • 按一下加號 (+) 或減號左邊的巨集或區塊的名稱 (-)。或者,請按向上鍵和向下鍵選取動作] 或 [封鎖,然後按向左鍵或向右鍵來摺疊或展開。

展開,或摺疊所有巨集動作 (但不是會封鎖)

  • 在 [設計] 索引標籤的摺疊/展開群組中,按一下展開動作摺疊動作

展開或摺疊所有巨集指令和區塊

  • 在 [設計] 索引標籤的摺疊/展開群組中,按一下[全部展開摺疊所有

提示: 您可以 「 檢視 」 內摺疊的動作,移動滑鼠指標移至動作。Access 會在工具提示中顯示的巨集指令引數。

文件頂端

複製並貼上巨集指令

如果您需要重複已新增巨集的動作,您可以複製並貼上現有的動作,就像您想要處理某些文字段落在 word 中處理器。當您貼上動作時,他們會插入目前選取的動作] 正下方。如果已選取的區塊,區塊內貼動作。

提示: 若要快速複製選取的動作,請按住 CTRL 鍵,然後拖曳到您想要複製其在巨集的位置的動作。

與其他人共用巨集

當您複製到剪貼簿的巨集指令時,他們可以貼上可延伸標記語言 (XML) 為接受文字的任何應用程式。這可讓您傳送給同事透過電子郵件] 的 [巨集或張貼討論論壇、 部落格或其他網站上的巨集。收件者可以再複製 XML,並將它貼到他們的 Access 2010 巨集建立器。就像您所撰寫重新建立巨集。

執行巨集

您可以使用下列方法之一來執行巨集 ︰

  • 按兩下 [功能窗格] 中的巨集]。

  • 使用 [ RunMacroOnError巨集指令呼叫巨集。

  • 物件的 [事件] 屬性中輸入巨集名稱。觸發事件時,會執行巨集。

文件頂端

除錯巨集

如果您有快速執行的巨集的問題,有幾個前往問題的來源,您可以使用的工具。

新增巨集的錯誤處理動作

我們建議您新增錯誤處理,每個巨集動作,當您撰寫,並將會永久保留在巨集。使用此方法時,Access 會顯示發生錯誤的描述。錯誤描述可協助您瞭解錯誤,讓您可以更快速地修正問題。

您可以使用下列程序新增錯誤處理子巨集 ︰

  1. 開啟 [設計檢視] 中的 [巨集]。

  2. 底部的巨集,請從新增新動作下拉式清單中選取

  3. 在右側的 word] 方塊中輸入子,例如ErrorHandler的名稱。

  4. 從顯示在區塊中加入新的動作下拉式清單,選取 [訊息方塊巨集指令]。

  5. 在 [訊息] 方塊中,輸入下列文字 ︰ = [MacroError]。 [描述]

  6. 底部的巨集,請從新增新動作下拉式清單中選取OnError

  7. 巨集名稱請移至引數。

  8. 在 [巨集名稱] 方塊中,輸入您的錯誤處理子 (在此範例中, ErrorHandler) 的名稱。

  9. 拖曳至巨集的最上方的OnError巨集指令。

下圖顯示OnError巨集指令與名稱為ErrorHandler子巨集。

含有錯誤處理子巨集的巨集。

OnError巨集指令放在頂端的巨集,,而通話ErrorHandler子發生錯誤。

ErrorHandler子才會執行它稱為OnError巨集指令,並顯示的訊息方塊,描述錯誤。

使用 [逐步執行] 命令

單一步驟就是偵錯模式您可以用來執行一次一個巨集指令的巨集。在執行每個動作後,會出現的對話方塊,顯示動作,以及任何錯誤碼所發生的結果的相關資訊。不過,因為沒有 [巨集逐步執行] 對話方塊中的錯誤的描述,我們建議使用前一節所述的錯誤處理子方法。

若要開始逐步執行模式 ︰

  1. 開啟 [設計檢視] 中的 [巨集]。

  2. 在 [設計] 索引標籤的 [工具] 群組中按一下逐步執行

  3. 儲存並關閉巨集。

下一次執行巨集,[巨集逐步執行] 對話方塊隨即出現。對話方塊會顯示每個動作的下列資訊 ︰

  • 巨集名稱

  • 條件 (如 If 區塊)

  • 巨集指令名稱

  • 引數

  • 錯誤號碼 (0 表示沒有出現錯誤錯誤號碼)

當您逐步執行動作,請按一下對話方塊中的三個按鈕的其中一個 ︰

  • 若要查看下一個動作,在巨集的相關資訊,請按步驟

  • 若要停止目前正在執行任何巨集,請按一下 [停止所有巨集。單一步驟模式仍可作用中下一次執行巨集。

  • 若要結束逐步執行模式並繼續執行巨集,請按一下 [繼續]。

    附註: 

    • 如果您在巨集的上一個動作之後按步驟,逐步執行模式仍可作用中下一次執行巨集。

    • 若要執行巨集時,請輸入逐步執行模式,請按 CTRL + 符號。

    • 若要輸入的特定點,在逐步執行模式中巨集,請新增點SingleStep巨集指令。

    • 單一步驟模式不適用於 Web 資料庫中。

文件頂端

轉換 VBA 程式碼的巨集

巨集提供的命令,可在 Visual Basic for Applications (VBA) 中的子集程式設計語言。如果您決定您需要更多非巨集可以提供的功能,您可以輕鬆地轉換獨立巨集物件 VBA 程式碼,然後再進行 [展開的功能集的使用該 VBA 提供。請記住,不過,無法在瀏覽器中; 中執行的 VBA 程式碼在 Access 中開啟資料庫時,才會執行任何您新增至 Web 資料庫的 VBA 程式碼。

附註: 您無法將內嵌的巨集轉換成 VBA 程式碼。

若要轉換的 VBA 程式碼的巨集 ︰

  1. 在 [導覽] 窗格中,以滑鼠右鍵按一下巨集,然後按一下 [設計] 檢視。

  2. 按一下 [設計] 索引標籤的 [工具] 群組中的 [轉換 Visual Basic 巨集

  3. 轉換巨集] 對話方塊中,指定是否希望錯誤處理的程式碼和 VBA 模組中,以新增註解,然後按一下 [轉換

巨集已轉換,並開啟 Visual Basic 編輯器] 中,向您確認存取。按兩下轉換巨集專案窗格中檢視及編輯的模組。

文件頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

這項資訊有幫助嗎?

我們應該如何改進?

我們應該如何改進?

若要保護您的隱私,請不要在意見反應中包含連絡資訊。 檢閱我們的 隱私權原則

感謝您的意見反應!