如果有人正在搜索此表单,寻找如何实现此目的的想法,我将采取以下措施确保每个人都在运行最新的代码(此代码正在Excel中使用)
创建一个简单的Excel加载项,该加载项包含从标准位置(我在共享网络文件夹中)将模块加载到vba的代码 ;加载项永远不会更改,因此适合每个人加载到Excel副本中 ;这是我为插件编写的代码 ;它位于;本手册“;章节:
- Private Sub app_WorkbookActivate(ByVal Wb As Workbook)
- 'Register the ###### Macros
- Debug.Print "Registering ###### Macros"
- Call RegisterMacros
- End Sub
- Private Sub Workbook_Open()
- On Error Resume Next
- Application.EnableEvents = True
- Set app = Application
- 'Remove ######Functions
- Set mf = Application.VBE.VBProjects("*your addin name*").VBComponents.Item("*your module file name*")
- Application.VBE.VBProjects("*your addin name*").VBComponents.Item("*your module file name*").Name = "*your module file name*remove"
- Application.VBE.VBProjects("*your addin name*").VBComponents.Remove mf
- 'Add ######Functions from network
- Application.VBE.VBProjects("*your addin name*").VBComponents.Import "*your file location here\*your module file name*.bas"
- End Sub
使用此代码,每当打开Excel时,它都会重命名并删除模块(如果存在) ;然后将模块导入VBA ;app_WorkbookActivate事件调用我模块中的一个函数,该函数注册我用Excel编写的所有宏(因此所有用户定义的函数都存储在“UserFunctions”下,而不是存储在自定义文件夹中)
It';这一切都很简单,但在过去的10年里,它一直对我有效 ;唯一需要记住的是,如果您对模块进行任何更改并保存,您需要;“出口”;模块 ;如果你不';t、 您保存的更改将; 如果你不';t、 下次启动Excel时,您保存的更改将被保存的模块覆盖。 |