Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2123|回复: 7

[已解决]关于VBA中的静止复制工作薄的语句

[复制链接]
发表于 2016-6-12 16:12 | 显示全部楼层 |阅读模式
    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
这部分语句是什么意思?




最佳答案
2016-6-12 16:29
这个代码不能说是静止复制工作簿,工作簿是可以复制的,只是复制到其他电脑上之后如果启用了宏就无法打开而已!
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的预设值,从而达到使该工作簿在特定电脑上使用的效果!
发表于 2016-6-12 16:29 | 显示全部楼层    本楼为最佳答案   
这个代码不能说是静止复制工作簿,工作簿是可以复制的,只是复制到其他电脑上之后如果启用了宏就无法打开而已!
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的预设值,从而达到使该工作簿在特定电脑上使用的效果!
回复

使用道具 举报

 楼主| 发表于 2016-6-12 17:13 | 显示全部楼层
老司机带带我 发表于 2016-6-12 16:29
这个代码不能说是静止复制工作簿,工作簿是可以复制的,只是复制到其他电脑上之后如果启用了宏就无法打开而 ...

谢谢  在接着问一下,为什么我在本机的工作薄里面可以运行程序,但将该程序拷贝至其他的工作薄后显示  编译 “ 找不到工程或库”
回复

使用道具 举报

发表于 2016-6-12 17:14 | 显示全部楼层
看一下原来工作簿的引用和新工作簿的引用是否一样!
回复

使用道具 举报

 楼主| 发表于 2016-6-12 18:00 | 显示全部楼层
老司机带带我 发表于 2016-6-12 17:14
看一下原来工作簿的引用和新工作簿的引用是否一样!

非常感谢,已解决
回复

使用道具 举报

 楼主| 发表于 2016-6-12 18:07 | 显示全部楼层
老司机带带我 发表于 2016-6-12 17:14
看一下原来工作簿的引用和新工作簿的引用是否一样!

你好,想在问问一下如果是64位的电脑那该怎么改以上程序呢?谢谢!
回复

使用道具 举报

发表于 2016-6-12 19:33 | 显示全部楼层
fuxuanbo 发表于 2016-6-12 18:07
你好,想在问问一下如果是64位的电脑那该怎么改以上程序呢?谢谢!

我64位系统上运行没问题啊!
回复

使用道具 举报

 楼主| 发表于 2017-6-16 10:41 | 显示全部楼层
老司机带带我 发表于 2016-6-12 19:33
我64位系统上运行没问题啊!

谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 20:44 , Processed in 0.489996 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表