اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم

لدي ملف إكسل متكامل لإدارة مدرسة يحتوي على وحدات ماكرو ويوزرفورم رئيسي وفرعي وكلمات مرور

المشكلة الوحيدة التي تواجهني هي أنه إذا قام شخص آخر بنسخ الملف وفتحه على جهاز كمبيوتر آخر غير مفعله فيه وحدات الماكرو سيتم فتح الملف مباشرة متجاوزا كلمات المرور وواجهة اليوزرفورم غيره

هل هناك طريقة تمكنني من تقييد الملف ومنع فتحه في حال لم تكن وحدات الماكرو مفعلة على الجهاز الآخر ؟ ... وشكرا

قام بنشر

وعليكم السلام-وما الضرر من هذا فلابد دائما من نشر العلم

ولو كتم احد  الأساتذة العلم عنك ما وصل اليك

ولكن تفضل هذا الرابط من داخل المنتدى ,فكان عليك لزاما استخدام خاصية البحث بالمنتدى

هذا كود لإظهار نافذة تفعيل الماكرو مع تشغيل الملف

  • Like 1
  • أفضل إجابة
قام بنشر

جزاك الله خير ... تم العثور على المطلوب في موقع أجنبي ولكي يستفيد الغير فكل ما عليك هو اضافة ورقة عمل جديدة داخل المصنف الذي ترغب بحمايته وكتابة رسالة تطلب من المستخدم تمكين وحدات الماكروا وبعد ذلك الذهاب الى محرر الاكواد بالضغط على ctrl + f11 والضغط مرتين على thisworkbook ثم لصق الكود التالي في المحرر

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet, wsSplash As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wsSplash = Worksheets("Splash screen")
wsSplash.Visible = xlSheetVisible
For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> "Splash screen" Then ws.Visible = xlSheetVeryHidden
Next ws
Cancel = True
ThisWorkbook.Save
For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> "Splash screen" Then ws.Visible = xlSheetVisible
Next ws
wsSplash.Visible = xlSheetVeryHidden
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_Open()
Dim ws As Worksheet, wsSplash As Worksheet
Dim Pswd As String
Pswd="myPassword"
Application.ScreenUpdating = False
Set wsSplash = Worksheets("Splash screen")
wsSplash.Visible = xlSheetVisible
For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> "Splash screen" Then 
       If ws.Name="Sheet1" Then
           If InputBox("Please enter your password")=Pswd Then ws.Visible=xlSheetVisible
       Else
           ws.Visible = xlSheetVisible
       End If
   End If
Next ws
wsSplash.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End Sub

وكل ما عليك هو استبدال كلمة (splash screen) بأسم الصفحة التي أعددتها للتنبيه ومن ثم الحفظ 

بعد ذلك قم بإلغاء تفعيل وحدات الماكروا وافتح الملف ستظهر لك فقط الصفحة رقم 1 التي انشأتها وبها رسالة تطلب منك تمكين وحدات الماكروا وعند عمل ذلك وإعادة تشغيل الملف ستختفي الصفحة رقم 1 التي انشأتها وسيتم عرض بقية المصنف

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information