اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كيف يمكن تحديد عدد حروف نص ما؟


Nabil 99

الردود الموصى بها

السلام عليكم

لدي استفسار وآمل أن أجد له الجواب الشافي ان شاء الله.

طُلب منا - أنا وبعض الزملاء - ترجمة (واختصار) بعض النصوص القصيرة، وكتابتها في ملف وورد، على أن يكون عدد الحروف محدداً بطريقة صارمة لا تقبل زيادة حتى حرف واحد (مع التشديد على حرف وليس كلمة) لأن هذا النص سيتم إدخاله في برنامج آخر لمعالجات أخرى، وهذا أصبح يرهقنا لأننا لا يمكن أن نُتم النص ثم نذهب الى عداد الكلمات في كل مرة ونكتشف أن النص أكبر بعدة حروف مثلاً، ثم نعود لعمل الاختصار!!

هل توجد طريقة او ماكرو يمكن عبره تحديد عدد الحروف المطلوبة في النص، ويمكن على الأقل أن يوقف الماوس عن الاستمرار في الكتابة اذا أصبح عدد الحروف أكبر من المحدد؟ اذ حينها يمكن التحكم بالنص بسرعة عن طريق الاختصار.

مع شكري وامتناني سلفاً

رابط هذا التعليق
شارك

جرب هذا الكود :

MsgBox " " & 100 - ActiveDocument.Characters.Count & " "

مع تغيير في العدد الاجمالي للحروف التي تريدها كما يظهر هنا في الكود العدد المحدد 100 حرف.

والسلام عليكم ورحمة الله وبركاته

رابط هذا التعليق
شارك

الأخ toumi

شكراً على الرد الكريم.

أنا لست محترف اوفيس أو وورد، ولهذا لا أعرف بالضبط أين أضع الكود؟ وقد بحثت عن موضوع يرشدني الى ذلك في المنتدى، فلم أعثر للأسف سوى على ما يخص الأكواد في أكسل وأكسس.

اذا تكرمت توضح لي كيف أستخدم هذا الكود في وورد 2007 - النسخة الانجليزية؟

وفقك الله

رابط هذا التعليق
شارك

اخي تومي الكود يعمل بشكل ممتاز ولكنه يحسب حتى المسافات وليس الحروف وحسب

قد اكون مخطى او اني لم اعرف ان استخدمه بالشكل الصحيح لذا ارجو منك ارفاق ملف به الكود بالطريقة الصحيحة

رابط هذا التعليق
شارك

أخي Nabil99

لا أظن أن الوورد قادر على فعل ما تريده بالتحديد. لذا أنصحك باعتماد هذه الوسيلة الأخرى القائمة على الجافا. تستطيع، بعد كتابة الجمل التي تريد، أن تنسخها وتلصقها في ملف وورد.

ليست عندي أية خبرة في الجافا، ولكن وجدت هذه الصفحة (http://www.java-samples.com/showtutorial.php?tutorialid=733) التي تضع الكود الذي قد يفيدك ومنها صنعت الملف المرفق. وإذا لاحظ أي من الإخوة خطأ في هذه المعلومات أرجو أن يبادر إلى تصحيحها.

حين تفك الضغط من الملف المرفق ستجد ملفاً باسم character_counter.htm. عندما تفتحه ستجد مربعا مع رقم 306 فوقه (إذا ظهرت في إنترنت إكسبلورر رسالة تحذيرية فاحرص على النقر على ِAllow blocked Content لكي يعمل الكود). اذا بدأت تكتب في المربع ستجد أن العدد يتناقص تدريجياً، حتّى إنه يمنعك من المتابعة حين تصل إلى الصفر. إذا كنت تريد رقماً غير 306، فإليك هذه الطريقة لتغيير الكود. غيّر امتداد الملف من htm إلى txt. افتح الملف وغيّر كل 306 فيه الى العدد الذي تريد. ثم أغلق الملف وأعد الامتداد إلى htm.

يمكنك بعد ذلك نسخ النص إلى الوورد بكل سهولة.

character_counter.zip

رابط هذا التعليق
شارك

أخي برقش، شكراً لتوضيحك وتعاونك.

في الحقيقة توجد طرق أخرى للحل خارج نطاق الوورد والاوفيس، ولكنها لن تنفعنا لسبب بسيط، هو اننا نعول على امكانات تحرير النصوص في الوورد من قواميس وما أشبه من تنسيقات وأختصار للجهود والوقت، وهذا غير متاح في البرامج الأخرى التي تحوي بعض الحلول.

لم يفدني أحد لحد الآن حول كيفية استخدام الكود المرفوع من الأخ toumi؟ آمل أن يتفضل أحد الأخوة بتوضيح ذلك.

رابط هذا التعليق
شارك

لم يفدني أحد لحد الآن حول كيفية استخدام الكود المرفوع من الأخ toumi؟ آمل أن يتفضل أحد الأخوة بتوضيح ذلك.
اخي الفاضل كود الاخ تومي يمكنك وضعه في ميكرو ثم تشغيل الميكرو ليتم حساب النص المدخل ولكن الكو يحسب المسافات كانها حروف مدخله فان كان لا يوجد مانع من ذلك فسارفق لك الشرح ان شاء الله
رابط هذا التعليق
شارك

أخي Nabil 99

اسمح لي بأن أوضح لك أمراً.

أنت طلبت "طريقة او ماكرو يمكن عبره تحديد عدد الحروف المطلوبة في النص، ويمكن على الأقل أن يوقف الماوس عن الاستمرار في الكتابة اذا أصبح عدد الحروف أكبر من المحدد". في الحقيقة لا أظن أنه يوجد ماكرو يعمل بطريقة "الوقت الفعلي real time" أي أن يحسب عدد الحروف خلال كتابتها ويوقف الكتابة حين يبلغ عدد الحروف حدا معينا. لقد زوّدَنا الأخ toumi مشكوراً بكود ماكرو يلبي قسما مما تريد (أي "ماكرو يمكن عبره تحديد عدد الحروف المطلوبة في النص")، إذ يظهر عند تشغيله مربع نص يريك عدد الحروف المكتوبة مطروحاً من 100 (على افتراض أن 100 هو العدد الأقصى للحروف في المستند بكامله). غير أن تشغيل هذا الماكرو يستلزم بضع نقرات، وهو بذلك لا يختلف عن النقر على كلمة word عند أسفل يسار شاشة الوورد (2007) حيث يظهر أيضاً مربع نص يورد عدد الحروف في كامل المستند سواء مع مسافات أو من دون مسافات. لذا لا يبدو لي أنه ثمة فارق كبير بينهما.

إليك هذا الاقتراح. على أساس الكود الذي ذكره الأخ toumi عثرت في الإنترنت على كود ماكرو يجعل عدد الحروف في كامل المستند يظهر وقتيا في أسفل نافذة الوورد.

Sub CharCount()

Application.StatusBar = "Character Count = " & ActiveDocument.Characters.Count

End Sub

إن كان هذا الاقتراح يلبّي ولو جزءاً مما تريد وترغب في استعماله، يمكننا أن نتعاون مع الإخوة في المنتدى لتعليمك إنشاء هذا الماكرو وصنع اختصار على لوحة المفاتيح أيضاً لتسهيل الأمور عليك. غير أن هذا الماكرو لا يفيدك إلا في ما يلي: خلال كتابتك للنص، يمكنك تشغيل الماكرو بواسطة الاختصار على لوحة المفاتيح لترى في أسفل النافذة عدد الحروف في كل المستند، وهكذا تعرف إن كنت قد اقتربت من الحد الأقصى المسموح به أو تجاوزته مثلاً.

أما إذا أردت تعداداً للحروف الباقية كما يفعل الجافا، فلا أظن أن الوورد يستطيع تلبية هذا الطلب.

ملاحظة: من الممكن في الإكسل استعمال الدالة LEN لإظهار عدد الحروف في خلية معينة. غير أن الرقم لا يظهر إلا بعد الضغط على زر Enter أو الانتقال إلى خلية أخرى، فهو لا يظهر "في الوقت الفعلي" أي خلال كتابة النص. ولكن يمكن عندئذ الرجوع إلى خلية النص وإجراء أية تعديلات قد تلزم.

تم تعديل بواسطه برقش
رابط هذا التعليق
شارك

أخي برقش

شكراً جزيلاً لك وللأخ الكريم عبدالله المجرب.

كما تفضلت فإن الطريقة لا تلبي المطلوب تماماً، ولكنها حلت الجزء الأكبر منه.

وحول الماكرو

إن كان هذا الاقتراح يلبّي ولو جزءاً مما تريد وترغب في استعماله، يمكننا أن نتعاون مع الإخوة في المنتدى لتعليمك إنشاء هذا الماكرو وصنع اختصار على لوحة المفاتيح أيضاً لتسهيل الأمور عليك.

حبذا لو تفضلت بذكر الطريقة، وخصوصاُ الاختصار.

وفقك الله.

رابط هذا التعليق
شارك

أخي Nabil 99

بما ان الوورد 2007 لديك هو النسخة الانكليزية فسأذكر لك أسماء الأزرار بالإنكليزية.

- افتح الوورد واذهب إلى شريط View الذي يجب أن يكون الأخير.

- ضمن هذا الشريط ستجد أن آخر زر هو Macros. فانقر عليه واختر View macros من القائمة. عندئذ سيظهر المربع Macros.

- تحت Macro name اكتب اسم الماكرو: CharCount

- انقر على الزر Create في الجهة اليمنى. ستجد أن نافذة جديدة انفتحت والمؤشر هو على سطر فارغ تحته عبارة End Sub

- انسخ النص التالي

Application.StatusBar = "Character Count = " & ActiveDocument.Characters.Count

وألصقه عند موضع المؤشر، أي فوق End Sub

- أغلق النافذة الكبرى Microsoft Visual Basic - Normal للعودة إلى الوورد.

بهذه الطريقة يكون قد تم إنشاء الماكرو. لإنشاء الاختصار:

- انقر في الوورد على زر الأوفيس في أعلى اليسار. حين تظهر القائمة اختر Word Options في أسفلها.

- من قائمة Word Options اختر Customize.

- ستجد في أسفل المربع عبارة Keyboard Shortcuts: Customize، انقر على زر Customize.

- حين ينفتح مربع Customize Keyboard ابحث تحت كلمة Categories على كلمة Macros (يجب ان تكون تحت الخط المتقطع مباشرة)

- حين تنقر على كلمة Macros ستجد اسم الماكرو CharCount في المربع الأيمن Macros (ستجد غيره إن كانت لديك ماكروات أخرى).

- انقر على CharCount لتحديده ثم انزل إلى Press new shortcut Key. ضع المؤشر هناك واختر الاختصار الذي تريد. سأقترح عليك Alt+C. انقر بعد ذلك على زر Assign لتعيين هذا الاختصار لهذا الماكرو.

- انقر close ثم Ok لاغلاق النوافذ.

وهكذا حين تضغط على زري Alt+C في الوورد ستجد أن عدد الحروف يظهر في Status bar.

ملاحظة هامة جدا: فوجئت حين وجدت أن تعداد الحروف في الماكرو يحسب ايضا علامة الفقرة (التي لا نراها عادة)، وذلك بخلاف الـWord Count المعهود، ولا أعرف السبب. لذلك عليك ان تطرح عدد الفقرات من عدد الحروف التي تظهر لديك في Status bar. مثلا، اذا كتبت 123 ثم نزلت فقرة ثم كتبت 4567، ثم شغلت الماكرو بالضغط في لوحة المفاتيح على Alt+C فستجد أنه يعطيك الجواب 9 بدلا من 7 لأنه يحسب أيضا علامة الفقرة.

تم تعديل بواسطه برقش
رابط هذا التعليق
شارك

الأخ الكريم برقش

شكراً على الرد الوافي وسرعة الاستجابة، كما أشكرك على الملاحظة التي ختمت بها توضيحك.

تم تطبيق ملاحظاتك، والماكرو يعمل جيداً، وأعتقد أن الاختصار ساعد كثيراً على التناغم بين سرعة الكتابة ومتابعة العداد مع حساب الفقرات.

لك شكري مجدداً، وفقك الله.

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information