字體:小 中 大 | |
|
|
2009/03/24 10:35:06瀏覽17194|回應1|推薦2 | |
曾有位朋友問到,如果要用 VBA 程式去執行 "在工作表上增加一個按鈕",該怎麼寫 呢? 其實,新增一個按鈕之後,還需編寫這個按鈕的 _Click() 程式碼,它才會是按了有作用 的鈕。底下的程式就是在示範這個手續: Sub NewSheetButton() Dim NewSheet As Worksheet Dim NewBtn As CommandButton '先在活頁簿裡插入一張新工作表, Set NewSheet = ActiveWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count)) 'Worksheets.Count 就是現在總共有幾張工作表, 所以上面這一行就是 '在編號最大的一張工作表後面插入一個新工作表 NewSheet.Activate '現在要把新工作表 "活化" Set NewBtn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", link:=False _ , DisplayAsIcon:=False, Left:=140, Top:=60, Width:=80, Height:=30) '在active的工作表上新增一個按鈕, Left:=140, Top:=60 是左上角的座標, 'Width:=80, Height:= 30 是寬和高 NewBtn.Name = "訊息鈕" '把按鈕改成我要的名字。若不改NewBtn的Name,它的名字 '會是 "CommandButton1",底下的副程式就要叫做 "CommandButton1_Click" '底下三行是在code字串裡組成按鈕的程式碼 Code = "Sub 問候鈕_Click()" & vbCrLf Code = Code & "MsgBox ""嗨! 這是你要的訊息!""" & vbCrLf Code = Code & "End Sub" '把 "Code" 字串寫入這張工作表的程式碼模組 ThisWorkbook.VBProject.VBComponents(NewSheet.CodeName).CodeModule. _ AddFromString (Code) End Sub 因為我們的程式要寫入 _click() 的碼, 這個程式在 Excel 中執行時,可能會出現
"對於 Visual Basic專案的程式化存取未信任"的錯誤訊息,這是Excel為了防範巨集 病毒或惡意巨集而設的控管機制。所以,請選 [工具] 功能表-->[巨集]--> [安全性] ,在 [信任的來源] 索引標籤上勾選 [信任存取 Visual Basic 專案] 方塊。在巨集執行 完畢之後,應該取消勾選 [信任存取 Visual Basic 專案] 方塊。 |
|
( 興趣嗜好|電腦3C ) |