الدالة CALL في برنامج Microsoft Excel
صباح او مساء الخير حسب الوقت اللي هتشوفوا فيه المقال 🥀🥀🌼
هنتكلم النهاردة عن دالة CALL وتعريف دالة CALL وكيفية استخدام دالة CALL ووصف لدالة CALL
تعريف دالة الـCALL
في الإكسيل تعد دالة الـCALL في الإكسيل من الدوال المخصصة للمستخدمين المتقدمين فقط، إذ يجب الحذر عند التعامل مع
هذه الدالة، كما تتوفر فقط في ورقة ماكرو إكسيل، وتقوم دالة الـCALL بإرجاع ناتج لإجراء ما من خلال مكتبة الارتباط الحيوي
"Dynamic Link Library" أو مورد التعليمات البرمجية "Code Resource"، ويعد الماكرو إجراء أو مجموعة من
الإجراءات التي يمكن تشغيلها عدة مرات، وذلك عن طريق تسجيل نقرات الفأرة وضغطات المفاتيح، والذي قد يستخدم لتنسيق
تقرير شهري كاستخدام اللون الأحمر للحسابات المتأخرة أو ما إلى ذلك، بينما تعد مكتبة الارتباط الحيوي مكتبة تقوم على
مفهوم المكتبة المشتركة بين أنظمة التشغيل، إذ تعد أنظمة التشغيل مكتبات يتم تحديثها، بحيث تسمح للإصدارات القديمة بالعمل
على الإصدارات الأحدث إذا كان هنالك توافق في الوظائف.
كيفية استخدام دالة الـCALL
في الإكسيل يجب الحذر عند تحرير السجلات أثناء استعمال دالة الـCALL في الإكسيل، إذ إن التحرير الخاطئ سيؤدي إلى
إحداث تلف شديد في نظام التشغيل، والذي قد لا يتمكن المستخدم من إعادة تصحيحه، ولذلك يفضل عمل نسخة احتياطية من
البيانات القيمة قبل البدء باستخدام دالة الـCALL، ,تكون هذه الدالة على صيغتين؛ الأولى تعتمد على دالة الـREGISTER ID
والأخرى تستخدم في إصدارات إكسيل الخاصة بويندوز:
(...,[CALL(register_id, [argument1= ([...,[CALL(module_text, procedure, type_text, [argument1=
حيث تشير الرموز المستخدمة في الصيغتين السابقتين إلى ما يأتي:
register_id:
القيمة الناتجة من استخدام دالة الـREGISTER أو الـREGISTER ID.
module_text:
مدخل إجباري يمثل النص المقتبس الذي يعبر عن اسم مكتبة الارتباط الحيوي التي تحتوي على الإجراء في برنامج إكسيل الخاص بويندوز.
procedure:
مدخل إجباري يمثل النص الذي يعبر عن اسم الدالة في المكتبة.
type_text:
مدخل إجباري يمثل النص الذي يعبر عن نوع البيانات المراد إرجاعها واستخدامها في وسائط مكتبة الارتباط الحيوي أو مورد
التعليمات البرمجية، والتي تستخدم الحرف الأول من نوع البيانات المدخل لتحديد النوع، ويمثل الجدول الآتي هذه الأحرف ودلالاتها
مع وجود اختلافات بين الدلالات المتماثلة في اعتمادها على القيم أو المراجع وتصاريح لغة C
ملاحظة: لا تتوفر الدالة CALL في Excel للويب.
الوصف لدالة CALL
تستدعي إجراءاً في مكتبة الارتباطات الديناميكية أو في مورد التعليمات البرمجية. ثمة نموذجان لبناء جملة هذه الدالة.
استخدم بناء الجملة 1 مع مورد تعليمات برمجية مسجل مسبقاً فقط، والذي يستخدم وسيطات من الدالة REGISTER.
واستخدم بناء الجملة 2أ أو 2ب لتسجيل مورد تعليمات برمجية واستدعائه بشكلٍ متزامن.
هام: يتم توفير هذه الدالة للمستخدمين المتقدمين فقط.
وإذا كنت تستخدم الدالة CALL بشكلٍ غير صحيح، فقد تتسبب في حدوث أخطاء تتطلب منك إعادة تشغيل جهاز الكمبيوتر.
تتوفر هذه الدالة من ورقة ماكرو Excel فقط.
بناء الجملة لدالة CALL
بناء الجملة 1
يتم استخدمه مع الدالة REGISTER
CALL(register_id,[argument1],...)
بناء الجملة 2
يتم استخدمه بمفرده (في Microsoft Excel لـ Windows)
Register_id
وهي القيمة التي يتم إرجاعها بواسطة الدالة REGISTER أو REGISTER.ID التي تم تنفيذها مسبقاً.
CALL(module_text,procedure,type_text,[argument1],...])
يحتوي بناء جملة الدالة CALL على الوسيطات التالية:
Module_text مطلوبة.
وهي النص المقتبس الذي يحدد اسم مكتبة الارتباطات الديناميكية (DLL) التي تحتوي على الإجراء في Microsoft Excel لـ Windows.
Procedure مطلوبة.
وهي النص الذي يحدد اسم الدالة في DLL في Microsoft Excel لـ Windows. يمكنك أيضاً استخدام القيمة الترتيبية للدالة
من جملة EXPORTS في ملف تعريف الوحدة النمطية (DEF.).
يجب ألا تكون القيمة الترتيبية في شكل نص.
Type_text مطلوبة.
وهي النص الذي يحدد نوع البيانات للقيمة المرجعة وأنواع بيانات كافة الوسيطات لـ DLL أو مورد التعليمات البرمجية.
يحدد أول حرف من type_text القيمة المرجعة. يتم شرح التعليمات البرمجية التي تستخدمها لـ type_text بشكلٍ تفصيلي في
استخدام الدالتين CALL وREGISTER. وبالنسبة إلى مكتبات DLL أو موارد التعليمات البرمجية (XLLs) المستقلة، يمكنك إهمال هذه الوسيطة.
Argument1,... اختيارية.
وهي الوسيطات التي يتم تمريرها إلى الإجراء.
مثال لدالة CALL
تقوم صيغة الماكرو التالية بتسجيل الدالة GetTickCount من الإصدار 32 بت لـ Microsoft Windows.
تُرجع GetTickCount عدد وحدات المللي ثانية التي انقضت منذ بدء تشغيل Microsoft Windows.
REGISTER("Kernel32","GetTickCount","J")
لنفترض أن الدالة REGISTER هذه موجودة في الخلية A5، يمكنك استخدام الدالة CALL لإرجاع عدد وحدات المللي ثانية
التي انقضت، بعد أن يسجل الماكرو GetTickCount:
CALL(A5)
لمعرفة كيفية ادراج الاشكال في البوربوينت اضغط هنا