首先,添加模块
1.添加一个名为"我的模块和
(vbext_ct_stdmodule)。名称#34我的模块#34
系统常数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中代码行的总数:
thishworkbook.vbproject.vbcomponents(#34模块1#34)
(2)模块1中代码的公共声明部分的行数:
thishworkbook.vbproject.vbcomponents(#34模块1#34)
(3)显示从第一行开始的三行代码模块1":
子显示代码()
dims$美元
thisworkbook.vbproject.vbcomponents(#34模块1#34)(1,3)
s
末端接头
(4)过程测试的初始行数:
thishworkbook.vbproject.vbcomponents(#34模块1#34)(#34测试#34,vbext_pk_proc)
thishworkbook.vbproject.vbcomponents(#34模块1#34)(#34测试#34,0)
系统常数vbext_pk_proc0
两者的区别在于,procbodyline返回subatete或函数atest的行号,如果sub前面有空行,procstartline返回空行的行号。
(5)流程测试的银行总数:
thishworkbook.vbproject.vbcomponents(#34模块1#34)(#34测试#34,vbext_pk_proc)
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的上述两个参数建立的事件流程是worksheet_selectionchange,也就是下划线两边的内容。
相关:
测试是否有selectionchange事件。
以下函数测试模块modulname是否有过程subname。如果是,则返回起始行号;否则,它返回0。
hassub(#34worksheet_selectionchange#34、#34sheet1#34)
函数的长度为sub(byvalsubname为字符串,byvalmodulname为字符串)
出错时继续下一步
昏暗的灯
我看了这本练习册。vbproject.vbcomponents(modulename)(subname,0)
如果是35岁
hassub0
其他
哈苏布岛
如果…就会结束
结束功能
如果存在,则返回起始行号,否则返回0。
第四,删除代码
1.删除sheet1中第二行的三行代码:
如果只删除了一行代码,那么可以省略第二个参数。
子代码()
此工作簿。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)
以…结尾
末端接头
4.替换amp的第五行代码模块1"与"x3"
此工作簿。vbproject.vbcompon:windowssystem32asctrls.ocx#34
2.取消参考
(#34as控件#34)
这里ascontrols是引用的名称,即下面的。
3.显示所有当前引用。
子显示引用()
变暗射频组件
对于每个射频输入
,rf。完整路径
然后
末端接头
不及物动词信任和密码
所有上述操作都基于以下前提:
(1)excel已经设置:
工具(t)-宏(m)-安全(m)-可靠的出版商(t)-"信任访问vb项目(五)"已检查。
(2)项目没有设置密码。
如果你能如果不能满足其中任何一个,代码就会出错。因为微软没有。;不要我们操作vbproject,我们不要。;我不知道这个操作的直接方法藏在哪里。好在在关闭正门的同时,微软还是给我们留了一扇门:sendkeys。借助这个后门和"错误陷阱",我们还是可以完成自己想做的事情。
下面是绕过这两扇门的示意图代码。如果你想运行它们,请记得切换回excel的主界面,而不是直接在vbe中运行。
1.信任对vb项目的访问
subsetallowablevbe()
出错时继续下一步
dimchgset为布尔值
#39陷阱测试在这里没有实际意义。
如果1004那么#34%tms%t%v{enter}#34
chgsettrue
多项活动
如果…就会结束
#39要执行的操作....
#39.....
#39操作完成后,恢复操作前的状态
如果chgset,则#34%tms%t%v{enter}#34
末端接头
2.操作密码项目
suballowpass()
dimpw$
密码34
如果vbext_pp_locked,则
(1).控制(#34工具(t)#34)。控件(#34v项目属性(ampe)...#34)执行。
{enter}{enter}#34
多项活动
如果…就会结束
#39要执行的操作...
#39.....
末端接头
protection属性返回项目的受保护状态,vbext_pp_lock
1.双击任务名称以打开对话框,并选择“注释”选项卡以输入注释。
2.双击该任务对应的右交叉图,弹出框对齐,选择条形图文本页签。
3.选择左侧或右侧或其他位置,单击右侧的下拉框,选择注释,然后确认。