' Convert to uppercase, lowercase, or propercase the text that is' currently selected in the active code windowSub ConvertSelectedText(VBInstance As VBIDE.VBE, Optional conversion As Long = _ vbUpperCase) Dim startLine As Long, startCol As Long Dim endLine As Long, endCol As Long Dim codeText As String Dim cpa As VBIDE.CodePane Dim cmo As VBIDE.CodeModule Dim i As Long On Error Resume Next ' get a reference to the active code window and the underlying module ' exit if no one is available Set cpa = VBInstance.ActiveCodePane Set cmo = cpa.CodeModule If Err Then Exit Sub ' get the current selection coordinates cpa.GetSelection startLine, startCol, endLine, endCol ' exit if no text is highlighted If startLine = endLine And startCol = endCol Then Exit Sub ' get the code text If startLine = endLine Then ' only one line is partially or fully highlighted codeText = cmo.Lines(startLine, 1) Mid$(codeText, startCol, endCol - startCol) = StrConv(Mid$(codeText, _ startCol, endCol - startCol), conversion) cmo.ReplaceLine startLine, codeText Else ' the selection spans multiple lines of code ' first, convert the highlighted text on the first line codeText = cmo.Lines(startLine, 1) Mid$(codeText, startCol, Len(codeText) + 1 - startCol) = StrConv(Mid$ _ (codeText, startCol, Len(codeText) + 1 - startCol), conversion) cmo.ReplaceLine startLine, codeText ' then convert the lines in the middle, that are fully highlighted For i = startLine + 1 To endLine - 1 codeText = cmo.Lines(i, 1) codeText = StrConv(codeText, conversion) cmo.ReplaceLine i, codeText Next ' finally, convert the highlighted portion of the last line codeText = cmo.Lines(endLine, 1) Mid$(codeText, 1, endCol - 1) = StrConv(Mid$(codeText, 1, endCol - 1), _ conversion) cmo.ReplaceLine endLine, codeText End If ' after replacing code we must restore the old selection ' this seems to be a side-effect of the ReplaceLine method cpa.SetSelection startLine, startCol, endLine, endColEnd Sub


10 Productivity Hacks to Supercharge Your Business in 2023
Picture this: your team working seamlessly, completing tasks efficiently, and achieving goals with ease. Sounds like too good to be true? Not at all! With our productivity hacks, you can