我有一个项目,可以从MadCap Flare导出到Word 2010中,并使用VBA脚本更新文档的格式。我试图检查文档中每个段落的样式,然后如果它匹配特定样式,则应用多列表级别格式。Word VBA 2010 - 格式化表格单元格中的最后一段
它几乎没有问题。当段落作为表格单元格的最后一段时,问题就出现了。在这种情况下,范围包括单元格标记的结尾(因此范围包括单元格的每个段落),因此该更改将应用于表格单元格中的每个段落,而不仅仅是最后一个段落。
我使用的代码如下:
For Each iPara In ActiveDocument.Paragraphs
With iPara.Range
If iPara.Style.NameLocal = "div_NoteText" Then
.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
ListGalleries(wdOutlineNumberGallery).ListTemplates(1), _
ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
DefaultListBehavior:=wdWord10ListBehavior, ApplyLevel:=1
End If
End With
Next
我需要什么样的变化,使这个为表格单元格的最后一段工作?
欢迎来到SO!你的第一个优秀问题!因此,如果我理解正确,如果文档中间有一个表格,并且有多个单元格,并且第一个单元格有多个段落,那么您只希望修改第一个单元格中的最后一个段落?但目前该单元格中的所有段落都受到影响? – jmstoker
感谢您的欢迎和反馈。也许有些图像可以最好地描述这个问题:http://imgur.com/a/TVSBX 1.在任何宏运行之前。 2.宏已正确修改表格单元格中的第二段。 3.宏选择表格单元格中的第三段(因为它包含单元格标记的末尾,它会突出显示所有段落)。 4.格式化已应用,但适用于整个单元格。不是预期的效果。 – jarch3r
由于我的网络限制,我无法查看链接,但是我创建了一个带有2列宽3行的表单文档,在单元格(2,2)中放置了两个段落,并且您的代码分别处理了两个段落。如果你打开符号'ctrl' +'shift' +'*'你在单元格中看到多个段落符号还是只有一个? – jmstoker