tmtony 发表于 2015-4-7 22:30
可用exe 修改注册表
轻风 发表于 2015-4-8 08:26
我想知道你2003版的部分方法是什么?
禁用宏 auto_open
=ERROR(FALSE)
=SET.VALUE($A$35,(GET.DOCUMENT(2)&"\"&GET.WORKBOOK(16)))
=WORKBOOK.HIDE("aaa")
=WORKBOOK.UNHIDE("sheet1")
=WORKBOOK.UNHIDE("sheet2")
=ACTIVATE("sheet3")
=SET.VALUE(A37,GET.WORKBOOK(38))
=RUN("No")
=RETURN()
AUTO_CLOSE
=ERROR(FALSE)
=SET.VALUE(A37,"")
=WORKBOOK.HIDE("aaa")
=WORKBOOK.HIDE("sheet1")
=WORKBOOK.HIDE("sheet2")
=ERROR(FALSE) No =SAVE()
=IF(A35=A36) =ON.KEY("%{f11}","") =RETURN()
=FILE.DELETE($A$35) =ON.KEY("%{f8}","")
=QUIT() =ON.KEY("{esc}","") =ERROR(FALSE)
=RETURN() =ON.KEY("^{BREAK}","") =ALERT("抱歉,你没有权限编辑此宏表,文件将自毁。",3)
=ELSE() =ON.KEY("^{SCROLLLOCK}") =RUN(A18)
=FILE.DELETE(A35) =ON.KEY("%^{q}", "jiashu") =RETURN()
=FILE.DELETE(A36) =RETURN() =ERROR(FALSE)
=QUIT() =IF(A37="sheet3")
=RETURN() WORKBOOK.HIDE("aaa")
=END.IF() =RETURN()
=ELSE()
=ERROR(FALSE) =SET.VALUE($A$36,(GET.DOCUMENT(2)&"\"&GET.WORKBOOK(16)))
=FILE.DELETE(A35) =HIDE()
=QUIT() =IF(ALERT(B36, 1),QUIT(),RUN(A18))
=RETURN() =RETURN()
=END.IF()
C:\Documents and Settings\888\桌面\Book1.xls =END.IF()
"禁用宏就意味着放弃使用本文件,预继续使用請按“確定”重新运行
并启用宏,不使用請按“取消”,本文件将自毁。抱歉!祝你好运!"
Sheet3 ALERT("你用shift组合键禁用了宏,禁用宏就意味着放弃对本文件的使用,抱歉!祝你好运!",2)
lanshijitian 发表于 2015-4-8 09:25
貌似从2007版处于安全考虑就不能直接强制启用VBA了(其他方法还不知道),若采用.exe修改注册表估计会被 ...
思路是:
用一个是vbs文件作为打开你这个excel 的钥匙,你运行一个vbs文件自动强制启用宏打开excel文件了,优点还有就是,可以为excel设置密码,单单打开excel必须输入密码,你要是用钥匙的话,就不需要,起安全保护作用。
步骤:
1.将下面这段代码复制到记事本中。
2.将【我的工作簿.vbs】改成你要生成的vbs的文件名。【我的工作簿.xls】改成你的excel文件名字。【excel密码】改成你的excel'密码,例如123,如果不设密码,直接双引号即可。
3.将记事本保存为vbs文件(直接将TXT改成VBS),一定是vbs图标和txt不一样的。
4.将这个vbs文件和excel文件放在一起,你双击vbs,马上就打开excel了,在将excel'宏安全性设为高级看看,一样有效。
补充:
1.网上可以找一个vbs2exe工具,将vbs生成exe并设置自己独有的图标,然后发送到桌面快捷方式。以后在桌面上双击就可以打开excel了。
2.为了保护数据的安全,可以将加密的excel分发出去,然后给配上这个excel钥匙,没有钥匙的打不开excel有钥匙的才能打开。
3.若部分杀毒软件会报毒,可先在杀毒软件里面设置白名单。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) | Powered by Discuz! X3.3 |