Excelmacros更新macros

我有一个场景。 我正在使用一组excel文件进​​行报告。 所有这些excel都启用了macros,并具有连接到服务器的“login”function。 为了解决安全问题,我们必须更新“login”function。 有没有办法编写一个macros来replace这个excel文件中的这个函数? 基本上是一个macros来更新macros!

启用macros安全选项:

在这里输入图像说明

那么你需要这样的代码:

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 

过去我也有类似的问题。 基本上需要在所有用户使用新费率时更新function。

我的解决scheme是使用.xlam文件,当用户重新启动计算机时基本上推送更新。

如果您没有多个用户,只需在“PERSONAL.XLSB”中有一个macros模块,只需要更新该macros,然后在每个工作簿上工作。