Friday, November 25, 2005

第十八章 巨集

第十八章 巨集
18-01 執行巨集

應用範例
Sub 執行巨集()
MsgBox “選取儲存格範圍B2到D6後執行「繪製外框線」的程序”
ActiveSheet.Range(“B2:D6”).Select
Application.Run “繪製外框線”
End Sub

18-02 在程序中執行其他的程序

應用範例
Public youso, kekka

Sub 呼叫程序()
Msgbox “呼叫計算平方根的程序「keisan」,並顯示計算結果”
n = Array(100, 200, 300)
For Each youso In n
MsgBox “呼叫「keisan」程序來計算 ” & youso & “ 的平方根”
Call keisan
MsgBox “結果計算完成,請按確定”
MsgBox youso & “ 的平方根為:” & kekka
Next youso
End Sub

Sub keisan()
kekka = Sqr(youso)
End Sub

18-03 在指定的時間執行程序

應用範例
Sub 在指定的時間執行程序()
Msgbox “從現在開始,10秒後執行程序「全螢幕模式」”
Application.OnTime Now + Timevalue(“00:00:10”), “全螢幕模式”
End Sub
18-04 在指定的時間內暫停執行巨集

應用範例
Sub 暫時停止執行巨集()
MsgBox “按下「確定」按鈕後,5秒鐘後將執行「全螢幕模式」”
settime = DateAdd(“s”, 5, Now())
Application.Wait settime
Call 全螢幕模式
End Sub

18-05 巨集執行時不更新螢幕

應用範例
Sub 關閉螢幕更新的功能()
MsgBox “依序切換Sheet1→Sheet2→Sheet3→Sheet2,並在其中開啟及關閉螢幕更新的功能”
Worksheets(1).Select
MsgBox “目前螢幕中顯示工作表Sheet1”
Application.ScreenUpdating = True
WorkSheets(2).Select
MsgBox “顯示Sheet2了嗎?”
WorkSheets(3).Select
MsgBox “顯示Sheet3了嗎?”
WorkSheets(2).Select
MsgBox “接下來和先前的執行程序相同,但關閉螢幕更新的功能”
Worksheets(1).Select
MsgBox “目前螢幕中顯示工作表Sheet1”
Application.ScreenUpdating = False
WorkSheets(2).Select
MsgBox “顯示Sheet2了嗎?”
WorkSheets(3).Select
MsgBox “顯示Sheet3了嗎?”
WorkSheets(2).Select
End Sub

18-06 按下特定的按鍵來執行程序

應用範例1
Sub 按下特定的按鍵來執行程序()
MsgBox “按下Ctrl+D後將執行程序「全螢幕模式」”
Application.OnKey “^{d}”, “全螢幕模式”
End Sub

應用範例2
Sub 清除Key引數的設定值()
MsgBox “回復原來的按鍵設定狀態”
Application.OnKey “^{d}”
End Sub

0 Comments:

Post a Comment

<< Home