Guest User

Untitled

a guest
Sep 18th, 2021
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub selfCheckingExcelQuine()
  2.     s = "Sub selfCheckingExcelQuine()\    s = ~\    result = Replace(Replace(Replace(s, Chr(36), Chr(34)), Chr(92), vbCrLf), Chr(126), Chr(34) & s & Chr(34))\    \    If myText() = result Then\        Debug.Print result\    Else\        Debug.Print $Not a quine!$\    End If\End Sub\\Function myText()\    Dim p As VBProject: Set p = ThisWorkbook.VBProject\    Dim m As CodeModule: Set m = p.VBComponents(p.VBE.SelectedVBComponent.Name).CodeModule\    \    myText = m.Lines(1, m.CountOfLines)\End Function\"
  3.     result = Replace(Replace(Replace(s, Chr(36), Chr(34)), Chr(92), vbCrLf), Chr(126), Chr(34) & s & Chr(34))
  4.    
  5.     If myText() = result Then
  6.         Debug.Print result
  7.     Else
  8.         Debug.Print "Not a quine!"
  9.     End If
  10. End Sub
  11.  
  12. Function myText()
  13.     Dim p As VBProject: Set p = ThisWorkbook.VBProject
  14.     Dim m As CodeModule: Set m = p.VBComponents(p.VBE.SelectedVBComponent.Name).CodeModule
  15.    
  16.     myText = m.Lines(1, m.CountOfLines)
  17. End Function
  18.  
  19.  
Advertisement
Add Comment
Please, Sign In to add comment