عبق الرياحيين قام بنشر يوليو 30, 2017 قام بنشر يوليو 30, 2017 السلام عليكم ارجوكم محتاجه الى حل فقدان المكتبات الخاصة بالاكسل فى حالة اختلاف النسح MISSING: Microsoft Excel 16.0 Object Library لو عندى اكتر من جهاز لازم افتح فى وضع التصميم علشان اغير لرقم نسخة الاوفيس او الاكسل بالاخص لو كان على الجهاز اصدار اخر هل هناك حل برمجى
jjafferr قام بنشر يوليو 30, 2017 قام بنشر يوليو 30, 2017 وعليكم السلام نعم ، تستطيعين ان تحذفين المرجع ، ثم بدلا عن الربط المسبق Early Bounding: Dim AccApp as Excel.Application تستخدمين الربط المتأخر Late Bounding: Dim AccApp as object . وهذا ينطبق على اي متغير للأكسس في الكود ، ولكن الكود قد يحتاج الى تعديل بعض الاحيان ، وبعض الاحيان لا يمكن العمل بدون الربط المسبق ، جعفر
عبق الرياحيين قام بنشر يوليو 30, 2017 الكاتب قام بنشر يوليو 30, 2017 10 ساعات مضت, jjafferr said: وعليكم السلام نعم ، تستطيعين ان تحذفين المرجع ، ثم بدلا عن الربط المسبق Early Bounding: Dim AccApp as Excel.Application تستخدمين الربط المتأخر Late Bounding: Dim AccApp as object . وهذا ينطبق على اي متغير للأكسس في الكود ، ولكن الكود قد يحتاج الى تعديل بعض الاحيان ، وبعض الاحيان لا يمكن العمل بدون الربط المسبق ، جعفر انا مش فاهمه حاجة كدة على فكرة
jjafferr قام بنشر يوليو 31, 2017 قام بنشر يوليو 31, 2017 السلام عليكم اولا انا اعتذر بأني اخطأت في التسميات في مشاركتي السابقة ، فبدل كلمة المرجع كان لازم اقول مكتبة ، وبدل Bounding كان المفروض ان اقول Binding الربط المسبق Early Binding: 1. ان تختار مكتبة الاكسل (طبعا لهذا المثال) ، . 2. ثم الكود يكون شيء من هذا القبيل: Dim oExcel As Excel.Application Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True والمشكلة هنا ، انه اذا اخترت مكتبة اكسل الاقل (مثلا اكسل 8) ، فأي كمبيوتر يحتوي على اكسل 8 او اكبر (9 ..12..15) فالمكتبة/البرنامج سوف يشتغل بطريقة صحيحه ، بينما اذا كان عندك اكسل 6 ، فستحصل على خطأ ، ولن يعمل الكود الميزة الموجودة في هذه الطريقة ، انها اسرع في العمل ، والاهم من هذا ، انها تساعدك في اعطائك الاوامر (مثلا تكتب امر معين ثم تكتب نقطة . فتظهر لك الاوامر التي تستطيع استعمالها). اما اذا استعملنا الربط المتأخر Late Binding فإننا لا نحتاج الى اختيار مكتبة الاكسل ، ونكتب الكود اعلاه هكذا ، والذي يشتغل على جميع اصدارات الاكسل: Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True المشكلة هنا ، اننا يجب ان نعتمد على انفسنا لعمل الكود ، فالاكسس لن يساعدنا ، وهو ابطأ من الطريقة الاولى. جعفر 1
jjafferr قام بنشر أغسطس 1, 2017 قام بنشر أغسطس 1, 2017 وعليكم السلام نعم الامثلة كثيرة في المنتدى ، والرابط التالي فيه كود يعمل بطريقة الربط المتأخر Late Binding وستلاحظ ان مكتبة الاكسل غير مُختارة فيه ، كما ستلاحظ هذين السطرين في اول الكود: Dim xlApp As Object 'Excel.Application Dim xlWB As Object 'Excel.Workbook هذا معناه اني واثناء البرمجة ، استخدمت طريقة الربط المسبق Early Binding لكي تساعدني مكتبات الاكسل ، وعند الانتهاء من البرنامج حذفت مكتبة الاكسل وغيّرت السطرين اعلاه والمهم هنا ان تُجرب البرنامج بعد تغييره الى الربط المتأخر Late Binding ، للتأكد ان الكود لايزال يعمل بطريقة صحيحة ، ومعظمها سيعمل ان شاء الله ولكن ، الرابط التالي يُخبرك انه لا تستطيع دائما ان تستخدم نفس الكود بين الربط المسبق والربط المتأخر: جعفر 2
sandanet قام بنشر أغسطس 1, 2017 قام بنشر أغسطس 1, 2017 شكراً لك استاذ @jjafferr جزاك الله خيراً .. موضوع في غاية الاهمية .. جاري الاطلاع 1
عبق الرياحيين قام بنشر أغسطس 1, 2017 الكاتب قام بنشر أغسطس 1, 2017 يعنى الاحسن اننا نستدعى المكتبة بطريقة Early Binding افضل ؟! صح كده ؟
jjafferr قام بنشر أغسطس 1, 2017 قام بنشر أغسطس 1, 2017 وعليكم السلام الاجابة هي نفسها التي اقترحتها من اول مشاركة ، استخدمي Late Binding جعفر 1
عبق الرياحيين قام بنشر أغسطس 1, 2017 الكاتب قام بنشر أغسطس 1, 2017 (معدل) 21 دقائق مضت, jjafferr said: وعليكم السلام الاجابة هي نفسها التي اقترحتها من اول مشاركة ، استخدمي Late Binding جعفر طيب معلش انا اسفه انا اتلخبط شويه حضرتك قصدك استخدم المكتبه الجاهزة من الـ reference انا اسفه يا استاذ @jjafferr تعبتك معايا شكرا ليك تم تعديل أغسطس 1, 2017 بواسطه عبق الرياحيين
jjafferr قام بنشر أغسطس 1, 2017 قام بنشر أغسطس 1, 2017 23 ساعات مضت, jjafferr said: اما اذا استعملنا الربط المتأخر Late Binding فإننا لا نحتاج الى اختيار مكتبة الاكسل ، ونكتب الكود اعلاه هكذا ، والذي يشتغل على جميع اصدارات الاكسل: Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True 1
عبق الرياحيين قام بنشر أغسطس 1, 2017 الكاتب قام بنشر أغسطس 1, 2017 بس حضرتك قولت المشكلة هنا ، اننا يجب ان نعتمد على انفسنا لعمل الكود ، فالاكسس لن يساعدنا ، وهو ابطأ من الطريقة الاولى.
jjafferr قام بنشر أغسطس 1, 2017 قام بنشر أغسطس 1, 2017 أختي الفاضلة سؤالك كان في 7/30/2017 at 07:00, عبق الرياحيين said: ارجوكم محتاجه الى حل فقدان المكتبات الخاصة بالاكسل فى حالة اختلاف النسح MISSING: Microsoft Excel 16.0 Object Library لو عندى اكتر من جهاز لازم افتح فى وضع التصميم علشان اغير لرقم نسخة الاوفيس او الاكسل بالاخص لو كان على الجهاز اصدار اخر والجواب هو 23 ساعات مضت, jjafferr said: اما اذا استعملنا الربط المتأخر Late Binding فإننا لا نحتاج الى اختيار مكتبة الاكسل ، ونكتب الكود اعلاه هكذا ، والذي يشتغل على جميع اصدارات الاكسل: اما 9 دقائق مضت, عبق الرياحيين said: بس حضرتك قولت المشكلة هنا ، 1. اننا يجب ان نعتمد على انفسنا لعمل الكود ، فالاكسس لن يساعدنا ، 2. وهو ابطأ من الطريقة الاولى. 1. فأنتي المفروض انه عندك الكود جاهز ، لهذا السبب انتي طرحتي هذا السؤال ، ومعظم المبرمجين لا يعرفون كيف يستفيدون من كود مكتبات البرامج الاخرى غير الاكسس ، 2. ابطأ من الطريقة الاولى ، وليس بطيء جعفر 1
عبق الرياحيين قام بنشر أغسطس 1, 2017 الكاتب قام بنشر أغسطس 1, 2017 تمام استاذ @jjafferr تسلم كتير انا اسفه لتعبك قوى ميرسى ليك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.