Sub MacroMenuForMac() ' Paul Beverley - Version 04.07.20 ' Offers a list of macros to launch myList1 = "a=AccentAlyse, d=DocAlyse, h=HyphenAlyse" myList2 = "w=WordPairAlyse, p=ProperNounAlyse, i=IZISCount" myList3 = "z=IStoIZ, s=IZtoIS, l=SpellingErrorLister" myList4 = "c=CopyTextSimple, m=MultiFileText, f=FRedit" myList5 = "e=SpellingErrorHighlighter, u=UKUSCount" ' myList5 = "e=SpellingErrorHighlighter, u=UKUSCount, g=MegAlyse" myList = "," & myList1 & "," & myList2 & "," & myList3 & "," _ & myList4 & "," & myList5 myList = Replace(myList, ",,", ",") mcr = Split(myList, ",") myPrompt = "" myCodes = "" numItems = UBound(mcr) For i = 1 To numItems mcr(i) = Trim(mcr(i)) myCode = Left(mcr(i), 1) myCodes = myCodes & myCode mName = Mid(mcr(i), 3) myPrompt = myPrompt & Trim(Str(i)) & " " & ChrW(8211) & " " myPrompt = myPrompt & mName & " (" & myCode & ")" & vbCr Next i Do myResponse = UCase(InputBox(myPrompt, "MacroMenu")) myNum = Val(myResponse) If myResponse = "" Then Exit Sub If myNum = 0 Then myNum = InStr(UCase(myCodes), Left(myResponse, 1)) End If Loop Until myNum > 0 And myNum < numItems + 1 mName = Mid(mcr(myNum), 3) Select Case nName Case "AccentAlyse" Call AccentAlyse Case "CopyTextSimple" Call CopyTextSimple Case "DocAlyse" Call DocAlyse Case "FRedit" Call FRedit Case "HyphenAlyse" Call HyphenAlyse Case "IStoIZ" Call IStoIZ Case "IZISCount" Call IZIScount Case "IZtoIS" Call IZtoIS Case "MegAlyse" Call MegAlyse Case "MultiFileText" Call MultiFileText Case "ProperNounAlyse" Call ProperNounAlyse Case "SpellingErrorHighlighter" Call SpellingErrorHighlighter Case "SpellingErrorLister" Call SpellingErrorLister Case "UKUSCount" Call UKUScount Case "WordPairAlyse" Call WordPairAlyse Case Else Beep MsgBox "Not on list" End Select End Sub