بسم الله الرحمن الرحيم (يَرْفَعِ ٱللَّهُ ٱلَّذِينَ آمَنُواْ مِنكُمْ وَٱلَّذِينَ أُوتُواْ ٱلْعِلْمَ دَرَجَاتٍ وَٱللَّهُ بِمَا تَعْمَلُونَ خَبِيرٌ } العلم درجات: أولها الصمت، والثانية الاستماع، والثالثة الحفظ، والرابعة العمل، والخامسة النشر ***مروان طاهات*** يرحب بكم ويكيبيديا الموسوعة المروانية MANT

الاثنين، 15 مايو 2017

كود التفقيط – ج1 اللغة العربية



دالة التفقيط للغة العربية

كود التفقيط – ج1 اللغة العربية

السلام عليكم, يعتبر كود التفقيط من أهم اكواد VBA كونه يحل مشكلة شائعة عند مستخدمي برنامج Excel من مختلف اللغات والمتمثلة بتحويل اي رقم عددي الى نص مما يساهم في حل مشكلة طباعة المستندات المالية رقماً ونصاً كما في حالة الشيكات او الفواتير وماشابه.
اعتقد ان كتابة هكذا كود ليتناسب مع طبيعة اللغة العربية (من تذكير وتأنيث) يُعتبر أمراً صعب جداً فما بالك اذا كان هذا الكود يأخذ بعين الاعتبار امكانية تغيير اسم العملة للرقم الصحيح وكذلك الجزء العشري (الكسر). اعتقد أن المهمة هنا ستكون اصعب واصعب. الكود الذي سأطرحه من كتابة الأستاذ المبدع عبد الله باقشير وقد تم طرحه في موقع أوفيسنا عام 2011. لقد قمت بتعديلات طفيفة جداً على الكود كالتالي,
  1. تغيير اسم الدالة الافتراضي لسهولة الكتابة والتذكر,
  2. تغير القيم الافتراضيّة للدالة للعملة السعودية (لا يوجد عملة افتراضيّة في الكود الاصلي),
  3. تغيير ترتيب مدخلات الدالة لسهولة التذكر.


كود التفقيط:

يمكنك نسخ كود التفقيط من صندوق الكود التالي او تحميل ملف المثال من آخر المقالة,

ملاحظات على عمل كود التفقيط للغة العربية:

بعد اضافة الكود الى موديول Module في محرر الفجوال بيزك لديك VBA Editor (او بعد تحميل ملف المثال وفتحه), سيمكنك استخدام كود التفقيط المقترح من خلال ادراجه (اضافته) كدالة ضمن ورقة العمل.
بعض اكواد VBA يكون عملها (كهذا الكود) من خلال انشاء دالة مخصّصة جديدة Function يرمز لها بـ UDF والتي هي اختصار لـ User Defined Formula.
وبالتالي, كل ماعليك فعله هو تحديد المكان الذي تريد اظهار نتيجة كود التفقيط فيه ثم اتبع خطوات ادراج معادلة في اكسل Excel,

ادراج معادلة كود التفقيط
ادراج معادلة كود التفقيط



ادراج معادلة كود التفقيط
ادراج معادلة كود التفقيط


لاحظ أننا حددنا مجموعة المعادلات User Defined لنتمكن من اظهار هذه المعادلة المخصّصة. سيُظهر لنا اكسل Excel قائمة بكل الـ UDF المتاحة لنا, نختار معادلة كودنا المسماة CurrText (المشتقة من Currency Text)

ادراج معادلة كود التفقيط
ادراج معادلة كود التفقيط


ومن ثم تقوم بادخال بيانات المعادلة حسب ماسيتم توضيحه لاحقاً, ثم موافق.

ادراج معادلة كود التفقيط
ادراج معادلة كود التفقيط



مدخلات كود التفقيط للغة العربية:



شرح معادلة كود التفقيط للعربية
شرح معادلة كود التفقيط للعربية


  • معادلة كود التفقيط المقترحة تحتاج كحد ادنى لتحديد قيمة المبلغ المراد تفقيطه سواءاً بكتابته بشكل مباشر في متن (نص) المعادلة كما في المثال رقم 5 اعلاه أو من خلال تحديد خليّة المبلغ كما في المثال الثالث والرابع اعلاه. في هذه الحالة, سيتم تطبيق العملة السعودية (ريال / هللة) على النتيجة افتراضياً الا في حال قمت بتعديل القيمة الافتراضية للمعادلة لتناسب احتياجاتك (سيتم شرحه لاحقاً). كذلك يأخذ الكود بعين الاعتبار صيغة التذكير والتأنيث للمبلغ كأن نقول “اثنا عشر” او “اثنتا عشرة” بما يتناسب مع متطلبات المستخدم النهائي. قمت بتأنيث نتيجة المعادلة افتراضياً لكن يمكنك دائماً تغييرها خلال ادراج الدالة او بتغيير القيمة الافتراضية داخل الكود نفسه (سيتم شرحها لاحقاً)
  • باقي مدخلات المعادلة حسب الرسم التوضيحي اعلاه هي كالتالي,
    • جنس العملة: اختياريّة, صفر او فارغة >> مذكر, اي رقم اخر >> مؤنث
    • اسم العملة الرئيسية مفرد. اختياريّة, لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
    • اسم العملة الرئيسية جمع. اختياريّة, لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
    • جنس الجزء العُشري من الرقم (الكسر). اختياريّة, صفر او فارغة >> مذكر, اي رقم اخر >> مؤنث
    • اسم العملة للجزء العُشري مفرد. اختياريّة, لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
    • اسم العملة للجزء العُشري جمع. اختياريّة, لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
    • عدد الخانات العشرية المراد قرائتها.  اختياريّة.
  • الكود يضيف العبارة ” فقط لا غير” افتراضيّاً بعد المبلغ. يمكنك التعديل عليها (صيغةً ومكاناً) من داخل الكود كما سنرى لاحقاً.
  • في حالة كان اسم العملة ينتهي بتاء مربوطة, يجب كتابةً اسمها بتاء مربوطة وليس هاء. مثال, هللة وليس هلله لتجنب الاخطاء الاملائيّة.
  • في المثالين الأول والثاني اعلاه, قمت بادخال القيم المتناسبة مع العملة المصريّة لكنني غيرت جنس العملة لاظهار الفرق.


كيفية التعديل على القيم الافتراضية لكود التفقيط:

يمكنك تغيير بعض او جميع القيم الافتراضية لكود التفقيط المقترح لتناسب احتياجاتك كالتالي, بعد نسخ الكود الى محرر الفيجوال بيزك – VBA Editor لديك, يمكنك تعديل القيم حسب التالي,

قيم كود التفقيط الافتراضية
قيم كود التفقيط الافتراضية

0. اسم الكود في حال اردت تغييره.
  1. اي نص تريد كتابته قبل القيمة المكتوبة. مثلاً “فقط ” (فقط مائة وخمسون….). يجب اضافة فراغ بعد العبارة التي قد ترغب باضافتها.
  2. اي نص تريد كتابته بعد القيمة المكتوبة. مثلاً ” فقط لا غير” (مائة وخمسون ريال فقط لا غير). يجب اضافة فراغ قبل العبارة التي قد ترغب باضافتها.
  3. هذا مكان المبلغ. لايمكنك التعديل هنا.
  4. جنس العملة, False >> مذكر, True >> مؤنث.
  5. اسم العملة الرئيسية مفرد. لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
  6. اسم العملة الرئيسية جمع. لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
  7. جنس الجزء العُشري من الرقم (الكسر). False >> مذكر, True >> مؤنث
  8. اسم العملة للجزء العُشري مفرد. لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
  9. اسم العملة للجزء العُشري جمع. لاحظ انك يجب ان تحيطها دائماً باشارتي قتباس “”
  10. عدد الخانات العشرية المراد قرائتها.  اختياريّة.
يجب التبنيه اخيراً انه وفي حالة اضفت هذه المعادلة داخل ملف العمل الذي يحوي الكود, ستظهر لك المعادلة كما هي مكتوبة اعلاه. اما لو حفظت الكود في ملف عمل آخر ومن ثم حاولت استخدام هذه المعادلة (يجب ان تكون ورقة العمل المذكورة مفتوحة الا في حال كان الكود محفوظاً في الملف الشخصي Personal, لمزيد من المعلومات حول هذه النقطة, راجع الروابط اسفل المقالة) فإنك ستحصل على المعادلة مسبوقة باسم ملف العمل الذي يحوي الكود. لا مشكلة اذا ان النتيجة ستكون هي ذاتها.

ادراج معادلة كود التفقيط من ملف آخر
ادراج معادلة كود التفقيط من ملف آخر

للتوضيح, في حال كنت تتسائل مثلي عن معنى كلمة تفقيط. فاعلم انها مشتقة من كلمة فَقَط وفعل فَقَّط والتي تعني (مثلاً فقّط الحساب) ختمه بكلمة « فقط » مع تعيين مقداره خوفا من التزوير
روابط مهمّة:
أخيراً ملف المثال المذكور في المقالة.