home *** CD-ROM | disk | FTP | other *** search
Wrap
Visual Basic class definition | 1997-03-11 | 3.8 KB | 151 lines
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "Connect" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Attribute VB_Description = "MyAddin" Option Explicit Implements IDTExtensibility Public FormDisplayed As Boolean Public VBInstance As VBIDE.VBE Dim mcbMenuCommandBar As Office.CommandBarControl Dim mfrmAddIn As New frmAddIn Public WithEvents MenuHandler As CommandBarEvents '├ⁿ┴ε└╕╩┬╝■┤ª└φ│╠╨≥ Attribute MenuHandler.VB_VarHelpID = -1 Sub Hide() On Error Resume Next FormDisplayed = False mfrmAddIn.Hide End Sub Sub Show() On Error Resume Next If mfrmAddIn Is Nothing Then Set mfrmAddIn = New frmAddIn End If Set mfrmAddIn.VBInstance = VBInstance Set mfrmAddIn.Connect = Me FormDisplayed = True mfrmAddIn.Show End Sub '------------------------------------------------------ '▒╛╖╜╖¿╕° VB ╠φ╝╙═Γ╜╙│╠╨≥ '------------------------------------------------------ Private Sub IDTExtensibility_OnConnection(ByVal VBInst As Object, ByVal ConnectMode As vbext_ConnectMode, ByVal AddInInst As VBIDE.AddIn, custom() As Variant) On Error GoTo error_handler '▒ú┤µ vb ╩╡└² Set VBInstance = VBInst '╙ª╕├╘┌┤╦┤ª╔Φ╓├╢╧╡πú¼ '▓Γ╩╘╕≈╓╓═Γ╜╙│╠╨≥╢╘╧≤ú¼╩⌠╨╘║═╖╜╖¿ Debug.Print VBInst.FullName If ConnectMode = vbext_cm_External Then '▒╗╧≥╡╝╣ñ╛▀└╕╙├╙┌╞⌠╢»╕├╧≥╡╝ Me.Show Else Set mcbMenuCommandBar = AddToAddInCommandBar("MyAddin") '╬ⁿ╩╒╩┬╝■ Set Me.MenuHandler = VBInst.Events.CommandBarEvents(mcbMenuCommandBar) End If If ConnectMode = vbext_cm_AfterStartup Then If GetSetting(App.Title, "Settings", "DisplayOnConnect", "0") = "1" Then '╔Φ╓├┤╦╧εú¼╘┌┴¼╜╙╩▒╧╘╩╛╕├┤░╠σ Me.Show End If End If Exit Sub error_handler: MsgBox Err.Description End Sub '------------------------------------------------------ '▒╛╖╜╖¿┤╙ VB ╔╛│²═Γ╜╙│╠╨≥ '------------------------------------------------------ Private Sub IDTExtensibility_OnDisconnection(ByVal RemoveMode As vbext_DisconnectMode, custom() As Variant) On Error Resume Next '╔╛│²├ⁿ┴ε└╕╧ε mcbMenuCommandBar.Delete '╣╪▒╒═Γ╜╙│╠╨≥ If FormDisplayed Then SaveSetting App.Title, "Settings", "DisplayOnConnect", "1" FormDisplayed = False Else SaveSetting App.Title, "Settings", "DisplayOnConnect", "0" End If Unload mfrmAddIn Set mfrmAddIn = Nothing End Sub Private Sub IDTExtensibility_OnStartupComplete(custom() As Variant) If GetSetting(App.Title, "Settings", "DisplayOnConnect", "0") = "1" Then '╔Φ╓├┤╦╧εú¼╘┌┴¼╜╙╩▒╧╘╩╛╕├┤░╠σ Me.Show End If End Sub Private Sub IDTExtensibility_OnAddInsUpdate(custom() As Variant) ' End Sub '╘┌ IDE ╓╨▓╦╡Ñ▒╗╡Ñ╗≈╩▒╕├╩┬╝■▒╗╥²╖ó Private Sub MenuHandler_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean) Me.Show End Sub Function AddToAddInCommandBar(sCaption As String) As Office.CommandBarControl Dim cbMenuCommandBar As Office.CommandBarControl '├ⁿ┴ε└╕╢╘╧≤ Dim cbMenu As Object On Error GoTo AddToAddInCommandBarErr '╩╟╖±─▄╒╥╡╜═Γ╜╙│╠╨≥▓╦╡Ñ Set cbMenu = VBInstance.CommandBars("Add-Ins") If cbMenu Is Nothing Then '▓╗┐╔╙├ú¼╥≥┤╦╩º░▄ Exit Function End If '╠φ╝╙╡╜├ⁿ┴ε└╕ Set cbMenuCommandBar = cbMenu.Controls.Add(1) '╔Φ╓├▒Ω╠Γ cbMenuCommandBar.Caption = sCaption Set AddToAddInCommandBar = cbMenuCommandBar Exit Function AddToAddInCommandBarErr: End Function