h63 قام بنشر أغسطس 26, 2007 قام بنشر أغسطس 26, 2007 مشكلة عنيدة هى مشكلة الدوائر الحمراء والتى تعمل بصورة جيدة فى هذا المرفق ولكن عندما انتقل للعمل فى الشيت كنترول وعمل حماية لهذا الشيت تظهر لى رسالة خطأ فما الحل هشام _____.rar
احمدزمان قام بنشر أغسطس 27, 2007 قام بنشر أغسطس 27, 2007 بسم الله الرحمن الرحيم الصلاة و السلام على سيدنا رسول الله السلام عليكم ورحمة الله الأخ هشام هذا حل موجود مسبقا هنا في هذا الموقع من اعداد و شرح الأستاذ القدير تامر عمر جزاه الله عنا خير الجزاء ارجو ان تستطيع تنفيذة حل مشكلة اعتراض حماية اورق الملف لتنفيذ الماكرو هو الحل النهائى لهذه المشكلة والتى لايأتى بعده حلول نهائيا . كما نعرف جميعا انه عند حماية اوراق الملف وعند تنفيذ ماكرو به بعض الاوامر يتم اعتراض تنفيذها نتيجة الحماية ودائما الحل فى الدواء المكرر والمعاد دائما وهو رفع الحماية فى بداية عمل الماكرو ثم وضعها مرة اخرى فى نهايتة ولكن الحل هنا فى منتدى الاكسيل لاول مرة على مستوى المنتديات . وعلى سبيل المثال لا الحصر لهذه الاوامر التى تسبب توقف عمل الماكرو ادراج او الغاء صفوف او اعمدة تغير لون الخلية او لون الخط والكثير من الاحداث الاخرى التى تتوقف بسبب الحماية . فيلجأ البعض منا مما له دراية بالاكواد بعمل عدد 2 ماكرو منفصلين الاول يعمل على تنفيذ الحماية والثانى يعمل على الغاء الحماية ثم عند تصميم اى ماكرو يقوم بوضع اسم الماكرو الاول فى بداية المكرو الذى يقوم بتصميمة ويضع اسم الماكرو الثانى فى نهاية الماكرو الذى يقوم بتصميمة بمعنى فى حالة اعترض الحماية يجب رفع الحماية فى بدية الماكرو ثم اعادة وضع الحماية مرة اخرى فى نهاية هذا الماكرو حتى يتم تنفيذ هذا الماكرو بدون اعتراض . ولكن الاكسل وفر لنا الكثير والكثير ولكن العقبة هى عدم الوصول الى هذه المعرفة وكثرت مشاكل اعتراض الحماية لتنفيذ الماكرو الذى يحتوى على بعض الاوامر التى اشرت اليها فى بداية الحديث ولكن توجد اضافة لامر الحماية لم الحظ ان احدا يقوم بأستخدامها وهى الامر كود 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) كود 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 مع خالص شكري اخوكم - احمد
h63 قام بنشر أغسطس 28, 2007 الكاتب قام بنشر أغسطس 28, 2007 بسم الله الرحمن الرحيم هلا اخى احمد وبكل اهل البلد الامن الجميل اسف على تاخرى فى الرد اذا كنت ممن جربوا الحل ونجح فاعطى لى فرصة التجربة لانى اعتقد انى جربت الحل السابق ولكنى تقريبا لم اصل الى حل فالى اللقاء حتى اجرب الحل واشكرك شكرا جزيلا اخيك هشام
h63 قام بنشر أغسطس 28, 2007 الكاتب قام بنشر أغسطس 28, 2007 بسم الله الرحمن الرحيم اخى العزيز احمد الرجاء انيتسع صدرك اذا كنت فعلا جربت الحل قارجوا منك ان تشرح لى كيف اضع الكود باظبط
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.