如何实现打开新EXCEL表自动加载自己编写的宏

如题所述

依次点击工具-》加载宏-》浏览,选中加载宏,并勾选该加载宏,点击确定,以后每次打开Excel,都会加载该宏。
也可使用代码:
Sub DynamicAddin()
Dim strFilename As String
Dim addX As AddIn
Dim strAddInName As String
On Error Resume Next
strAddInName = "12345"
strFilename = ThisWorkbook.Path & "\" & strAddInName & ".xls"
'尝试返回对加载宏的引用
Set addX = Application.AddIns(strAddInName)
If Err <> 0 Then
Err.Clear
' 如果加载宏不在集合中,则添加它
Set addX = Application.AddIns.Add(strFilename)
If Err <> 0 Then
' 如果发生错误,则退出过程
MsgBox "没有找到加载宏文档"
Exit Sub
End If
End If
' 加载加载宏
If Not addX.Installed Then addX.Installed = True
'调用加载宏中的过程
'其它代码
'...
'调用完成后卸载加载宏
End Sub

Private Sub Workbook_Open()
DynamicAddin
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-29
VBA中事件分为三种:工作簿事件,工作表事件,窗体、控件事件。

工作簿事件发生在特定的工作簿中,如Open(打开工作簿)、BeforeClose(关闭工作簿之前)和SheetActive(激活任何一张表)等。工作簿事件的代码必须在Thiswork对象代码模块中编写。
工作表事件发生在特定的工作表中,如activate(激活工作表)、change(更改工作表中的单元格)和SelectionChange(工作表上的选定区域发生改变)等。工作表事件的代码必须在对应工作表的代码模块中编写。
新建的用户窗体及窗体上的控件可以响应很多事件,如Click(单击)、Change(控件内容更改)等,这类事件的代码必须编在相应的用户窗体代码模块中。
第2个回答  2017-08-29
还是租户背包袱摘掉地方豆腐干
相似回答