يوسف عطا قام بنشر يناير 25, 2010 قام بنشر يناير 25, 2010 الأخوة الأعزاء خباء الإيكسيل أستخدم كود لحماية بعض الأوراق ( فتح الشيت لرؤية بياناته بباسوورد) وفى نفس الوقت بعض خلاياالشيت محمية لوجود معادلات أخشى عليها من العبث عن طريق قائمة أدوات - حماية - حماية ورقة المشكلة تكمن فى الآتى عند تفعيل حماية الورقة من قائمة أدوات لا يكون الكود ذو جدوى فأى يوزر يستطيع فتح الشيت بمجرد الضغط على أوكى دون كتابة الباسوورد بينما الكود يعمل بكفاءة إذا لم أقوم بتفعيل حماية الورقة من قائمة أدوات - حماية ولكن هذا يعرض المعادلات للعبث ماذا أفعل لحل هذه المشكلة الكود المستخدم فى الملف المرفق كلمة السر للحماية 666666 كلمة السر لفتح الشيت kh ملحوظة هذا الطلب مهم جداً ومتوقف عليه عمل ضرورى غداً وأكون شاكر جداً لو تم حل الموضوع الليلة فتح شيت بباسوورد.rar
احمدزمان قام بنشر يناير 25, 2010 قام بنشر يناير 25, 2010 السلام عليكم ورحمة الله وبركاته اخي يوسف الشرح المرفق من احد ابداعات الأستاذ الكريم الفاضل ابوتامر - عمر الحسيني - الله يذكرة بكل خير - و يجزاه عنا كل خير وكان الموضوع بعنوان حل مشكلة اعتراض حماية اورق الملف لتنفيذ الماكرو و الشرح كالتالي حل مشكلة اعتراض حماية اورق الملف لتنفيذ الماكرو هو الحل النهائى لهذه المشكلة والتى لايأتى بعده حلول نهائيا . كما نعرف جميعا انه عند حماية اوراق الملف وعند تنفيذ ماكرو به بعض الاوامر يتم اعتراض تنفيذها نتيجة الحماية ودائما الحل فى الدواء المكرر والمعاد دائما وهو رفع الحماية فى بداية عمل الماكرو ثم وضعها مرة اخرى فى نهايتة ولكن الحل هنا فى منتدى الاكسيل لاول مرة على مستوى المنتديات . وعلى سبيل المثال لا الحصر لهذه الاوامر التى تسبب توقف عمل الماكرو ادراج او الغاء صفوف او اعمدة تغير لون الخلية او لون الخط والكثير من الاحداث الاخرى التى تتوقف بسبب الحماية . فيلجأ البعض منا مما له دراية بالاكواد بعمل عدد 2 ماكرو منفصلين الاول يعمل على تنفيذ الحماية والثانى يعمل على الغاء الحماية ثم عند تصميم اى ماكرو يقوم بوضع اسم الماكرو الاول فى بداية المكرو الذى يقوم بتصميمة ويضع اسم الماكرو الثانى فى نهاية الماكرو الذى يقوم بتصميمة بمعنى فى حالة اعترض الحماية يجب رفع الحماية فى بدية الماكرو ثم اعادة وضع الحماية مرة اخرى فى نهاية هذا الماكرو حتى يتم تنفيذ هذا الماكرو بدون اعتراض . ولكن الاكسل وفر لنا الكثير والكثير ولكن العقبة هى عدم الوصول الى هذه المعرفة وكثرت مشاكل اعتراض الحماية لتنفيذ الماكرو الذى يحتوى على بعض الاوامر التى اشرت اليها فى بداية الحديث ولكن توجد اضافة لامر الحماية لم الحظ ان احدا يقوم بأستخدامها وهى الامر<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"> كود UserInterfaceOnly:=True التى توضع فى امر الحماية ويمكن بذلك تنفيذ اى ماكرو بدون اعتراض مسيو اكسيل وبخصوص هذا الامر عند حفظ الملف تفرض الحماية كاملة وينهى عمل هذا الاستثناء وعليه عند فتح الملف يجب الاعلان عن ان الحماية مشمولة بهذا الامر ولذلك يجب ادراج كود الحماية بأحد هاتين الطريقتين : اولا : اما عن طريق ماكرو التنفيذ التلقائى عند الفتح الذى ينفذ اى اوامر مدرجة به عند فتح الملف كود Sub AUTO_OPEN() ثانيا : عن طريق حدث فتح الملف الاتوماتيكى الذى ينفذ اى اوامر مدرجة به عند فتح الملف كود Private Sub Workbook_Open() فأذا اردنا ان يكون كود الحماية فى ماكرو الفتح (Sub AUTO_OPEN) يكون الماكرو على هذه الصورة بفرض ان كلمة السر هى (123) كود Sub AUTO_OPEN() MyPassword = "123" For Each MySheet In ActiveWorkbook.Sheets MySheet.Protect _ Password:=MyPassword, _ DrawingObjects:=True, _ Contents:=True, _ Scenarios:=True, _ UserInterfaceOnly:=True Next MySheet End Sub اما اذا اراد المترسين بالاكواد بوضع كود الحماية فى حدث فتح الملف يكون على الشكل التالى بفرض ان كلمة السر هى (123)<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"> كود Private Sub Workbook_Open() MyPassword = "123" For Each MySheet In ActiveWorkbook.Sheets MySheet.Protect _ Password:=MyPassword, _ DrawingObjects:=True, _ Contents:=True, _ Scenarios:=True, _ UserInterfaceOnly:=True Next MySheet End Sub بذلك يمكن تنفيذ اى ماكرو بدون اعترض وتتجنب تكرار فك الحماية فى بداية الماكرو ثم اعادتها مرة اخرى فى نهاية الماكرو مع تحياتى فى استخدام الاوامر التى لم نتطرق اليها قبل ذلك لاثراء معلوماتنا ومنتدانا بكنوز الاكسيل تم تحرير المشاركة بواسطة tameromar 1
يوسف عطا قام بنشر يناير 26, 2010 الكاتب قام بنشر يناير 26, 2010 الف شكر ليك يا أحمد بك والف شكر للأخ الفاضل أبوتامر ربنا يطمنا عليه أنا فعلاً كنت بتغلب على المشكلة إنى بعمل ماكرو طويل يعنى ونا بسجل الماكرو اللى عاوزه ببدأ بإلغاء الحماية وبعدين بعمل المطلوب وبعدين بفعل الحماية وبعدين بنهى الماكرو بس كدة قابلتنى مشكلة فى طلب الباسوورد بتاعة فتح الشيت لكن بالطبع هاغير الطريقة وهاجرب الكود اللذى ذكرته وإن شاء الله خير معلش هاتقل عليك لو مافيهاش تعب لسعادتك أبعتلك الملف تعملهولى لو صادفتنى أى مشاكل الف شكر يا غالى
يوسف عطا قام بنشر يناير 27, 2010 الكاتب قام بنشر يناير 27, 2010 للأسف لم استطع إنجاز الأمر كما ينبغى مؤكد أن عندى خطأ فى طريقة إدراج الكود لو كان لا يضايقك يمكننى إرسال الملف لك على الشير لإنجازه لى لأن الملف أكبر من 1 ميجا شاكر لك مقدماَ
احمدزمان قام بنشر يناير 28, 2010 قام بنشر يناير 28, 2010 (معدل) السلام عليكم و رحمة الله اخي يوسف ممكن ترسلة على الميل وانا اعمله و ارسلة لك تاني تم تعديل يناير 29, 2010 بواسطه احمدزمان DELET E_M
هشام شلبى قام بنشر يناير 29, 2010 قام بنشر يناير 29, 2010 السلام عليكم الاخ يوسف جرب المرفق فتح شيت بباسوورد1.rar
يوسف عطا قام بنشر أبريل 25, 2010 الكاتب قام بنشر أبريل 25, 2010 شاكر الأفضال للجميع للأسف زى مابيقول المثل نخرج من نقرة نقع فى دوحديرة تم حل المشكلة الأولى فظهرت مشكلة تانية برنامج كنترول التقويم الشامل لعام 2010 مضافاً إليه الفرنسية وللصفين الأول والثانى الإعدادى وللفصلين الدراسيين معاً ويقوم البرنامج بإستخراج نسب الموارد والأوائل والإحصائيات تلقائياً وأولاً بأول وبه مزايا عديدة وقبل كل شئ أحب أن اذكر أن بعض الأخوة بالمنتدى ساعدونى فى بعض الأكواد وعلى راسهم الاساتذة الأفاضل ابوتامر وخبور خير والأخ العزيز أيسم إبراهيم جازاهم الله أحسن الجزاء المهم توجد بعض الشيتات بالملف محمية بباسوورد للدخول إليها لرؤية البيانات بها مثل شيت النتيجة وشيت الشهادات المشكلة فى شيت الشهادات عند عمل عنصر تحكم للبحث بالإسم فى أسماء الطالبات لعرض الشهادة المطلوبة يتوقف كود الباسوورد عن العمل فيصبح كأنه غير موجود أى لو كتبت أى رقم أو حتى لو ضغطت كانسيل يتم إدخالك إلى الشيت وبالملف شيتين بإسم شهادات شهادات 1 للفصل الدراسى الأول (تم إضافة عنصر التحكم فتوقف كود الباسوورد عن العمل) شهادات 2 للفصل الدراسى الثانى (بدون عنصر التحكم وكود الباسوورد يعمل به جيداً) المطلوب أن يعمل الباسوورد فى وجود عنصر التحكم المشار إليه الباسوورد لفتح الشيت (جو) باسوورد حماية المعادلات لمن يريد تعديلها أو رؤيتها (666666) والله الموفق الملف بالرابط التالى برنامج الكنترول - Copy.rar ولم أرفقه مباشرة لأن حجمه بعد الضغط حوالى 2 ميجا
emadoo قام بنشر أبريل 25, 2010 قام بنشر أبريل 25, 2010 اخي الكريم المشكلة حدثت لديك لأنك قمت بتغير أسم الصفحة الرئيسية من main إلى الرئيسية فقط أدخل إلى كود صفحة الشهادات وقم بتغيير main إلى الرئيسية ملاحظة1 : لتسريع الكود في أي كبسة أكتب الكود التالي في بداية كل كود Application.ScreenUpdating = false وفي نهاية الكود أكتب : Application.ScreenUpdating = True ملاحظة 2 : جملة On Error Resume Next تستخدم لمعالجة الأخطاء والمرور من خلالها ويجب أن توضع في كل كود لكن متى يتم وضعها .. يتم وضعها عند الأنتهاء من كتابة البرنامج لمعرفة الاخطاء عند تنفيذ اي كود أي بعبارة أخرى : لو لم تكتب هذه العبارة لعرفت الخطا بنفسك وبالتوفيق أخي الكريم وبصدق البرنامج جميل جداً ومتعوب عليه فعلاً
يوسف عطا قام بنشر أبريل 25, 2010 الكاتب قام بنشر أبريل 25, 2010 جازاك الله خير يا أخى العزيز جارى تطبيق ما قلت لمحاولة حل المشكلة لكن حقيقة لا أعرف ما علاقة تغيير إسم الشيت بالمشكلة فكما ذكرت لك الكود يعمل جيداً فى حالة عدم وجود عنصر التحكم الخاص بالبحث بالإسم ثم لا يعمل عند إضافة عنصر التحكم المذكور مثلما ترى فى شهادات 1 وشهادات 2 على كل حال جارى المحاولة ولك جزيل الشكر بالنسبة للبرنامج هو فعلاً متعوب فيه ولكنه لازال يحتاج بعض التعديلات وأهم ما أريد تعديله تحويل المعادلات إلى أكواد لأن الملف أصبح كبير جداً 33 ميجا لدرجة أننى رغم أن جهازى راماته 4 جيجا لكن تظهر لى رسالة تفيد بأننى لا أستطيع فتح ملف إيكسيل كبير آخر أثناء العمل على البرنامج كذلك أريد وضع صلاحيات مستخدمين لكل منهم باسوورد بحيث أن ليس كل من يعمل على البرنامج يكون له كل الصلاحيات فيه أيضاً أريد كود إخفاء الأكواد أو حمايتها حتى لا يتم العبث بها هذا حتى الآن وكلما تعاملت مع البرنامج تظهر لى اشياء أخرى
emadoo قام بنشر أبريل 25, 2010 قام بنشر أبريل 25, 2010 اخي العزيز عادة لكتابة البرامج كبيرة الحجم تستخدم تقنيات كثيرة اهما استخدام userform لانها لاتأخد حجم كبير كمافي صفحات الاكسل ... كذلك الصفحات الكثيرة تاخذ حجم كبير وهناك تقنية تمكنك من كتابة برنامجك مثلاً في صفحة واحدة فقط " نعم صفحة واحدة فقط " كذلك استخدام الفيجول في الاكسل له اهمية كبيرة لان الفيجول لا ياخذ حجم كبير كتابة صفحة في اكواد الفيجول تعادل حجمها جملة داخل الاكسل او حتى اقل اما حماية الاكواد سهلة ادخل إلى الفيجول tools --- VBAProject properties --- protection --- ثم ادخل الباسورد عندها لا يمكن لاي احد الدخول الى الاكواد إلا بكلمة سر
يوسف عطا قام بنشر أبريل 27, 2010 الكاتب قام بنشر أبريل 27, 2010 نورتنى عزيزى الكريم بمعلومات مهمة جداً خاصة معلومة باسوورد لمنع العبث بالأكواد ولكن موضوع تقنيات إستخدام الفيجوال بيزك فأنا ضعيف جداً فى هذا الأمر وأكثر ما أعرفه هو نقل كود من ملف لملف أو كتابة كود بسيط على كل حال لو لم يكن لديك مانع ويكون لديك وقت أتمنى أن تساعدنى فى التغلب على هذه المشاكل أو بعضها شاكر أفضالك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.