首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正文前提取标题(MSWord VBA)

正文前提取标题(MSWord VBA)
EN

Stack Overflow用户
提问于 2019-07-24 20:14:28
回答 1查看 53关注 0票数 0

我正在处理一个宏,它将提取单词文件中的错误拼写,我可以搜索一个宏,它可以这样做,但是我想添加一个函数,它也可以提取正文文本前面的标题。

代码语言:javascript
运行
复制
With oRow                             
    .Cells(1).Range.Text = oDoc.SpellingErrors(J).Information(wdActiveEndPageNumber)
    .Cells(2).Range.Text = oDoc.SpellingErrors(J).Information(wdFirstCharacterLineNumber)
    .Cells(3).Range.Text = oDoc.SpellingErrors(J)
    .Cells(4).Range.Text = 'SHOULD CAPTURE THE HEADING                      
 End With

*幻灯片*2 形状:标题1 >>文本:快速棕色狐狸跳过懒惰的狗。敏捷的棕毛狐狸从懒狗身上跃过。那只敏捷的棕色狐狸跳过那只懒惰的狗。敏捷的棕毛狐狸从懒狗身上跃过。那只敏捷的棕色狐狸跳过那只懒惰的狗。 敏捷的棕毛狐狸从懒狗身上跃过。那只敏捷的棕色狐狸跳过那只懒惰的狗。敏捷的布朗特狐狸跳过那只懒惰的狗。那只敏捷的棕色狐狸跳过那只懒惰的狗。那只敏捷的棕色狐狸跳过那只懒惰的狗。

在上面的示例中,我现有的宏已经提取了"brownt“,因为它拼写错误。我需要添加一行,也将捕获“**幻灯片*2文本”,因为这是该段落的标题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 20:44:58

Word有一些内置的书签,可以更容易地处理文档的某些部分。因为他们来自旧的,词基础的日子,他们工作与当前的选择。

因此,下面的代码首先选择拼写错误,然后选择拼写错误所在的整个标题级别。从这里,获取标题级别的第一段(以标题样式格式化的文本),并分配给问题中的代码中的目标单元格。

代码语言:javascript
运行
复制
Dim rng as Word.Range
With oRow                             
    .Cells(1).Range.Text = oDoc.SpellingErrors(J).Information(wdActiveEndPageNumber)
    .Cells(2).Range.Text = oDoc.SpellingErrors(J).Information(wdFirstCharacterLineNumber)
    .Cells(3).Range.Text = oDoc.SpellingErrors(J)
    oDoc.SpellingErrors(J).Select 
    Set rng = oDoc.Bookmarks("\HeadingLevel").Range
    rng.Collapse wdCollapseStart
    rng.MoveEnd wdParagraph, 1
    rng.MoveEnd wdCharacter, -1
   .Cells(4).Range.Text = rng.Text
 End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57190605

复制
相关文章

相似问题

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