怎样使用VBA只有本电脑方可打开本工作簿?
1、首先在开发工具中打开VBA编辑器

2、在单元格区域当中输入一些内容作为例子

3、在VBA编辑器中插入模块

4、在模块当中输入如下代码,然后运行
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'将窗口调整为正常状态,然后将之大小设置为极度小,使之无法显示表中内容
With ActiveWindow
.WindowState=xlNormal
.Top=348 '上边距
.Left=3 '左边距
.Width=90 '宽度
.Height=49 '高度
End With
'用密码123保护窗口及结构
ActiveWorkbook.Protect "123", Structure:=True, Windows:=True
ThisWorkbook.Close savechanges:=True '保存工作簿
End Sub
Private Sub Workbook_Open() '限制只有andysky才能开启此工作簿,其他人打开则自杀
Application.EnableCancelKey=xlDisabled '此句表示禁用Ctre+Break中断代码执行
Set objWMIService=GetObject("winmgmts:\\.\root\cimv2")
Set colDevices=objWMIService.ExecQuery("Select * From Win32_Processor")
For Each objDevice In colDevices
ID=objDevice.ProcessorID
Next
If ID <> "BFEBFBFF00000F29" Then
'如果CPU序列号不是BFEBFBFF00000F29。此号是我的CPU号,每台电脑不同
ThisWorkbook.Close savechanges:=False '关闭工作簿且不保存
Else '否则
ActiveWorkbook.Unprotect "123" '解密码
ActiveWindow.WindowState=xlMaximized '窗体最大化
MsgBox 11
End If
End Sub

5、重启工作簿,如果开启本工作簿不是在原电脑上进行,则工作簿自动关闭;若禁用宏再开启工作簿,则工作簿缩小至左下角,无法查看其内容

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:175
阅读量:146
阅读量:33
阅读量:21
阅读量:102