大家好,欢迎来到IT知识分享网。
WPS VBA代码:两段代码将工作簿保护起来,再设置下图的保护就更完美了。
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim 所有表格 As Worksheet Sheets("保护").Visible = xlSheetVisible ' 将名为"保护"的工作表设置为可见 ' 遍历工作簿中的所有工作表 For Each 所有表格 In Worksheets If 所有表格.Name <> "保护" Then ' 如果工作表的名称不是"保护",则将其设置为非常隐藏 所有表格.Visible = xlSheetVeryHidden End If Next 所有表格 ThisWorkbook.ReadOnlyRecommended = True ' 将当前工作簿的ReadOnlyRecommended属性设置为True为只读状态,False为不设置只读状态 ThisWorkbook.Save ' 保存工作簿 End Sub Private Sub Workbook_Open() Dim MyMac As Object Dim MyMacAddress As Object Dim 网卡 As String Dim i As Integer Dim 所有表格 As Worksheet ' 获取网络适配器配置 Set MyMac = GetObject("winmgmts:\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE") ' 遍历所有网络适配器,找到第一个启用的适配器并获取其MAC地址 For Each MyMacAddress In MyMac 网卡 = MyMacAddress.MacAddress Exit For ' 找到第一个启用的适配器后就退出循环 Next ' 遍历工作表"sheet3"中的列"Z"的前10个单元格,检查MAC地址是否匹配 For i = 1 To 10 If Sheets("sheet3").Range("Z" & i).Value = 网卡 Then MsgBox "通过" ' 如果匹配,则显示所有非"保护"工作表,并隐藏"保护"工作表 For Each 所有表格 In Worksheets If 所有表格.Name <> "保护" Then 所有表格.Visible = True Sheets("保护").Visible = xlSheetVeryHidden End If Next 所有表格 Exit Sub End If Next i ' 如果没有找到匹配项,则显示消息框,并设置工作表可见性 MsgBox "不通过" Sheets("保护").Visible = True For Each 所有表格 In Worksheets If 所有表格.Name <> "保护" Then 所有表格.Visible = xlSheetVeryHidden End If Next 所有表格 ActiveWorkbook.Close SaveChanges:=False ' 关闭工作簿而不保存更改 End Sub
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/92572.html