我有一个场景。我正在使用一组excel文件进行报告。所有这些excel都是宏启用的,并具有连接到服务器的“登录”功能。要解决安全问题,我们必须更新“登录”功能。 有没有办法在所有这样的excel文件中编写一个宏来替换这个函数?基本上是宏来更新宏!!
答案 0 :(得分:1)
启用宏安全选项:
然后你需要这样的代码:
Sub AddMacro()
Dim xlbook As Workbook
Set xlbook = ActiveWorkbook 'Assign workbook to have macro added here
Dim xlmodule As Object
Set xlmodule = xlbook.VBProject.VBComponents.Add(1)
Dim strCode As String
strCode = _
"Function MyFunction()" & vbCr & _
"'some function code here" & vbCr & _
"End Function"
xlmodule.CodeModule.AddFromString strCode
End Sub
答案 1 :(得分:0)
过去我遇到过类似的问题。基本上需要在新费率进入时向所有用户更新功能。
我的解决方案是使用.xlam文件,基本上在用户重启计算机时推送更新。
如果您没有多个用户,只需在宏中将模块放在" PERSONAL.XLSB"中,就只需要更新该宏,然后该宏将适用于每个工作簿。