vba窗體操作代碼?
首先,添加模塊
1.添加一個(gè)名為"我的模塊和
(vbext_ct_StdModule)。名稱(chēng)#34我的模塊#34
系統(tǒng)常數(shù)vbext_ct_StdModule1
2.添加一個(gè)名為"我的班級(jí)
(vbext_ct_ClassModule)。我的班級(jí)
vbext_ct_ClassModule2
3.添加一個(gè)名為"我的表格和
(vbext_ct_MSForm)。姓名#34我的表格#34
vbext_ct_MSForm3
第二,刪除模塊
1.刪除"模塊1"
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
2.刪除表單"用戶(hù)表單"
此工作簿。VBproject.VBcomponents(#34userform1#34)
3.刪除類(lèi)模塊"1級(jí)"
thishworkbook.VBproject.VBcomponents(#34class1#34)
4.刪除所有表單
子RmvForms()
將vbCmp作為VBComponent變暗
對(duì)于此工作簿中的每個(gè)vbCmp。VBProject.VBComponents
如果vbCmp。鍵入vbext_ct_MSForm,然后鍵入vbCmp
下一個(gè)vbCmp
末端接頭
相關(guān):
工作表和ThisWorkbook的模塊類(lèi)型是vbext_ct_document100。
第三,增加代碼
1.在中插入代碼模塊1"
如果你需要在"第一張和第二張,"這個(gè)工作簿"or"用戶(hù)表單",只需更改以下"模塊1"到相應(yīng)的名稱(chēng)。
方法1:
在模塊的開(kāi)頭添加代碼,將添加的代碼放在公共聲明選項(xiàng)、全局變量等之后。
子添加代碼1()
thishworkbook.VBproject.VBcomponents(#34模塊1#34)_
#34subaTest()#34安培Chr(10)安培_
#34msgbox#34#34Hello#34#34#34安培Chr(10)amp_
#34末端接頭#34
末端接頭
方法二:
在模塊的指定行添加代碼,原代碼將被移回。添加代碼以忽略和判斷在插入點(diǎn)斷開(kāi)代碼內(nèi)容。當(dāng)指定的行號(hào)大于最后一行時(shí),在最后一行后插入。
子添加代碼2()
使用此工作簿。vbproject.vbcomponents(#34模塊1#34)。代碼模塊
。插入行1,#34subaTest()#34
。插入第2行,#34msgbox#34#34hello#34#34#34#34
。插入第3行,34號(hào)和34號(hào)末端接頭
以…結(jié)尾
末端接頭
相關(guān)聲明:
(1)模塊1中代碼行的總數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
(2)模塊1中代碼的公共聲明部分的行數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
(3)顯示從第一行開(kāi)始的三行代碼模塊1":
子顯示代碼()
Dims$美元
thisworkbook.VBproject.VBcomponents(#34模塊1#34)(1,3)
s
末端接頭
(4)過(guò)程測(cè)試的初始行數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)(#34測(cè)試#34,vbext_PK_proc)
thishworkbook.VBproject.VBcomponents(#34模塊1#34)(#34測(cè)試#34,0)
系統(tǒng)常數(shù)vbext_pk_Proc0
兩者的區(qū)別在于,ProcBodyLine返回subatete或函數(shù)aTest的行號(hào),如果sub前面有空行,ProcStartLine返回空行的行號(hào)。
(5)流程測(cè)試的銀行總數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)(#34測(cè)試#34,vbext_PK_proc)
2.建立事件流程
除了上面的代碼,比如下面的AddEventsCode1,還可以使用CreateEventProc方法,如AddEventsCode2所示。
一般方法:
SubAddEventsCode1()
此工作簿。VBProject.VBComponents(#34本工作手冊(cè)#34)_
#34私有子工作簿_Open()#34ampChr(13)amp_
#34MsgBox#34#34Hello#34#34#34安培Chr(13)amp_
#34末端接頭#34
末端接頭
#39CreateEventProc方法:
SubAddEventsCode2()
維度i%
使用此工作簿。VBproject.VBcomponents(#34sheet1#34)。代碼模塊
一、CreateEventProc(#34selectionchange#34、#34Worksheet#34)1
。插入線(xiàn)路I,#34msgbox#34#34hello#34#34#34#34
以…結(jié)尾
末端接頭
CreateEventProc的上述兩個(gè)參數(shù)建立的事件流程是Worksheet_SelectionChange,也就是下劃線(xiàn)兩邊的內(nèi)容。
相關(guān):
測(cè)試是否有SelectionChange事件。
以下函數(shù)測(cè)試模塊modulname是否有過(guò)程subname。如果是,則返回起始行號(hào);否則,它返回0。
hassub(#34worksheet_selectionchange#34、#34Sheet1#34)
函數(shù)的長(zhǎng)度為Sub(ByValsubname為字符串,ByValmodulname為字符串)
出錯(cuò)時(shí)繼續(xù)下一步
昏暗的燈
我看了這本練習(xí)冊(cè)。VBproject.VBcomponents(modulename)(subname,0)
如果是35歲
HasSub0
其他
哈蘇布島
如果…就會(huì)結(jié)束
結(jié)束功能
如果存在,則返回起始行號(hào),否則返回0。
第四,刪除代碼
1.刪除Sheet1中第二行的三行代碼:
如果只刪除了一行代碼,那么可以省略第二個(gè)參數(shù)。
子代碼()
此工作簿。VBproject.VBcomponents(#34sheet1#34)2,3
末端接頭
2.刪除amp的所有代碼模塊1":
子代碼s()
使用此工作簿。vbproject.vbcompon:。
子代碼()
使用此工作簿。vbproject.vbcomponents(#34模塊1#34)。代碼模塊
。刪除行。ProcStartLine(#34aTest#34,0)。ProcCountLines(#34aTest#34,0)
以…結(jié)尾
末端接頭
4.替換amp的第五行代碼模塊1"與"x3"
此工作簿。vbproject.vbcompon:windowssystem32asctrls.ocx#34
2.取消參考
(#34as控件#34)
這里ASControls是引用的名稱(chēng),即下面的。
3.顯示所有當(dāng)前引用。
子顯示引用()
變暗射頻組件
對(duì)于每個(gè)射頻輸入
,rf。完整路徑
然后
末端接頭
不及物動(dòng)詞信任和密碼
所有上述操作都基于以下前提:
(1)EXCEL已經(jīng)設(shè)置:
工具(T)-宏(M)-安全(M)-可靠的出版商(T)-"信任訪(fǎng)問(wèn)VB項(xiàng)目(五)"已檢查。
(2)項(xiàng)目沒(méi)有設(shè)置密碼。
如果你能如果不能滿(mǎn)足其中任何一個(gè),代碼就會(huì)出錯(cuò)。因?yàn)槲④洓](méi)有。;不要我們操作VBProject,我們不要。;我不知道這個(gè)操作的直接方法藏在哪里。好在在關(guān)閉正門(mén)的同時(shí),微軟還是給我們留了一扇門(mén):SendKeys。借助這個(gè)后門(mén)和"錯(cuò)誤陷阱",我們還是可以完成自己想做的事情。
下面是繞過(guò)這兩扇門(mén)的示意圖代碼。如果你想運(yùn)行它們,請(qǐng)記得切換回EXCEL的主界面,而不是直接在VBE中運(yùn)行。
1.信任對(duì)VB項(xiàng)目的訪(fǎng)問(wèn)
SubSetAllowableVbe()
出錯(cuò)時(shí)繼續(xù)下一步
DimChgset為布爾值
#39陷阱測(cè)試在這里沒(méi)有實(shí)際意義。
如果1004那么#34%TMS%T%V{ENTER}#34
ChgsetTrue
多項(xiàng)活動(dòng)
如果…就會(huì)結(jié)束
#39要執(zhí)行的操作....
#39.....
#39操作完成后,恢復(fù)操作前的狀態(tài)
如果Chgset,則#34%TMS%T%V{ENTER}#34
末端接頭
2.操作密碼項(xiàng)目
SubAllowPass()
Dimpw$
密碼34
如果vbext_pp_locked,則
(1).控制(#34工具(T)#34)??丶?#34v項(xiàng)目屬性(ampE)...#34)執(zhí)行。
{ENTER}{ENTER}#34
多項(xiàng)活動(dòng)
如果…就會(huì)結(jié)束
#39要執(zhí)行的操作...
#39.....
末端接頭
Protection屬性返回項(xiàng)目的受保護(hù)狀態(tài),vbext_pp_lock
Project文件中的橫道圖怎么添加文字?
1.雙擊任務(wù)名稱(chēng)以打開(kāi)對(duì)話(huà)框,并選擇“注釋”選項(xiàng)卡以輸入注釋。
2.雙擊該任務(wù)對(duì)應(yīng)的右交叉圖,彈出框?qū)R,選擇條形圖文本頁(yè)簽。
3.選擇左側(cè)或右側(cè)或其他位置,單擊右側(cè)的下拉框,選擇注釋?zhuān)缓蟠_認(rèn)。