إكسل vba/ الدرس 327 / احمي ملفاتك / ملف إكسل يعمل علي جهاز كمبيوتر واحد فقط / يتم حذفة اتوماتيكيا
كود الحصول على سيريال الكمبيوتر
Sub sngo()
Dim sn, x, y, z
With GetObject("winmgmts:\\" & "." & "\root\cimv2")
For Each x In .ExecQuery("SELECT * FROM Win32_computerSystemProduct", , 48)
y = x.Name
z = x.UUID
Next x
End With
sn = y & "_ " & z
Range("a1") = sn
End Sub
---------------------------------------------------------------------------------------------------------
كود حذف الملف
Sub deletego()
Dim f, ff, x
Set f = CreateObject("scripting.filesystemobject")
Set ff = f.getfolder(ThisWorkbook.Path)
ThisWorkbook.Saved = True
ThisWorkbook.ChangeFileAccess xlReadOnly
For Each x In ff.Files
x.Delete True
Next
ThisWorkbook.Close False
End Sub
----------------------------------------------------------------------------------------------------------
كود مقارنة السيريال
Sub serialgo()
Dim sn, x, y, z
With GetObject("winmgmts:\\" & "." & "\root\cimv2")
For Each x In .ExecQuery("SELECT * FROM Win32_computerSystemProduct", , 48)
y = x.Name
z = x.UUID
Next x
End With
sn = y & "_ " & z
If sn = form1.snxyz.Caption Then
Else
deletego
End If
End Sub
---------------------------------------------------------------------------------------------------------
مكان استدعاء الكود
Private Sub Workbook_Open()
serialgo
End Sub
--------------------------------------------------------------------------------------------------------
شرح الدالة InStr
تُستخدم الدالة InStr في Excel للعثور على موضع سلسلة فرعية ضمن سلسلة أكبر. يمكن استخدامه
لتحديد ما إذا كانت سلسلة معينة موجودة في سلسلة أخرى، وإذا
كان الأمر كذلك، فأين تقع.
بناء الجملة للدالة InStr
هو:
InStr(x, y, z)
الوسيطة x
اختيارية وتحدد موضع الحرف في y الذي يجب أن
يبدأ البحث منه. إذا تم حذفه، فسيتم تعيينه افتراضيًا على 1.
الوسيطة y
مطلوبة وتحدد السلسلة التي سيتم البحث عنها للسلسلة الفرعية.
وسيطة السلسلة الفرعية x مطلوبة وتحدد
السلسلة التي سيتم البحث عنها داخل y.
على سبيل المثال، إذا كنت تريد معرفة ما إذا كان "d" موجودًا في "wagdy"، فيمكنك استخدام
هذه الصيغة:
= InStr(1,"wagdy","d")
سيؤدي هذا إلى إرجاع 4 لأن "d"
يبدأ عند الحرف 4
من "wagdy ".
--------------------------------------------------------------------------------------------------------
كود بسيط يوضح استخدام الدالة InStr
Sub InStrgo()
Dim x
x = InStr(1, "wagdy", "a")
MsgBox x
End Sub
ليست هناك تعليقات:
إرسال تعليق