繁体   English   中英

如何屏蔽excel宏代码

[英]How to mask excel macro code

我在excel宏中存储了以下内容: -

Sub Sales()

Dim StrSQl As String

Con = "Provider=IBMDA400;Data Source=192.168.2.2;User Id=boss;Password=1we56"

Set Db = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.recordset")
Db.connectionSTring = Con
Db.Open
StrSQl = "select myuc, sum (myac) as Amount from myabc.myqwerty where mydt >= 20100101 and mydt <= 20100831 group by (mycl)"
rs.Open StrSQl, Db, 3, 3
Sheet1.Cells(10, 1).CopyFromRecordset rs
rs.Close
Set rs = Nothing
Set cn = Nothing
End Sub

我想掩盖上面的用户名和密码即。 User Id=****;Password=*****作为安全性的一部分。

那可能吗?

您最安全的选项 - 无论用户是否需要输入密码 - 都是为了保护您的整个宏代码

  • 进入Visual Basic编辑器(VBE)
  • 在Project Explorer窗口中选择要保护的项目
  • 正确的cliick然后.... VBAProject属性
  • 单击“保护”选项卡,然后选中“从查看中锁定项目”并验证密码
  • 保存工作簿,关闭它并重新打开它以建立保护

如果没有编写COM插件,这将是安全的,因为您的代码将获得。 请注意,有些产品可以破解 VBA代码

在此输入图像描述

Con = "Provider=IBMDA400;Data Source=192.168.2.2;User Id=boss;Password=1we56"

AARRGGHH! 你在想什么?

这是交易。 没有多少加密可以帮助你在这里,因为,如果Excel本身可以解密数据(它可以,否则连接永远不会),那么恶意类型也可以做到这一点。

正确的方法是向用户询问用户ID和密码,并使用该信息动态构建连接字符串。

这样,敏感信息仅存在于用户的头部并且(暂时)存在于他们正在使用的机器上(无论如何可能是他们的机器)。 它不在任何人都可以使用的Excel电子表格中。

而且,最重要的是,功能ID(在不同用户之间共享)几乎总是一个坏主意,因为它使审计成为一场噩梦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM