Excel VBA 獲取按鈕物件

2022-01-11 11:51:18 字數 789 閱讀 7837

今天給同事寫了兩個vba巨集,並分別把巨集賦給了兩個按鈕。

因為兩個巨集都是實現在兩種顯示方式之間切換,於是我想除了功能的實現外,還希望在切換到其中一種方式時,按鈕上面的文字也可以跟著改變,起到提示作用。

但是網上找了很多文章,都實現不了,而且很多都是針對form表單控制項的。所以自己嘗試解決

先說明,我的按鈕是 開發者選單-插入-表單控制項 預設下面的第乙個。如下圖

插入控制項之後,可以直接在左上角顯示單元格位置的地方修改它的名字,不修改將採用預設值。

在vba中,先定義乙個button變數,再通過sheet物件和控制項名字引用即可:

sub getcontrols()

dim sht as worksheet

set sht = worksheets(sheetname)

dim bt as button

set bt = sht.[buttonname]

bt.caption = "控制項顯示的文字"

end sub

這裡容易令人困惑的是,一般我們在定義變數的時候,寫完as加空格會有提示列表出現的,但是我在提示列表裡面沒有發現有button這種型別。

此外,在引用控制項的時候,方括號裡面直接寫控制項名,不需要使用雙引號

在寫bt再加乙個點的時候,就會有它的屬性或方法的提示列表出現了

excel vba 操作相關物件引用

1,使用adodb.stream物件提取字串 function bytestobstr strbody,codebase 使用adodb.stream物件提取字串 dimobjstream onerror resume next set objstream createobject adodb.st...

QT 按鈕物件

建立乙個按鈕物件 使用預設建構函式 qpushbutton 物件名 new qpushbutton 如果建立的物件並不會在視窗顯示,因為還沒有指定該物件的父親,所以不會在widget的視窗中顯示 指定物件的基類 物件名 setparent 父類物件 給按鈕設定文字 物件名 settext 哈嘍 se...

ExcelVBA之獲取D盤檔案列表

過程getfiles獲取d盤根目錄下的所有檔名並且將每個檔名寫入工作表 sub getfiles dim nfile as string dim nextrow as integer nextrow 1 next row index with worksheets sheet1 range a1 n...