从样式中删除设置以从基本样式继承设置

从样式中删除设置以从基本样式继承设置

在我的 Microsoft Word 2010 文档中,我有两种段落样式:普通的主题主题将“样式基于”设置为普通的(继承自普通的)。 在普通的,我在每个段落后配置了 12pt 的间隙,并且主题很好地继承了这条规则。

然后我不小心添加了一个段落后空格规则主题也一样。这意味着主题不再“继承”其段落后空格设置普通的,这意味着如果我改变设置普通的,我必须改变它主题也一样。

我想删除主题这样它就可以再次从普通的这可能吗?如果可以,怎么做?

我尝试删除该值(12pt),点击确定,Enter但设置只是恢复为 12pt(覆盖 Normal 中设置的值)。除非重新创建主题从头开始风格我不知道如何解决这个问题。

谢谢

答案1

原来已经有一个文章关于这个主题(直至使用 space-after 属性作为示例)的详细信息,可在 word.mvps.org 网站上找到。

总体思路是,您需要使用一次 VBA 宏来清除格式。Microsoft Word 将受益于 GUI 中包含的此类功能。

Dim oStyle As Style
Set oStyle = ActiveDocument.Styles("Subject")
oStyle.ParagraphFormat.SpaceAfter = oStyle.BaseStyle.ParagraphFormat.SpaceAfter

答案2

这是一个老问题,但仍然有效,到目前为止给出的答案都不太实用。取消偏离“基于的样式”的定义的一种简单方法是将属性定义为与“基于的样式”中的相同。这将完全删除该定义,因为它没有用处。

举个例子(以及对原始问题的具体回答),如果您的样式基于 Normal,请检查 Normal 样式中的 Spacing-After 值是多少。然后更改(样式->[您的样式]->修改->格式->段落)样式中的 Spacing-After 值,使其与 Normal 样式中的值相同。(默认情况下,至少在 Word 2019 中,此值似乎是 8 pt,因此您必须输入数字 8,而不是单击上下,以 6 pt 为步长)。此后,样式特定的 Spacing-After 定义消失。

答案3

为了避免使用 VBScript,您可以通过创建“完全空样式”,然后继承和修改所需的属性来实现:

  1. 显示功能区的“主页”选项卡
  2. 使用样式工具栏右下角的箭头显示样式面板
  3. 选择要修改样式的段落,然后单击样式面板中的“全部清除”
  4. 保持段落处于选中状态,然后右键单击面板上的样式名称,并选择“修改样式以匹配选择”(可能措辞不同。我正在使用另一种语言的 Word)
  5. 右键单击并选择修改样式,设置要继承的父样式,并修改所需的属性。

答案4

TL;DR:编辑样式的 XML 定义。

将值设置为 BaseStyle 值是一次性修复,不是恢复继承的某些东西。这些值明确设置为基本样式的值,但不能继承。

示例:字符样式 C1 基于段落样式列表编号 2 的默认值。LN2 基于 Normal。Normal 字体为 Calibri 11 pt black。打开 C1,您会看到其字体和大小为空白。更改为 Arial 10,现在它永远是一个显式值。运行宏,C1 将重新设置为 Calibri 11 pt black - 而不是空白(继承)!更改 LN2,C1 保持 Calibri 11 pt black - 不是 LN2 的字体和大小。我很难过。

从 XML 角度来看,样式呼呼w:color设置为绿色。其基本样式有 11 pt 文本

<w:style w:type="character" w:customStyle="1" w:styleId="grrr">
    <w:name w:val="grrr"/>
    <w:basedOn w:val="DefaultParagraphFont"/>
    <w:uiPriority w:val="1"/>
    <w:qFormat/>
    <w:rsid w:val="009014C2"/>
    <w:rPr>
        <w:color w:val="00B050"/>
    </w:rPr>
</w:style>

w:sz未定义注意。

手动更改为 8 pts 后,XML 显示如下: <w:sz w:val="16"/>

使用上面的 .BaseStyle 宏后,在 XML 中明确将其设置为 11 pts: <w:sz w:val="22"/>

那是不是继承。这是对基本样式值的明确设置。

<w:sz w:val="22"/>从 XML 中手动删除已恢复的继承。这是一个荒谬的解决方案。

在 UI 中,我们看到字体大小为 11 pts。这与基本样式的值相同,并且是使用 BaseStyle 方法设置的,但这与手动将其设置为 11 相同。 在此处输入图片描述

当我更改基本样式时,使用 Asset Title 格式化的文本不会改变。没有继承 - 只有 11 pts。

编辑 docname.docx\word\styles.xml 后(没有如果我们删除“继承”下的“线性化!”,<w:sz w:val="22"/>我们会看到继承已恢复——字体大小控件为空,这是 Word 告诉我们该值是继承的方式。

在此处输入图片描述

当我更改基本样式时,使用 Asset Title 格式化的文本会发生变化。存在继承 - 它是 11 pts,因为它的父级是 11 pts。

相关内容