如何隱藏Excelvba宏名?
有兩種方法可以隱藏:。
1.按atlf11進入宏編輯窗口,查找工具,vbaproject屬性,保護選項卡,設置密碼。這樣其他人就可以。;我看不到你寫的宏代碼。您可以隨意修改宏名。
2.1.單擊"開發(fā)工具"菜單在頂部。
2.將宏名設置為隱藏數(shù)據(jù)列,然后單擊確定。
3.右鍵單擊該列,然后選擇隱藏數(shù)據(jù)列。
4.單擊"查看代碼和按鈕查看錄制的vba宏代碼。
vba窗體操作代碼?
首先,添加模塊
1.添加一個名為"我的模塊和
(vbext_ct_StdModule)。名稱#34我的模塊#34
系統(tǒng)常數(shù)vbext_ct_StdModule1
2.添加一個名為"我的班級
(vbext_ct_ClassModule)。我的班級
vbext_ct_ClassModule2
3.添加一個名為"我的表格和
(vbext_ct_MSForm)。姓名#34我的表格#34
vbext_ct_MSForm3
第二,刪除模塊
1.刪除"模塊1"
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
2.刪除表單"用戶表單"
此工作簿。VBproject.VBcomponents(#34userform1#34)
3.刪除類模塊"1級"
thishworkbook.VBproject.VBcomponents(#34class1#34)
4.刪除所有表單
子RmvForms()
將vbCmp作為VBComponent變暗
對于此工作簿中的每個vbCmp。VBProject.VBComponents
如果vbCmp。鍵入vbext_ct_MSForm,然后鍵入vbCmp
下一個vbCmp
末端接頭
相關:
工作表和ThisWorkbook的模塊類型是vbext_ct_document100。
第三,增加代碼
1.在中插入代碼模塊1"
如果你需要在"第一張和第二張,"這個工作簿"or"用戶表單",只需更改以下"模塊1"到相應的名稱。
方法1:
在模塊的開頭添加代碼,并將添加的代碼放在公共聲明選項全局變量中。在后面等著。
子添加代碼1()
thishworkbook.VBproject.VBcomponents(#34模塊1#34)_
#34subaTest()#34安培Chr(10)安培_
#34msgbox#34#34Hello#34#34#34安培Chr(10)amp_
#34末端接頭#34
末端接頭
方法二:
在模塊的指定行添加代碼,原代碼將被移回。添加代碼忽略和判斷插入代碼的內容。當指定的行號大于最后一行時,在最后一行后插入。
子添加代碼2()
使用此工作簿。vbproject.vbcomponents(#34模塊1#34)。代碼模塊
。插入行1,#34subaTest()#34
。插入第2行,#34msgbox#34#34hello#34#34#34#34
。插入第3行,34號和34號末端接頭
以…結尾
末端接頭
相關聲明:
(1)模塊1中代碼行的總數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
(2)模塊1中代碼的公共聲明部分的行數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)
(3)顯示從第一行開始的三行代碼模塊1":
子顯示代碼()
Dims$美元
thisworkbook.VBproject.VBcomponents(#34模塊1#34)(1,3)
s
末端接頭
(4)過程測試的初始行數(shù):
thishworkbook.VBproject.VBcomponents(#34模塊1#34)(#34測試#34,vbext_PK_proc)
thishworkbook.VBproject.VBcomponents(#34模塊1#34)(#34測試#34,0)
系統(tǒng)常數(shù)vbext_pk_Proc0
兩者的區(qū)別在于,ProcBodyLine返回subatete或函數(shù)aTest的行號,如果sub前面有空行,ProcStartLine返回空行的行號。
(5)流程測試的銀行總數(shù):
此工作簿。動詞項目。VBComponents(#34模塊1#34)
2.建立事件流程
除了上面的代碼,比如下面的AddEventsCode1,還可以使用CreateEventProc方法,如AddEventsCode2所示。
一般方法:
SubAddEventsCode1()
此工作簿。VBproject.VBcomponents(#34本工作手冊#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
。插入線路I,#34msgbox#34#34hello#34#34#34#34
以…結尾
末端接頭
CreateEventProc的上述兩個參數(shù)建立的事件流程是Worksheet_SelectionChange,也就是下劃線兩邊的內容。
相關:
測試是否有SelectionChange事件。
以下函數(shù)測試模塊modulname是否有過程subname。如果是,則返回起始行號;否則,它返回0。
hassub(#34worksheet_selectionchange#34、#34Sheet1#34)
函數(shù)的長度為Sub(ByValsubname為字符串,ByValmodulname為字符串)
出錯時繼續(xù)下一步
昏暗的燈
我看了這本練習冊。VBproject.VBcomponents(modulename)(subname,0)
如果是35歲
HasSub0其他
哈蘇布島
如果…就會結束
結束功能
如果存在,則返回起始行號,否則返回0。
第四,刪除代碼
1.刪除Sheet1中第二行的三行代碼:
如果只刪除了一行代碼,那么可以省略第二個參數(shù)。
子代碼()
此工作簿。VBproject.VBcomponents(#34sheet1#34)2,3
末端接頭
2.刪除amp的所有代碼模塊1":
子代碼()
使用此工作簿。vbproject.vbcompon:。
子代碼()
使用此工作簿。vbproject.vbcomponents(#34模塊1#34)。代碼模塊
。刪除行。ProcStartLine(#34aTest#34,0)。ProcCountLines(#34aTest#34,0)
以…結尾
末端接頭
4.替換amp的第五行代碼模塊1"與"x3"
此工作簿。vbproject.vbcompon:windowssystem32asctrls.ocx#34
2.取消參考
(#34as控件#34)
這里ASControls是引用的名稱,即下面的。
3.顯示所有當前引用。
子顯示引用()
變暗射頻組件
對于每個射頻輸入
,rf。完整路徑
然后
末端接頭
不及物動詞信任和密碼
所有上述操作都基于以下前提:
(1)EXCEL已經設置:
工具(T)-宏(M)-安全(M)-可靠的出版商(T)-"信任訪問VB項目(五)"已檢查。
(2)項目沒有設置密碼。
如果你能如果不能滿足其中任何一個,代碼就會出錯。因為微軟沒有。;不要我們操作VBProject,我們不要。;我不知道這個操作的直接方法藏在哪里。好在在關閉正門的同時,微軟還是給我們留了一個。門:在這個后門和"錯誤陷阱",我們還是可以完成自己想做的事情。
下面是繞過這兩扇門的示意圖代碼。如果你想運行它們,請記得切換回EXCEL的主界面,而不是直接在VBE中運行。
1.信任對VB項目的訪問
SubSetAllowableVbe()
出錯時繼續(xù)下一步
DimChgset為布爾值
#39陷阱測試在這里沒有實際意義。
如果1004那么
#34%TMS%T%V{ENTER}#34
ChgsetTrue
多項活動
如果…就會結束
#39要執(zhí)行的操作....
#39.....
#39操作完成后,恢復操作前的狀態(tài)
如果Chgset,則#34%TMS%T%V{ENTER}#34
末端接頭
2.操作密碼項目
SubAllowPass()
Dimpw$
密碼34
如果vbext_pp_locked,則
(1).控制(#34工具(T)#34)。控件(#34v項目屬性(ampE)...#34)執(zhí)行。
{ENTER}{ENTER}#34
多項活動
如果…就會結束
#39要執(zhí)行的操作...
#39.....
末端接頭
Protection屬性返回項目的受保護狀態(tài),vbext_pp_locked(1)表示受保護,vbext_pp_none(0)表示不受保護。