共用方式為


Excel 命令、函式和狀態

適用於:Excel 2013 |Office 2013 |Visual Studio

Microsoft Excel 會辨識兩種非常不同的新增功能類型:命令和函式。

命令

在 Excel 中,命令具有下列特性:

  • 其執行動作的方式與使用者相同。

  • 他們可以執行使用者可以執行的任何動作 (受限於) 使用的介面限制,例如變更 Excel 設定、開啟、關閉和編輯檔、起始重新計算等等。

  • 您可以將它們設定為在發生特定的擷取事件時呼叫。

  • 他們可以顯示對話框並與用戶互動。

  • 它們可以連結至控件物件,以便在該對象上採取某些動作時呼叫它們,例如按滑鼠左鍵。

  • 在重新計算期間,Excel 永遠不會呼叫它們。

  • 在重新計算期間,函式無法呼叫它們。

函式

Excel 中的函式會執行下列動作:

  • 它們通常會採用自變數,而且一律會傳回結果。

  • 它們可以輸入到一或多個單元格中,作為Excel公式的一部分。

  • 它們可用於定義的名稱定義。

  • 它們可用於條件式格式化限制和閾值表達式。

  • 命令可以呼叫它們。

  • 它們無法呼叫命令。

Excel 會進一步區別用戶定義的工作表函數和設計來處理巨集工作表的使用者定義函數。 Excel 不會將使用者定義的巨集表函數限制為只用於巨集工作表:這些函式可以用在一般工作表函數的任何位置。

工作表函數

下列是Excel工作表函式的 true:

  • 它們無法存取巨集工作表資訊函式。

  • 它們無法取得未計算儲存格的值。

  • 從 Excel 2007 開始,可以將它們寫入並註冊為安全線程。

Macro-Sheet 函式

下列是Excel 巨集表函式的 true:

  • 他們可以存取巨集工作表資訊函式。

  • 他們可以取得未計算儲存格的值,包括呼叫儲存格的值。

  • 從 Excel 2007 開始,它們不會被視為安全線程。

Excel 如何處理使用者定義的函式 (UDF) 、它允許函式執行的動作,以及它如何重新計算函式,都是在您註冊函式時決定。 如果函式註冊為工作表函式,但嘗試執行只有巨集工作表函數可以執行的動作,作業就會失敗。 從 Excel 2007 開始,如果註冊為安全線程的工作表函式嘗試呼叫巨集工作表函式,則作業會再次失敗。

Excel 會將 Microsoft Visual Basic for Applications (VBA) UDF 視為巨集工作表對等函式,因為它們可以存取工作區資訊和未計算單元格的值,而且從 Excel 2007 開始不會被視為安全線程。

Excel 狀態

根據用戶的動作、外部進程、執行巨集的擷取事件,或是自動 儲存等計時 Excel 家務服務事件,Excel 在任何指定時間都可以處於其中一種狀態。

使用者體驗的狀態如下:

  • 就緒狀態: 未執行任何命令或巨集。 未顯示任何對話框。 沒有正在編輯儲存格,而且使用者不在剪下/複製和貼上作業的中間。 沒有內嵌物件具有焦點。

  • 編輯模式: 用戶已開始在未解除鎖定或未受保護的儲存格中輸入有效的輸入字元,或已在一或多個未鎖定或未受保護的儲存格上按下 F2

  • 剪下/複製和貼上模式: 使用者已剪下或複製儲存格或儲存格範圍,但尚未貼上儲存格,或已使用 [貼上特殊] 對話框貼上它們,以啟用多個貼上作業。

  • 點模式: 使用者正在編輯公式,並選取其位址新增至所編輯公式的單元格。

使用者可以按 下 ESC 鍵來清除編輯、點和剪下/複製模式,這會讓 Excel 回到其就緒狀態。 其他事件可以清除這些狀態,如下所示:

  • 用戶會開啟內建對話框。

  • 用戶起始重新計算。

  • 用戶會執行命令。

  • Excel 會執行 自動儲存 作業。

  • 定時器事件被擷取。

最後一個範例是載入巨集開發人員的重要性。 您應該考慮 Excel 正常可用性的影響,其中會設定和執行頻繁的定時器事件陷阱。 當這是載入巨集功能的重要部分時,您應該為使用者提供可輕鬆存取的暫停方式,讓他們可以在需要時正常剪下/複製並貼上。

另請參閱

Excel 程式設計概念

允許冗長作業中的用戶中斷