@@ -11,7 +11,7 @@ Attribute VB_GlobalNameSpace = False
1111Attribute VB_Creatable = True
1212Attribute VB_PredeclaredId = False
1313Attribute VB_Exposed = True
14- Attribute VB_Description = "TkinterDesigner "
14+ Attribute VB_Description = "Vb6Tkinter "
1515Option Explicit
1616
1717Private mcbMenuItem As Office .CommandBarControl
@@ -41,7 +41,7 @@ Private Sub IDTExtensibility_OnStartupComplete(custom() As Variant)
4141End Sub
4242
4343Private Sub IDTExtensibility_OnConnection (ByVal VBInst As Object , ByVal ConnectMode As VBIDE .vbext_ConnectMode, ByVal AddInInst As VBIDE .AddIn, custom() As Variant )
44- Set Common.VBE = VBInst
44+ Set VbeInst = VBInst
4545
4646 If ConnectMode = vbext_cm_Startup Or ConnectMode = vbext_cm_AfterStartup Then
4747 AddToMenu (App.Title & "(&T)" )
@@ -84,14 +84,15 @@ End Sub
8484'在外接程序菜单下增加一个菜单项
8585Private Sub AddToMenu (sCaption As String )
8686 Dim cbMenuCommandBar As Office .CommandBarControl
87- Dim cbMenu
87+ Dim cbMenu As Variant
8888
8989 On Error Resume Next
9090
9191 '察看能否找到外接程序菜单
92- Set cbMenu = VBE.CommandBars("Add-Ins" )
92+ Set cbMenu = VbeInst.CommandBars("外接程序" )
93+ If cbMenu Is Nothing Then Set cbMenu = VbeInst.CommandBars("Add-Ins" )
9394 If cbMenu Is Nothing Then Exit Sub
94-
95+
9596 '添加它到命令栏
9697 Set cbMenuCommandBar = cbMenu.Controls.Add(msoControlButton)
9798 If cbMenuCommandBar Is Nothing Then Exit Sub
@@ -101,9 +102,13 @@ Private Sub AddToMenu(sCaption As String)
101102 '设置标题
102103 cbMenuCommandBar.Caption = sCaption
103104
105+ 'DoEvents
106+ 'Clipboard.SetData LoadResPicture(101, vbResBitmap)
107+ 'cbMenuCommandBar.PasteFace
108+ 'DoEvents
109+
104110 Set mcbMenuItem = cbMenuCommandBar
105- Set MenuHandler = VBE.Events.CommandBarEvents(mcbMenuItem)
106-
111+ Set MenuHandler = VbeInst.Events.CommandBarEvents(mcbMenuItem)
107112End Sub
108113
109114'在工具栏增加一个图标
@@ -113,26 +118,27 @@ Private Sub AddToToolBox(sCaption As String)
113118
114119 '察看能否找到标准工具栏
115120 On Error Resume Next
116- Set cbStandard = VBE .CommandBars("标准" )
117- If Err.Number <> 0 Then Set cbStandard = VBE .CommandBars("Standard" )
118-
121+ Set cbStandard = VbeInst .CommandBars("标准" )
122+ If cbStandard Is Nothing Then Set cbStandard = VbeInst .CommandBars("Standard" )
123+ If cbStandard Is Nothing Then Set cbStandard = VbeInst.CommandBars( 2 )
119124 If cbStandard Is Nothing Then Exit Sub
120125
121126 Err.Clear
122- On Error GoTo AddToAddInToolboxErr
127+ 'On Error GoTo AddToAddInToolboxErr
128+ On Error Resume Next
123129
124130 '添加它到工具栏
125131 Set cbToolboxCommandBar = cbStandard.Controls.Add(msoControlButton, , , cbStandard.Controls.Count)
126132 cbToolboxCommandBar.BeginGroup = True
127133 cbToolboxCommandBar.Caption = sCaption
128134 Set mcbToolBoxItem = cbToolboxCommandBar
135+ DoEvents
129136 Clipboard.SetData LoadResPicture(101 , vbResBitmap)
130137 cbToolboxCommandBar.PasteFace
138+ DoEvents
131139
132- Set ToolBoxHandler = VBE.Events.CommandBarEvents(mcbToolBoxItem)
133-
134- AddToAddInToolboxErr:
135-
140+ Set ToolBoxHandler = VbeInst.Events.CommandBarEvents(mcbToolBoxItem)
141+ 'AddToAddInToolboxErr:
136142End Sub
137143
138144Private Sub MenuHandler_Click (ByVal CommandBarControl As Object , handled As Boolean , CancelDefault As Boolean )
0 commit comments