السلام عليكم ورحمة الله وبركاته
هل فكرت يوماً بأنه يمكن لملف الإكسيل أن يقتل نفسه .. أن ينتحر ؟! يبدو أنه سيفعل ذلك بعد كل ما فعلناه به
إليكم الكود الذي يقوم بمسح المصنف الحالي الذي يحتوي على الكود ، أي أن الملف يدمر نفسه تماماً ويمحو أثره من على الهارد ديسك.
CODE
Sub Suicide()
If MsgBox("This Workbook Will Be Killed . Are You Sure?", vbYesNo) = vbYes Then
MsgBox "Great Decision Man", 64
With ThisWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close SaveChanges:=False
End With
Else
MsgBox "You Are Insane! Why Didn't You Kill Me?", vbCritical
End If
End Sub
ما الفائدة التي يمكن أن نستغلها من هذا الكود؟
قد ينظر البعض إلى الموضوع أنه موضوع ترفيهي ، أو من وجهة نظر أنه من الغرائب والعجائب في الإكسيل ، ولكن بنظرة فاحصة يمكننا استغلال هذا الكود في حماية المصنف بشكل كبير ، وذلك من خلال ربط فتح المصنف بسيريال الهارد ديسك على سبيل المثال أو سيريال اللوحة الأم للجهاز.
لحماية المصنف من أن يتم تشغيله على هارد ديسك آخر أو جهاز آخر ضع الكود التالي في حدث المصنف
CODE
Private Sub Workbook_Open()
If Hex(CreateObject("Scripting.FileSystemObject").Drives.Item("C:").SerialNumber) <> "BE2EFE3A" Then
With ThisWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close SaveChanges:=False
End With
End If
End Sub
Sub Get_Hard_Disk_Serial_Number()
Range("A1").Value = Hex(CreateObject("Scripting.FileSystemObject").Drives.Item("C:").SerialNumber)
End Sub
* قم بتشغيل الإجراء الفرعي المسمى Get_Hard_Disk_Serial_Number ، لتحصل على السيريال الخاص بالهارد ديسك لجهازك ، ستجد السيريال في الخلية A1 في ورقة العمل .. كل ما عليك هو أن تنسخ السيريال في الخلية A1 وتضعه في الكود بدلاً من السيريال BE2EFE3A
* قم بحفظ المصنف ثم أغلق المصنف وأعد فتحه ، سيتم فتح المصنف بشكل طبيعي لأن المصنف يعمل على جهازك وفقط ... جرب أن تعطي المصنف لأحد أصدقائك لتجربة الملف عنده ، واجعله يخبرك بالنتيجة (بالطبع لن يفتح الملف لديه بل سيمحى أثره بمجرد أن يقوم صديقك بفتح المصنف)
وأخيراً إليكم الملف المرفق به الأكواد المستخدمة في الموضوع ، مع تطبيق الكود الأول فقط ، أما الثاني فيلزم تجربته بنفسك
رابط الملف من هنا
إعداد وتقديم / ياسر خليل أبو البراء