Sub MacroFetch() ' Paul Beverley - Version 21.08.21 ' Fetches the macro named in the clipboard or at the cursor Selection.Collapse wdCollapseEnd Selection.Expand wdWord If Len(Selection) < 3 Then Selection.MoveLeft , 3 Selection.Expand wdWord End If Do While InStr(ChrW(8217) & "' ", Right(Selection.Text, 1)) > 0 Selection.MoveEnd , -1 DoEvents Loop myMacroName = Selection thisIsMacro = True ch1 = Left(myMacroName, 1) If LCase(ch1) = ch1 Then thisIsMacro = False For i = 1 To Len(myMacroName) - 3 ch = Mid(myMacroName, i, 1) If LCase(ch) = UCase(ch) Then thisIsMacro = False Exit For End If DoEvents Next i GotMacro = True ch1 = Left(myMacroName, 1) If LCase(ch1) = ch1 Then GotMacro = False For i = 1 To Len(myMacroName) - 3 ch = Mid(myMacroName, i, 1) If LCase(ch) = UCase(ch) Then GotMacro = False Exit For End If DoEvents Next i If Len(myMacroName) > 3 And GotMacro = True Then myFolder = Left(myMacroName, 1) myFullName = "https://www.wordmacrotools.com/macros/" & _ myFolder & "/" & myMacroName ActiveDocument.FollowHyperlink Address:=myFullName End If If GotMacro = True Then ShowVisualBasicEditor = True Else Beep MsgBox myMacroName & " ?? - Are you sure this is a macro name?" End If End Sub