Viewing 2 posts - 1 through 2 (of 2 total)
- AuthorPosts
- December 5, 2012 at 10:24 am #10657LTTParticipant
This macro gives a quick way to manage your event-driven macros.
All your event-driven macros are listed in a menu. Clicking in the menu toggles the [Runs at Events] option for that macro.December 13, 2012 at 7:17 am #10662LTTParticipantI rewrote the macro.
Now arrays are used to minimize the GetProfileInt/GetProfileString operations (now only once for each entry).nRunAtEvents = &h80000000
ii=0
Do
nEventsN = editor.GetProfileInt(eeRegMacros, sCfg, "Events"& ii, -1)
If nEventsN=-1 Then Exit Do
If nEventsN><0 Then
sMacroN = editor.GetProfileString(eeRegMacros, sCfg, "Macro"& ii, "")
sEventsN = Right("_______"& Hex(nEventsN), 8)
sN = Right(" "& ii, 7)
sMenuText = sMacroN &vbTab& sEventsN & sN
asMacroN = asMacroN &"|"& sMacroN
anEventsN = anEventsN &" "& nEventsN
aN = aN &" "& ii
asMenuText = asMenuText &"|"& sMenuText
End If
ii=ii+1
Loop Until ii>1023
asMacroN = Split(asMacroN,"|")
anEventsN = Split(anEventsN)
aN = Split(aN)
asMenuText = Split(asMenuText,"|")
nMenu = UBound(aN)
sMenuText = "▲Toggle Event-Driven Macros"& vbTab &" Max:"& Right(" "& ii-1, 6)
Do
Set menu = CreatePopupMenu
For ii = 1 To nMenu
menu.Add asMenuText(ii), ii, eeMenuChecked And anEventsN(ii)<0
Next
menu.Add "", 0, eeMenuSeparator
menu.Add sMenuText, 0, eeMenuGrayed
ii = menu.Track
If ii=0 Then Quit
anEventsN(ii) = anEventsN(ii) Xor nRunAtEvents
sEventsN = Right("_______"& Hex(anEventsN(ii)), 8)
sN = Right(" "& aN(ii), 7)
asMenuText(ii) = asMacroN(ii) &vbTab& sEventsN & sN
editor.WriteProfileInt eeRegMacros, sCfg, "Events"& aN(ii), anEventsN(ii)
LoopThe old code:
nRunAtEvents = &h80000000
Do
Set menu = CreatePopupMenu
ii=0
Do
nEventsN = editor.GetProfileInt(eeRegMacros, sCfg, "Events"& ii, -1)
If nEventsN=-1 Then Exit Do
If nEventsN><0 Then
sMacroN = editor.GetProfileString(eeRegMacros, sCfg, "Macro"& ii, "")
sMenuText = sMacroN &vbTab& Right("_______"& Hex(nEventsN), 8) & Right(" "& ii, 7)
menu.Add sMenuText, ii+1, eeMenuChecked And nEventsN<0
End If
ii=ii+1
Loop Until ii>1023
menu.Add "", 0, eeMenuSeparator
menu.Add "▲Toggle Event-Driven Macros Max:"& Right(" "& ii-1, 6), 0, eeMenuGrayed
ii = menu.Track -1
If ii<0 Then Quit
nEventsN = editor.GetProfileInt(eeRegMacros, sCfg, "Events"& ii, -1)
nEventsN = nEventsN Xor nRunAtEvents
editor.WriteProfileInt eeRegMacros, sCfg, "Events"& ii, nEventsN
Loop - AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.