إنتقال للمحتوى

ابحث فى الموقع مع جوجل

بحث مخصص

تأكد من صحة الحديث قبل نشره



بحث عن:

جديــــــد New

شبكة محترفى أوراكل

<




صورة

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


  • من فضلك قم بتسجيل الدخول للرد
11 رد (ردود) على هذا الموضوع

#1 Nabil 99

Nabil 99
  • Members-1
  • 5 مشاركة

تاريخ المشاركة 18 August 2011 - 02:12 PM

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

#2 تومي محمد

تومي محمد

    مدير قسم الوورد

  • مدير قسم
  • 699 مشاركة
  • Gender:Male

تاريخ المشاركة 18 August 2011 - 10:42 PM

جرب هذا الكود :
MsgBox " " & 100 - ActiveDocument.Characters.Count & " "

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

#3 Nabil 99

Nabil 99
  • Members-1
  • 5 مشاركة

تاريخ المشاركة 19 August 2011 - 12:27 PM

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

#4 الطلحي

الطلحي
  • PMembers-1
  • 286 مشاركة
  • Gender:Male

تاريخ المشاركة 19 August 2011 - 05:18 PM

بارك الله فيك أخي الكريم

#5 عبدالله المجرب

عبدالله المجرب

    مراقب عام

  • مراقب عام
  • 5098 مشاركة
  • Gender:Male
  • Location:مملكة البحرين
  • Interests:صرح اوفسينا التعليمي

تاريخ المشاركة 19 August 2011 - 09:32 PM

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

أخــ أبو احمد ــوكم


1
news.gif
 

حسابي في الفيسبوك

حسابي في تويتــــر

 

اعذروني ففي الفترة القادمة سيكون تواجدي في المنتدى ضيق جداً وذلك للانشغال في دورة لمدة 6 شهور بعد الدوام

 


#6 برقش

برقش

    خبير وورد

  • EMembers-3
  • 469 مشاركة
  • Gender:Male

تاريخ المشاركة 20 August 2011 - 01:20 AM

أخي Nabil99

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

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

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

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

ملفات مرفقة



#7 Nabil 99

Nabil 99
  • Members-1
  • 5 مشاركة

تاريخ المشاركة 21 August 2011 - 04:33 PM

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

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

#8 عبدالله المجرب

عبدالله المجرب

    مراقب عام

  • مراقب عام
  • 5098 مشاركة
  • Gender:Male
  • Location:مملكة البحرين
  • Interests:صرح اوفسينا التعليمي

تاريخ المشاركة 21 August 2011 - 10:18 PM

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

اخي الفاضل كود الاخ تومي يمكنك وضعه في ميكرو ثم تشغيل الميكرو ليتم حساب النص المدخل ولكن الكو يحسب المسافات كانها حروف مدخله فان كان لا يوجد مانع من ذلك فسارفق لك الشرح ان شاء الله

أخــ أبو احمد ــوكم


1
news.gif
 

حسابي في الفيسبوك

حسابي في تويتــــر

 

اعذروني ففي الفترة القادمة سيكون تواجدي في المنتدى ضيق جداً وذلك للانشغال في دورة لمدة 6 شهور بعد الدوام

 


#9 برقش

برقش

    خبير وورد

  • EMembers-3
  • 469 مشاركة
  • Gender:Male

تاريخ المشاركة 21 August 2011 - 11:41 PM

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

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

إليك هذا الاقتراح. على أساس الكود الذي ذكره الأخ toumi عثرت في الإنترنت على كود ماكرو يجعل عدد الحروف في كامل المستند يظهر وقتيا في أسفل نافذة الوورد.
Sub CharCount()
Application.StatusBar = "Character Count = " & ActiveDocument.Characters.Count
End Sub

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

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

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

تم التعديل بواسطة برقش, 21 August 2011 - 11:43 PM.


#10 Nabil 99

Nabil 99
  • Members-1
  • 5 مشاركة

تاريخ المشاركة 23 August 2011 - 02:15 PM

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

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

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

#11 برقش

برقش

    خبير وورد

  • EMembers-3
  • 469 مشاركة
  • Gender:Male

تاريخ المشاركة 23 August 2011 - 06:20 PM

أخي 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 لأنه يحسب أيضا علامة الفقرة.

تم التعديل بواسطة برقش, 23 August 2011 - 06:22 PM.


#12 Nabil 99

Nabil 99
  • Members-1
  • 5 مشاركة

تاريخ المشاركة 23 August 2011 - 08:43 PM

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




0 عضو (أعضاء) يشاهدون هذا الموضوع

0 الأعضاء, 0 الزوار, 0 مجهولين