答案1
这是 SalesForce 的一个缺陷。
我不知道 SalesForce 是否了解内置样式,或者它如何从内置样式而不是自定义样式中获取材料。
以下是我网站上的文章:了解 Microsoft Word 中的样式。
本质上,风格就像一个编程子程序。
您应用样式,Word 会读取文档中的样式设置以获取要应用的格式。它可以取代最多 50 个单独的直接格式设置。使用样式可以大大简化 Word 文件。
如果你解压其中一个 Word 文档,你就可以亲自看到这一点。
- 进行复印。
- 使用内置样式应用一些格式。
- 使用自定义样式应用一些格式。
- 然后使用正文或普通样式,应用直接格式化以获得相同的结果。
- 将您的文档保存为类似 StylesTest.docx 的文件。
- 然后,关闭它并在 Windows 中将其重命名为 Styles.Test.docx.zip,并允许 Windows 更改扩展名。您现在有一个 zip 文件夹。
- 双击打开它。
- 检查文档的 XML。
这里有一个示例文档的临时链接。
- 第 8 行是第一段的 XML。
- 第 11 行是第二段的 XML。
- 第 13-21 行是第三个(直接格式化)段落。
在单独的 XML 部分中,您可以找到样式的定义。以下是测试文档中用作自定义样式的样式正文文本 3 的定义。
看看我提到的效率测试我的页面。
以下是更多参考资料:
- 理解风格的技巧作者:Shauna Kelly
- 在 Word 中显示、使用和管理样式作者:MVP Suzanne Barnhill
答案2
引用该答案:
唯一合理的方法是使用宏。以下代码(参见http://www.gmayor.com/installing_macro.htm如果需要的话,它会逐段浏览文档。只要发现某个段落尚未采用 Normal 样式,它就会将字符格式和段落格式保存到变量中,将样式更改为 Normal,然后将段落的原始(样式)格式应用为直接格式。
Sub DirectFormat()
Dim para As Paragraph
Dim fnt As Font
Dim pfmt As ParagraphFormat
For Each para In ActiveDocument.Paragraphs
With para
If .Style <> ActiveDocument.Styles("Normal") Then
Set fnt = .Style.Font
Set pfmt = .Style.ParagraphFormat
.Style = ActiveDocument.Styles("Normal")
.Range.Font = fnt
.Range.ParagraphFormat = pfmt
End If
End With
Next
End Sub
如果这些段落开头有任何直接格式,则会将其丢弃(保留它将需要做很多工作)。出于说明目的,我认为这不会有问题。
Jay Freedman,Word MVP - 这是他的下载页面。