Private Sub Workbook_Open()
Dim MyDiskCode
Set MyDiskCode = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
For Each mo In MyDiskCode
MyNewCode = mo.Model
Next
If (MyNewCode <> Trim(Sheet1.Cells(1, 1).Value)) Then
ThisWorkbook.Close
End If
End Sub
中如何理解
Dim MyDiskCode
Set MyDiskCode = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
For Each mo In MyDiskCode
MyNewCode = mo.Model
这部分语句是什么意思?
这个代码不能说是静止复制工作簿,工作簿是可以复制的,只是复制到其他电脑上之后如果启用了宏就无法打开而已!
Dim MyDiskCode
Set MyDiskCode = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
For Each mo In MyDiskCode
MyNewCode = mo.Model
这部分语句是获取电脑的硬盘的型号,并通过MyNewCode <> Trim(Sheet1.Cells(1, 1).Value)来限制在特定的电脑上才能使用该工作簿!即预先将已知的电脑硬盘型号放在了sheet1的A1单元格中,当打开工作簿时检查硬盘型号是否等于A1的预设值,从而达到使该工作簿在特定电脑上使用的效果!
这个代码不能说是静止复制工作簿,工作簿是可以复制的,只是复制到其他电脑上之后如果启用了宏就无法打开而已!
Dim MyDiskCode
Set MyDiskCode = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
For Each mo In MyDiskCode
MyNewCode = mo.Model
这部分语句是获取电脑的硬盘的型号,并通过MyNewCode <> Trim(Sheet1.Cells(1, 1).Value)来限制在特定的电脑上才能使用该工作簿!即预先将已知的电脑硬盘型号放在了sheet1的A1单元格中,当打开工作簿时检查硬盘型号是否等于A1的预设值,从而达到使该工作簿在特定电脑上使用的效果!