设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 10179|回复: 16
打印 上一主题 下一主题

[其它] 怎样才能让EXCEL文档只能在特定的计算机打开

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-19 10:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手请教:
公司办公用的文档,为了防止被拷贝,所以希望当EXCEL文档只能在指定的计算机上打开,在其它计算机上打不开,该怎样写代码?请大家给予指点,先谢了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享1 分享淘帖 订阅订阅
2#
发表于 2011-5-19 11:02:16 | 只看该作者
excel比较少用,你可以给Excel加密.
3#
 楼主| 发表于 2011-5-19 11:21:40 | 只看该作者
回复 hjb016 的帖子

因为这个文档会有多个人用到,所以加密也没用,用的人肯定有密码,打开之后就可以取消密码或创建无密码的副本。但还是谢谢你。

点击这里给我发消息

4#
发表于 2011-5-19 11:54:56 | 只看该作者
写代码用什么用呢?别人打开时禁用宏好了,还不如把后缀名给去掉,再取个古怪点的名字,让别人一看就以为是病毒不敢打开。
5#
 楼主| 发表于 2011-5-19 12:04:10 | 只看该作者
回复 pureshadow 的帖子

我的想法是打开时用代码自动判断当前计算机名是不是指定的计算机,符合的话就打开文档,不符合就自动关闭文档。但是我不知道怎样写获取当前计算机名的代码。
6#
发表于 2011-5-19 17:06:09 | 只看该作者
可以测试同目录下有没有指定的文件,若有,则打开,则反之。也是一个思路,不过EXCEL安全性比较脆弱。
7#
发表于 2011-5-20 11:38:46 | 只看该作者
看样子,非要Roy出手不可了~~~(*^__^*) 嘻嘻……
一般来说,思路如下:
1、非要对方启用宏(如果禁用了,神马都是浮云)。因此需要写一个Excel 4.0的宏命令来处理。在此感谢百度文库的网友提供的程序(原教程应该是源于ExcelHome的一本电子书)!
2、启用宏之后,开始执行过程,获取电脑名,符合的就打开,不符合的则关闭。
获取电脑名的代码可以这样写(API函数没试过,貌似不能直接在Excel里直接运行):
  1. Sub test()
  2. Dim wshnetwork, info As String
  3. Set wshnetwork = CreateObject("WScript.Network")
  4. 'If wshnetwork.computername <> "2LXPDH-ROYCH" Then '这一行改为您的文件名
  5. 'ThisWorkbook.Close
  6. 'End If
  7. End Sub
复制代码
此外,写一个过程来隐藏宏程序会更好些。废话少说,详见附件(当然这也只是防君子不防小人的做法啦,如果真的有心破解的话,总有高手能完成的)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

学习了,这程序很有用  发表于 2011-5-23 13:19
8#
 楼主| 发表于 2011-5-22 20:33:56 | 只看该作者
谢谢
9#
发表于 2011-5-28 13:02:46 | 只看该作者
写的很详细,学习中~~
10#
发表于 2011-5-28 14:06:38 | 只看该作者
高手啊 学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 15:27 , Processed in 0.087964 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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