乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VBA</em>,怎么用代码删除 thisworkbook 里面的代码...

<em>VBA</em>,怎么用代码删除 thisworkbook 里面的代码...

作者:乔山办公网日期:

返回目录:excel表格制作


进入VBA,双击thisworkbook对象,复制以下代码:

Private Sub Workbook_Open()

Dim Sht As Worksheet, PW As String

'利用循环语句将除了Sheet1外的所有工作表隐藏,这样防止有人通过禁用VBA来绕过验证7a64e59b9ee7ad94333程序而看到文件,Sheet1为一个空的工作表

For Each Sht In ThisWorkbook.Worksheets

If Sht.Name <> "Sheet1" Then Sht.Visible = xlSheetHidden

Next

'以下开始验证

PW = InputBox("请输入创建人身份证号:", "登录验证")

If PW <> "XXXXXXXXXXXXXXXXXX" Then

'复制以上代码后,请用实际的身份证号替代上面的XXXXXXXXXXXXXXXXXX

ThisWorkbook.Close SaveChanges:=False '如果输入不符,就退出工作薄

Else

'如果输入相符,就恢复被隐藏工作表的全部显示

For Each Sht In ThisWorkbook.Worksheets

Sht.Visible = xlSheetVisible

Next

End If

End Sub

结果如下图:



语句可以zd写,不过一般都会失败,因为默认是不允许访问VBA对象的,示例代码:

Set Wb = Nothing
MyPth = "xxx.xls"
Set Wb = GetObject(MyPth)
With Wb.VBProject.VBComponents.Item("ThisWorkbook").CodeModule
    .DeleteLines 1, .CountOfLines
End With
Wb.Close True

这个只能用VBA的

给你个例子吧,注意需要在Workbook Open、Sheet selectionchange 、Sheet Change三处使用代码



只要你对文件具有编辑权限就不存在你以什么方式登陆电脑的问题。
编辑权限都有什么权限?读,写/改写,遍历文件列表,不具有删除,完全控制等权限。
这些对你的文件起不到做用。
所以A区B区已破。
再说模块和ThisWorkbook。

我自己在编写代码时,时常会放到ThisWorkbook里面e799bee5baa6e997aee7ad94e58685e5aeb9333
标准模块,也就是我们利用“插入-
模块”得到的“模块1”,“模块2”,这些标准模块除了auto_open等一些自动事件之外,没有自己独特的方法和事件。在标准模块中声明的Public公有变量,公有过程可以直接被其他所有模块访问和调用。
比如,我有一个代码是处理sheet1表里面的数据,那么这个代码就直接可以放在sheet1模块中即可。而我有一个代码要用到Workbook_open这样的事件,那么这个事件肯定要放在Thisworkbook模块中。所以代码在什么模块中写,就在于你需要用什么方法和事件。
通常,一些公共的方法我们可以放在标准模块中。自定义函数必须放在标准模块中。
所以你问题的内容具体是放在哪里都可以,不是必须的,所以模块和ThisWorkbook的问题已破。
所以你猜想的问题,不好意思全都没中。
根据你的所说分析,应该是此电脑本身的宏安全权限有关,你可以从这方面入手。
毕竟我没有你的环境,测试起来有难度。

相关阅读

关键词不能为空
极力推荐

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网