الثلاثاء، 24 يناير 2023

احمي ملفاتك / ملف إكسل يعمل علي جهاز كمبيوتر واحد فقط

 إكسل 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

ليست هناك تعليقات:

إرسال تعليق

أفضل مشاركة

أكواد في الإكسل_001_الترتيب التصاعدي والتنازلي كود سهل جدا

 أكواد في الإكسل_001_الترتيب التصاعدي والتنازلي كود سهل جدا أكواد في الإكسل_001_الترتيب التصاعدي والتنازلي كود سهل جدا الأكواد Sub wترتيب_تص...

المشاركات الأكثر مشاهدة