دانیل یک مقاله دانشگاهی دارد که از پاورقی های زیادی استفاده می کند. در حال حاضر او در پایان هر جمله پاورقی دارد. او مایل است تمام پاورقی های یک پاراگراف را در یک پاورقی واحد در انتهای پاراگراف ترکیب کند. او فکر می کند که آیا راهی برای انجام خودکار این کار وجود دارد؟
هیچ راهی برای انجام خودکار این کار وجود ندارد، اما می توانید آن را با ماکرو انجام دهید. تنها کاری که ماکرو باید انجام دهد این است که از هر پاراگراف سند عبور کند و ببیند آیا پاورقی دارد یا خیر. سپس، با فرض انجام این کار، آنها را به هم متصل میکند، پاورقیها را حذف میکند و یک پاورقی جدید با متن به هم پیوسته در انتهای پاراگراف اضافه میکند. اینجا یک ماکرو است که دقیقاً این کار را انجام می دهد:
Sub MoveFootnotes()
Dim p As Paragraph
Dim iFN As Integer
Dim J As Integer
Dim oCurPar As Object
Dim sTemp As String
For Each p In ActiveDocument.Paragraphs
sTemp = ""
iFN = p.Range.Footnotes.Count
For J = iFN To 1 Step -1
sTemp = p.Range.Footnotes(J).Range.Text & " " & sTemp
p.Range.Footnotes(J).Delete
Next J
sTemp = Trim(sTemp)
If sTemp > "" Then
Set oCurPar = p.Range
oCurPar.Collapse Direction:=wdCollapseEnd
oCurPar.MoveEnd Unit:=wdCharacter, Count:=-1
ActiveDocument.Footnotes.Add Range:=oCurPar, Text:=sTemp
End If
Next p
End Sub
توجه داشته باشید که ماکرو متن پاورقی را برای هر پاراگراف به رشته sTemp الحاق می کند. سپس هنگام اضافه کردن پاورقی به انتهای پاراگراف از این مورد استفاده می شود. این یک اشکال برای ماکرو ایجاد می کند - فقط متن را کپی می کند، نه هر قالب بندی متن را.
به عنوان مثال، اگر تعدادی پاورقی دارید که شامل نقلقول به کتابها میشود، به احتمال زیاد عناوین آن کتابها به صورت مورب قالببندی شدهاند. پس از اجرای ماکرو، ایتالیک از بین خواهد رفت، اگرچه تمام متن وجود دارد. (هیچ راهی وجود ندارد که من از آن اطلاع داشته باشم که قالب بندی را بدون تغییر به پاورقی جدید منتقل کنم.)