首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确定尾注中使用的所有样式

确定尾注中使用的所有样式
EN

Stack Overflow用户
提问于 2020-08-07 12:20:12
回答 1查看 30关注 0票数 0

我们的Notes部分允许对尾注使用非标准段落样式,当尾注中有多个段落时。例如,每个尾注设置如下:

  • Endnote Reference + Endnote文本:对于尾注
  • 中的第一段,可以使用“诗”、“提取”、"p“等样式,

我试图循环每一个音符来确定所使用的样式。如果第一段样式不是"Endnote Text“,则样式将更改为此默认样式。起作用了!如果存在下一个段落样式,则选中它以确定其样式名称。我希望允许使用"Endnote文本“以外的样式,但是使用"ActiveDocument.Endnotes(n).Range.Select”会导致所有样式都更改为"Endnote Text“。如何循环遍历所选尾注中的每个段落样式?

对于n=1到EndnoteCount ActiveDocument.Endnotes(n).Range.Select

代码语言:javascript
运行
复制
            CurrStyName = CurrSty.NameLocal

            If Not (CurrStyName = "Endnote Text") The
                CurrStyName = "Endnote Text"
                ReportString = ReportString + vbNewLine + "The style " & CurrStyName & " is reverting to the default Endnote Text style for endnote#" + Str(n) + "."
            End If

        Set CurrSty2 = Selection.Next.ParagraphStyle

..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-07 13:06:08

ActiveDocument.Endnotes(n).Range包含尾注的所有段落,因此当您选择并应用样式时,将更改所有段落。

您需要做的是循环遍历尾注,然后遍历每个尾注的段落,,而不选择它们,如下所示:

代码语言:javascript
运行
复制
  Dim para As Long
  For n = 1 To ActiveDocument.Endnotes.Count
    With ActiveDocument.Endnotes(n).Range
      For para = 1 To .Paragraphs.Count
        CurrStyName = .Paragraphs(para).style.NameLocal
        If Not (CurrStyName = "Endnote Text") Then
          'do whatever you need here
        End If
      Next para
    End With
  Next n
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63301752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档