VBA在excel中的自动运行

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:24:24
VBA在excel中的自动运行

写了一个加载宏(search.xla).
如下.
*************************************************
Private Sub Auto_Open()
Dim MacroButton As CommandBarButton
Dim TempButtonForSearch As CommandBarControl
On Error Resume Next

Set TempButtonForSearch = Excel.CommandBars("Tools").FindControl(Type:=msoControlButton, Tag:="Robot")
If TempButtonForSearch Is Nothing Then
Set MacroButton = Excel.CommandBars("Tools").Controls.Add(Type:=msoControlButton, before:=1)
End Sub

Sub Auto_Close()

Set ButtonSearchingForDelete = Excel.CommandBars("tools").FindControl(Type:=msoControlButton, Tag:="Robot")

If Not ButtonSearchingForDelete Is Nothing Then ButtonSearchingForDelete.Delete

End Sub

Private Sub OpenRobot()
On Error Resume Next
SearchWindow.Show
End Sub

***************************************

不是你的代码有问题,如果windows系统是HOME版的则会经常出问题,如果是Professional版的就好了,我已做过多次测试,你试试。

'我是在ThisWorkbook中添加这两行语句,没有使用Sub Auto_Close() 和 Sub Auto_Open()

Private Sub Workbook_AddinUninstall()
'代码
End Sub

Private Sub Workbook_Open()
'代码
End Sub

MS的系统中home版的都不支持office自带vba。你还是在professional下运行比较好。