hanymoaty قام بنشر أبريل 19, 2014 قام بنشر أبريل 19, 2014 السادة الأفاضل الأستاذ الفاضل ،، تحاتي قمت بإستخراج رقم الهارد في الخلية A1 عن طريق الكود و المعادبة التالية Function GetPhysicalSerial() As Variant Dim obj As ObjectDim WMI As ObjectDim SNList() As String, i As Long, Count As LongSet WMI = GetObject("WinMgmts:")For Each obj In WMI.InstancesOf("Win32_PhysicalMedia")If obj.SerialNumber <> "" Then Count = Count + 1NextReDim SNList(1 To Count, 1 To 1)i = 1For Each obj In WMI.InstancesOf("Win32_PhysicalMedia")SNList(i, 1) = obj.SerialNumberi = i + 1If i > Count Then Exit ForNextGetPhysicalSerial = SNListEnd Function ووضع المعادلة الأتية في الخلية A1 =GetPhysicalSerial() وبعد ذلك وضعت الكود التالي لربط رقم الهارد بفتح الملف Private Const A As String = "A12533225" Private Const B As String = "B15223662" Private Const C As String = "TOSHIBA MK6476GSX" Private Sub Workbook_Open() Dim s As String With GetObject("winmgmts:\\.\root\CIMV2") For Each itm In .ExecQuery("SELECT * FROM Win32_DiskDrive", , 48) s = s & itm.Model Next itm End With If s = A Or s = B Or s = C Then MsgBox "تم مطابقة الهارد بنجاح ", vbInformation, "تفضل بالدخول" Else MsgBox "هذا البرنامج يعمل على أجهزة معينه فقط", vbInformation, "سيتم إغلاق البرنامج" With ActiveWorkbook .Close .Saved = True End With Exit Sub End If End Sub لكن في كل مره تظهر رسالة ان البرنامج يعمل على اجهزة معينة و معنى ذلك انني افتقد ربط هذا الكود بقراءة رقم الهارد الموجود في الخلية A1 علما بإن الأكواد و المعادلات هى من المشاركة الموجودة من السادة الأفاضل على اللينك الأتي http://www.officena.net/ib/index.php?showtopic=43800 ارجوكم الحل بإذن الله 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان