VBA将参考页插入MS单词尾注 [英] VBA to insert reference page into MS word endnote

查看:72
本文介绍了VBA将参考页插入MS单词尾注的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

书尾注通常会放弃页码的上标数字.例如,代替

Book endnotes often forgo superscript numbers for page numbers. E.g., instead of

Abe Lincoln was assassinated with a pistol.^33
                   :
33. A single-shot derringer pistol.

几位作者写的书

Abe Lincoln was assassinated with a pistol.
                   :
Page 297. Abe Lincoln was shot single-shot derringer pistol.

Word没有此功能,因此我认为它必须是Macro.我想出了下面的简单代码,该代码循环遍历所有尾注并添加了

Word doesn't have this feature, so I believe it would have to be a Macro. I came up with simple code below that loops through all of the endnotes and adds

"Page ???. "

在每个尾注之前,但是"???"是什么意思是否需要在引用所在的手稿中正确插入页码?

before each endnote, but what does "???" need to be to correctly insert the page number in my manuscript that the citation's located on?

Sub RedefineExistingEndNotes()
    Dim fn As Endnote
    For Each fn In ActiveDocument.Endnotes
        fn.Range.Paragraphs(1).Range.Font.Reset
        fn.Range.Paragraphs(1).Range.Characters(1).InsertBefore "Page" & "???" & " - "
    Next fn
End Sub

推荐答案

尝试下面的VBA代码:

Try the below VBA code:

Sub InsertPageNumberForEndnotes()

Dim endNoteCount As Integer
Dim curPageNumber As Integer

If ActiveDocument.Endnotes.Count > 0 Then

For endNoteCount = 1 To ActiveDocument.Endnotes.Count

Selection.GoTo What:=wdGoToEndnote, Which:=wdGoToAbsolute, Count:=endNoteCount
curPageNumber = Selection.Information(wdActiveEndPageNumber)
ActiveDocument.Endnotes(endNoteCount).Range.Select
ActiveDocument.Application.Selection.Collapse (WdCollapseDirection.wdCollapseStart)
ActiveDocument.Application.Selection.Paragraphs(1).Range.Characters(1).InsertBefore "Page " & CStr(curPageNumber) & " - "


Next
End If

End Sub

这篇关于VBA将参考页插入MS单词尾注的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆