主要内容

本页采用了机器翻译。点击此处可查看英文原文。

mlreportgen.dom.TemplateDOCXStyle 类

命名空间: mlreportgen.dom

解析 DOCX 模板中的现有样式

自 R2024a 起

描述

此类表示由 DOCX 模板 (.dotx) 文件定义的 DOCX 样式。打开 DOCX 模板会为源模板文件定义的每个样式创建一个包含此类实例的数组。您可以通过模板的 TemplateStyles 属性的 Stylesheet 对象访问样式。

此类仅表示源 DOCX 模板中存在样式,并且该样式被复制到生成的模板中。您无法查看或修改此类对象的样式格式,只能替换该对象或将其从样式表中删除。要查看该类对象的格式,请使用 tmplview,或者在 Microsoft® Word 中打开源 DOCX 模板并检查该样式。如果您确定样式不符合您的要求,请以编程方式创建新的文本、段落、链接、表或列表样式,并根据需要设置格式。

此类仅与以下 MATLAB® Report Generator™ 输出类型兼容:"docx"

mlreportgen.dom.TemplateDOCXStyle 类是一个 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

您没有明确创建 mlreportgen.dom.TemplateDOCXStyle 对象。打开一个 DOCX 模板会创建一个数组,该数组中包含该类的一个实例,每个实例对应模板文件中定义的一种样式。

属性

全部展开

样式名称,以字符向量形式表示。创建 mlreportgen.dom.TemplateDOCXStyle 对象时会自动定义此属性。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

数据类型: char

此样式所格式化的内容类型,以字符向量形式表示。创建 mlreportgen.dom.TemplateDOCXStyle 对象时,会自动将该属性定义为以下值之一:

  • text

  • paragraph

  • linked

  • table

  • list

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

数据类型: char

该类忽略此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

标记,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值来帮助确定在文档生成过程中出现的问题的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

示例

全部折叠

查看 DOCX 模板中的现有样式,修改该样式并创建新样式,并用修改后的样式替换现有样式。

创建 DOCX 模板并检查默认样式

导入 DOM API 命名空间,这样您就不必使用完全限定名称。

import mlreportgen.dom.*

使用默认 DOCX 模板创建模板。

t = Template("myTemplate","docx");

打开模板并检查 "rgMATLABTABLE" 样式是否存在。

open(t);
stylesheet = t.Stylesheet;
tableStyle = getStyle(stylesheet,"rgMATLABTABLE")
tableStyle = 
  TemplateDOCXStyle with properties:

       Name: 'rgMATLABTABLE'
       Type: 'table'
    Formats: []
        Tag: 'dom.TemplateDOCXStyle:1738'
         Id: '1738'

在 Microsoft® Word 中打开源模板。

rptview(t.TemplatePath);

在 Word 中打开源模板。在 Word 中,检查源 DOCX 模板中的 "Title" 样式。

创建修改样式并替换默认样式

创建一个名为 "rgMATLABTABLE" 的新表样式。

newTableStyle = TemplateTableStyle("rgMATLABTABLE");

通过使用相同的字体、行距以及孤行处理来定义与源模板样式类似的格式。

oldFormats = [LineSpacing(1),FontFamily("Calibri"),WidowOrphanControl];

表后留出 15 磅的空间。

om = OuterMargin;
om.Bottom = "15pt";
oldFormats(end + 1) = om;

定义一种为表提供实线边框的格式。

newFormat = Border("solid","blue");

设置新样式的格式。

newTableStyle.Formats = [oldFormats,newFormat];

用新样式替换旧样式。

replaceStyle(stylesheet,newTableStyle);

关闭模板。

close(t);
rptview(t);

版本历史记录

在 R2024a 中推出