أبو محمد الهذلي

أريد حل مشكلة الشعر في ال Word بأوامر الماكرو

8 ردود في هذا الموضوع

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

بعد الإطلاع على هذا الرابط

http://www.arabteam2000.com/vb/showthread....?threadid=10132

هل يمكن حل المشكلة بماكرو فيه أمر يجعل الأبيات مصفوفة متساوية مضبوطة بدون ضغط Shift + Enter

أريد أمر أضيفه إلى الماكرو الذي سجلته وأين أضيفه

وجزاكم الله خيراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

للمحاذة بعد الكتابة


Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify

لمعرفة أين تكتب الماكرو و كيف تشغله راجع دروس فيجوال ييزيك التطبيقات فى الاكسيل المنشورة هنا ، فالموضوع متماثل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أشكركما على الرد السريع

وأوضح قصدي أكثر وهو أني أريد شطري البيت في الجدول يمتدان بعرض العمودين في الجدول

(كل شطر من البيت في عموده) بدون أن أضغط Shift + Enter بعد كل شطر من البيت أكتبه.

ولكن يا أخ محمد طاهر لما أضفت الكود إلى الماكرو المسجل عمل للنص (ضبط) فقط

وهذا هو الماكرو الذي سجّلته

[l]

Sub شعر()



ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:= _

       3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _

       wdAutoFitFixed

   With Selection.Tables(1)

       If .Style <> "جدول عادي" Then

           .Style = "جدول عادي"

       End If

       .ApplyStyleHeadingRows = True

       .ApplyStyleLastRow = True

       .ApplyStyleFirstColumn = True

       .ApplyStyleLastColumn = True

   End With

   Selection.MoveRight Unit:=wdCharacter, Count:=3, Extend:=wdExtend

   Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify

   Selection.MoveLeft Unit:=wdCharacter, Count:=1

   Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthPoints

   Selection.Tables(1).Columns(1).PreferredWidth = CentimetersToPoints(6.5)

   Selection.Range.Cells(1).VerticalAlignment = wdCellAlignVerticalCenter

   Selection.Move Unit:=wdColumn, Count:=1

   Selection.SelectColumn

   Selection.Columns.PreferredWidthType = wdPreferredWidthPoints

   Selection.Columns.PreferredWidth = CentimetersToPoints(1.5)

   Selection.Move Unit:=wdColumn, Count:=1

   Selection.SelectColumn

   Selection.Tables(1).Rows.Alignment = wdAlignRowCenter

   Selection.Columns.PreferredWidthType = wdPreferredWidthPoints

   Selection.Columns.PreferredWidth = CentimetersToPoints(6.5)

   Selection.MoveLeft Unit:=wdCharacter, Count:=3

End Sub

[/l]

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخي العزيز

يبدو أنالمشكة لدي فى فهم " البيت و الشطر " فليس لي علم بالشعر

أرجو وضع ملفي وورد

الأول قبل عمل ما تريد

و الثاني بعد عمل ما تريد لكي أفهم ما تريد

مع اني لست ضليعا لا فى الشعر و لا فى قواعد اللغة العربية

الا ان لي ملحوظة علي الشعر فى توقيعك

و هي أني أشعر ان النصف الثاني من البيت الثاني أفضل كونه

و لكن أسعي البه فأحرم

( مجرد احساس بصرف النظر عن الوزن و القافية و قواعدها )

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أخي الكريم

أما أنا فأحب الشعر ، وأموت في اللغة العربية وخاصة في شيء اسمه ((النحو)) مررررة :D .

ليس في الشعر خلل إن شاء الله لأن العُلى يجوز معاملته بالتذكير والتأنيث وتأنيثه مجازي والألف المقصورة (ى) علامة للتأنيث.

ولكن ليس عندي إمكانية الآن لأضع الملف على النت فهل بريدك هو

[email protected]

فإن هو فقد أرسلت إليك الملف الذي يشرح لك كل ما تريد

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بسم الله الرحمن الرحيم

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

ولكن حتى لا تضيغ الفائدة أحببت أن أذكر ما فيها :

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

الطريقة الأولى :

ادرج جدول من ثلاثة حقول ، اكتب الصدر في الحقل الأول والعجز في الثالث ، ثم SHIFT + ENTER لكتابة بيت جديد ، بعد ذلك حدد الكل ثم ضبط كلي من تنسيق ، ثم غير عرض الأعمدة لتتناسب مع بعضها.

الطريقة الثانية :

1- ادرج جدول من ثلاثة حقول ، اكتب الصدر في الحقل الأول والعجز في الثالث ثم حدد الصف كاملا وانقر عليه بالزر الأيمن للماوس ثم اختر خصائص الجدول .

2- اختر لسان التبويب " خلية " من نافذة " خصائص الجدول " ثم انقر على الزر " خيارات " .

3- ضع اشارة صح على مربع الاختيار " احتواء النص " في صندوق حوار خصائص الخلية .

4- اضغط موافق مرتين وتمتع بكتابة القصيدة داخل الجدول بدون عناء التنسيق لكل بيت من القصيدة .

الطريقة الثالثة :

إضافة إلى الطريقة الثانية باستخدام الماكرو " برمجة حلوة وسهلة " :

1- من قائمة " أدوات " Tools اختر " ماكرو Macro " .

2- اختر تسجيل ماكرو جديد باسم Adjustmenet ثم سجل التسجيل Create.

3- اختر ماكرو مرة أخرى من قائمة أدوات ثم اختر" وحدات ماكرو" وحدد اسم الماكرو Adjustmenet ثم اختر " تحرير " .

4- يفتح عندك الفيجيوال بيسك Visual Basic ، ألصق نص الماكرو التالي في الـ Sub :

ثم أغلق مايكروسوفت فيجيوال بيسك Visual Basic .

5- اتبع المسار : أدوات / تخصيص / اختر لسان التبويب " الأوامر " / اختر من الفئات " وحدات الماكرو " .

6- اسحب الماكرو Normal.NewMacro.Adjustment إلى اشرطة الأدوات .

7- لتنسيق الشعر بهذه الطريقة افتح ملف الشعر المراد ضبطه ثم ضع مؤشر الماوس في أي مكان داخل العمود المطلوب تنسيقه ثم اضغط على المفتاح المسمى Normal.NewMacro.Adjustment فتلاحظ بدء تنسيق الجدول آليا .

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

Selection.SelectColumn 

Selection.ParagraphFormat.Alignment = wdAlignParagraphJustjfy

Selection.Cells.SetHeight RowHeight:=8+

Selection.Font.SizeBi, HeightRule:=wdRowHeightExactlyWith Selection.Rows

.TableDirection = wdTableDirectionRtl

.Alignment = wdAlignRowRight

.AllowBreakAcrossPages = True

.SetLeftIndent LeftIndent:=CentimetersToPoints(0),

RulerStyle:=wdAdjustN one

End With

Selection.Rows.SpaceBetweenColumns = CentimetersToPoints(0.38)

Selection.MoveLeft Unit:=wdCharacter, Count:=l

For I = 1 To 24

Selection.EndKey Unit:=wdLine

Selection.TypeText Text:=Chr(ll)

Selection.MoveDown Unit:=wdLine, Count:=l

Next I

End Sub

مع الاعتذار لذلك المنتدى وذلك الكاتب، ومن كان يعرف الراط فليعيد كتابته.

ملاحظة :

حاولت استخدام الطريقة الثالثة ولكن تظهر مشاكل عند تطبيق الماكرو، فما طريقة استخدامه ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا أخونا محمد

الرابط الاصلي

http://alnaadi.com/showthread.php?threadid=1723

بالمناسبة أنا حاولت مع الملف السابق الذي تم ارساله لي

ولكن لم أستطع الوصول الي نتيجة مفيدة

و اعتذر علي التأخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .