اذهب الي المحتوي
أوفيسنا

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

  • 3 weeks later...
  • 3 weeks later...
قام بنشر

لا يمكن استعمال الإشارات المرجعية كعناصر في جدول المحتويات

جدول المحتويات يتم إنشاؤه بناء على العناوين فقط

ويمكن استعمال الإشارات المرجعية في تحديد المدى الخاص بجدول المحتويات أو عمل اكثر من جدول محتويات في الملف الواحد

قام بنشر
قام بنشر

الأخ الفاضل/ أ. محمد صالح

لا أخفي عليك، لم أستفد من الرابط المرفق.

ما أريده هو أنه يوجد ملف وورد وبه ما يقارب 1000 إشارة مرجعية، وأريد عمل استناد ترافقي لهم بأسهل الطرق وأسرعها.

مع الاحترام والتقدير

قام بنشر

الاستفادة الوحيدة من الرابط والتأكد من عدم إمكانية عمل جدول محتويات قائم على الإشارات المرجعية

جدول المحتويات يتم عمله باستعمال الأنماط h1, h2, h3 وهكذا

  • 3 weeks later...
قام بنشر (معدل)

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

سوف نرمز للحديث الذي تم التحديد عليه في البحث بالرمز H

إذًا سوف يكون تسلسل إدخال الإشارات المرجعية للأحاديث هكذا H1, H2, H3, H4 .............. وهكذا حتى نتنهي من كامل البحث . ويجب أن تكون على علم بآخر إدخال مرجعي قمت بعمله 

فليكن على سبيل المثال إجمالي الإشارات المرجعية للأحاديث 10 أحاديث على سبيل المثال . (يعني انتهيت من آخر حديث H10).

سوف تقوم بنسخ الكود ولصقه في ال vba كما تعلم.

ثم بعد تشغيل الكود اكتب هذا الرقم 10 بداخل المربع الحواري الذي سوف يظهر.

ودع الكود يقوم بتنزيل الإشارات المرجعية.

وهذا هو الكود: 

تم تعديل بواسطه رفعت يسري حامد
  • Like 1
قام بنشر (معدل)
Sub فهرس_الأحاديث()
'
' فهرس_الأحاديث Macro
'
'

Dim refaat As Double

refaat = InputBox("اكتب عدد الإشارات المرجعية")

Dim x As Double
x = 1
   
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "شبكة جدول" Then
            .Style = "شبكة جدول"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = False
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = False
        .ApplyStyleRowBands = True
        .ApplyStyleColumnBands = False
    End With
    Selection.TypeText Text:="الحديث"
    Selection.MoveRight Unit:=wdCell
    Selection.TypeText Text:="الصفحة"
    Selection.MoveRight Unit:=wdCell
    For x = 1 To refaat
    Selection.InsertCrossReference ReferenceType:="إشارة مرجعية", _
        ReferenceKind:=wdContentText, ReferenceItem:="H" & x, InsertAsHyperlink:= _
        True, IncludePosition:=False, SeparateNumbers:=False, SeparatorString:= _
        " "
    Selection.MoveRight Unit:=wdCell
    Selection.InsertCrossReference ReferenceType:="إشارة مرجعية", _
        ReferenceKind:=wdPageNumber, ReferenceItem:="H" & x, InsertAsHyperlink:=True _
        , IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
    Selection.MoveRight Unit:=wdCell
    x = x + 1
    Next
End Sub

 

تم تعديل بواسطه رفعت يسري حامد
  • Like 2
قام بنشر

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

قام بنشر
في ٣٠‏/١٢‏/٢٠١٨ at 23:45, شحادة بشير said:

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

ممكن تكتب في المربع الحواري ٧ بدلا من ٥ كحل مؤقت

في ٣١‏/١٢‏/٢٠١٨ at 00:47, مصطفى شاهين said:

السلام عليكم

ظهرت عندي رسالة تفيد بوجود مشكلة.

لاطلاعكم لطفاً

 

 

Capture.JPG

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

قام بنشر
1 ساعه مضت, شحادة بشير said:

أخي العزيز قمت بإلغاء السطر التالي فتم الحل:



 

تم التجربة بإلغاء السطر المشار إليه، والكود يعمل بشكل كامل.

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

يعطيكم العافية

6 ساعات مضت, رفعت يسري حامد said:

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

كلامك سليم أخي الفاضل، وقمت بإلغاء سطر x = x + 1 وتم تشغيل الكود والأمور على ما يرام.

أشكر جهودك الأكثر من رائعة، ولكل القائمين على منتدى أوفيسنا

يعطيك العافية

 

في ١٤‏/١٢‏/٢٠١٨ at 04:15, أ / محمد صالح said:

الاستفادة الوحيدة من الرابط والتأكد من عدم إمكانية عمل جدول محتويات قائم على الإشارات المرجعية

الله يعطيك العافية، تم حل المشكلة بإضافة كود تم إدراجه بالمشاركات أعلاه.

أشكر لكم جهودكم الطيبة معنا

دمتم بخير

  • Like 1
قام بنشر

ما شاء الله

شكرا خاص للأستاذ @رفعت يسري حامد

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

27 دقائق مضت, مصطفى شاهين said:

 

في ١٤‏/١٢‏/٢٠١٨ at 04:15, أ / محمد صالح said:

الاستفادة الوحيدة من الرابط والتأكد من عدم إمكانية عمل جدول محتويات قائم على الإشارات المرجعية

الله يعطيك العافية، تم حل المشكلة بإضافة كود تم إدراجه بالمشاركات أعلاه.

أشكر لكم جهودكم الطيبة معنا

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

  • Like 1
قام بنشر (معدل)

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

تم تعديل بواسطه رفعت يسري حامد
قام بنشر
3 ساعات مضت, رفعت يسري حامد said:

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

من لا يخطئ لا يعمل، وحقيقة أنك أفدتني وأرحتني من عناء كبير.

أشكر لك حُسن تعاونك أستاذنا الفاضل.

يعطيك العافية

  • 2 years later...

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