ישורון קובי

הבלוג של ישורון

מאקרו לוורד: הכנס את מספר הערת שוליים בטקסט

נשאלתי שאלה:
האם ניתן להמיר את ההפניה של ההערת שוליים לטקסט שיציג את המספר האמיתי שמוצג כעת.
למשל:

מאקרו לוורד: הכנס את מספר הערת שוליים בטקסט
מאקרו לוורד: הכנס את מספר הערת שוליים בטקסט

ההערה הראשונה כאן במסמך היא אות "פו", וכיון שהיא הראשונה אז האינדקס הפנימי שלה הוא 1.
לכן צריך איזה פטנט בשביל להצליח לקחת את מה שמוצג באמת.
כמו כן, במסמך דוגמא, עשינו מקטע חדש, שבו מתחיל מספור מחדש במספרים, אז שוב זה צריך פיתרון.

על פי מאקרו שראיתי כאן, עשינו מאקרו שעושה את העבודה.
השימוש במאקרו על אחריות המשתמש, ותחילה מומלץ לעשות על הקובץ דוגמא שצירפנו.
המאקרו מוגדר כפעולת הסטוריה אחת, כך שלבטל את הפעולה מספיק ללחוץ Ctrl-Z.

וכך נראית התוצאה:

DOCXמסמך דוגמא הערות שוליים (18 kb)

מאקרו לוורד: הכנס את מספר הערת שוליים בטקסט

Sub FootnotesNumToText() Dim oFootnote As Footnote Dim rngFootnote As range Dim strRef As String Dim i As Long Application.UndoRecord.StartCustomRecord ("FootnotesNumToText") For Each oFootnote In ActiveDocument.Footnotes Set rngFootnote = oFootnote.Reference With rngFootnote i = oFootnote.Index 'To get the actual reference text, we need to cross-reference it! .Collapse wdCollapseStart .InsertCrossReference wdRefTypeFootnote, wdFootnoteNumber, i, False, False .MoveEnd wdCharacter, 1 strRef = .Fields(1).Result .Fields(1).Delete 'Insert the reference text surrounded by curly braces .InsertBefore "{" & strRef & "}" End With 'Insert the reference text surrounded by curly braces in the footnote text oFootnote.range.InsertBefore "{" & strRef & "} " Next oFootnote Application.UndoRecord.EndCustomRecord End Sub

שאלות, הערות או הארות? אשמח לשמוע - כתבו לי דרך עמוד צור קשר.