📄 connect.dsr
字号:
VERSION 5.00
Begin {AC0714F6-3D04-11D1-AE7D-00A0C90F26F4} Connect
ClientHeight = 6090
ClientLeft = 1740
ClientTop = 1545
ClientWidth = 6585
_ExtentX = 11615
_ExtentY = 10742
_Version = 393216
Description = "Create a select case statement from an enum definition"
DisplayName = "Select Case Enum"
AppName = "Visual Basic"
AppVer = "Visual Basic 6.0"
LoadName = "Startup"
LoadBehavior = 1
RegLocation = "HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0"
CmdLineSupport = -1 'True
End
Attribute VB_Name = "Connect"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Public FormDisplayed As Boolean
Public VBInstance As VBIDE.VBE
Dim mcbMenuCommandBar As Office.CommandBarControl
Public WithEvents MenuHandler As CommandBarEvents 'command bar event handler
Attribute MenuHandler.VB_VarHelpID = -1
Sub Hide()
End Sub
Sub Show()
End Sub
'------------------------------------------------------
'this method adds the Add-In to VB
'------------------------------------------------------
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
On Error GoTo error_handler
'save the vb instance
Set VBInstance = Application
'this is a good place to set a breakpoint and
'test various addin objects, properties and methods
Debug.Print VBInstance.FullName
If ConnectMode = ext_cm_External Then
'Used by the wizard toolbar to start this wizard
Me.Show
Else
Set mcbMenuCommandBar = AddToAddInCommandBar("Generate Select Statement")
'sink the event
Set Me.MenuHandler = VBInstance.Events.CommandBarEvents(mcbMenuCommandBar)
End If
If ConnectMode = ext_cm_AfterStartup Then
If GetSetting(App.Title, "Settings", "DisplayOnConnect", "0") = "1" Then
'set this to display the form on connect
Me.Show
End If
End If
Exit Sub
error_handler:
MsgBox Err.Description
End Sub
'------------------------------------------------------
'this method removes the Add-In from VB
'------------------------------------------------------
Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
On Error Resume Next
'delete the command bar entry
mcbMenuCommandBar.Delete
'shut down the Add-In
If FormDisplayed Then
SaveSetting App.Title, "Settings", "DisplayOnConnect", "1"
FormDisplayed = False
Else
SaveSetting App.Title, "Settings", "DisplayOnConnect", "0"
End If
End Sub
Private Sub IDTExtensibility_OnStartupComplete(custom() As Variant)
If GetSetting(App.Title, "Settings", "DisplayOnConnect", "0") = "1" Then
'set this to display the form on connect
Me.Show
End If
End Sub
'this event fires when the menu is clicked in the IDE
Private Sub MenuHandler_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
Dim aryLines() As String
Dim I As Integer
Dim sTemp As String
Dim sSelectStatement As String
Dim iCurrentLine As Long, b As Long, c As Long, d As Long
aryLines = Split(Clipboard.GetText, vbCrLf)
sSelectStatement = "Select Case Type_Your_Variable_Here" & vbCrLf
For I = 0 To UBound(aryLines) - 1
If (InStr(aryLines(I), "Enum") = 0) And (InStr(aryLines(I), "End") = 0) Then
'\\Don't add commented lines
If Trim(Left(aryLines(I), 1)) <> "'" Then
If InStr(aryLines(I), "=") <> 0 Then
sSelectStatement = sSelectStatement & vbTab & "Case " & Trim(Left(Trim(aryLines(I)), InStr(Trim(aryLines(I)), " "))) & vbCrLf
Else
sSelectStatement = sSelectStatement & vbTab & "Case " & Trim(aryLines(I)) & vbCrLf
End If
End If
ElseIf InStr(aryLines(I), "End") <> 0 Then Exit For
End If
Next
sSelectStatement = sSelectStatement & "End Select"
'\\Find out where we are
VBInstance.ActiveCodePane.GetSelection iCurrentLine, b, c, d
'\\Print the select case statement
VBInstance.ActiveCodePane.CodeModule.InsertLines iCurrentLine, sSelectStatement
End Sub
Function AddToAddInCommandBar(sCaption As String) As Office.CommandBarControl
Dim cbMenuCommandBar As Office.CommandBarControl 'command bar object
Dim cbMenu As Object
On Error GoTo AddToAddInCommandBarErr
'see if we can find the Add-Ins menu
Set cbMenu = VBInstance.CommandBars("Add-Ins")
If cbMenu Is Nothing Then
'not available so we fail
Exit Function
End If
'add it to the command bar
Set cbMenuCommandBar = cbMenu.Controls.Add(1)
'set the caption
cbMenuCommandBar.Caption = sCaption
Set AddToAddInCommandBar = cbMenuCommandBar
Exit Function
AddToAddInCommandBarErr:
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -