Word.Style class
表示Word文档中的样式。
- 扩展
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Applies the specified style to a paragraph.
await Word.run(async (context) => {
const styleName = $("#style-name-to-use").val() as string;
if (styleName == "") {
console.warn("Enter a style name to apply.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else if (style.type != Word.StyleType.paragraph) {
console.log(`The '${styleName}' style isn't a paragraph style.`);
} else {
const body: Word.Body = context.document.body;
body.clear();
body.insertParagraph(
"Do you want to create a solution that extends the functionality of Word? You can use the Office Add-ins platform to extend Word clients running on the web, on a Windows desktop, or on a Mac.",
"Start"
);
const paragraph: Word.Paragraph = body.paragraphs.getFirst();
paragraph.style = style.nameLocal;
console.log(`'${styleName}' style applied to first paragraph.`);
}
});
属性
base |
指定要用作另一个样式的基本格式的现有样式的名称。 |
borders | 指定一个 BorderCollection 对象,该对象代表指定样式的所有边框。 |
built |
获取指定的样式是否为内置样式。 |
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
description | 获取指定样式的说明。 |
font | 获取表示指定样式的字符格式的字体对象。 |
in |
获取指定的样式是已在文档中修改或应用的内置样式,还是已在文档中创建的新样式。 |
linked | 获取样式是否为可用于段落和字符格式的链接样式。 |
list |
获取一个 ListTemplate 对象,该对象代表指定 Style 对象的列表格式。 |
name |
获取以用户语言表示的样式的名称。 |
next |
指定要自动应用于新段落的样式名称,该段落在具有指定样式格式的段落之后插入。 |
paragraph |
获取一个 ParagraphFormat 对象,该对象代表指定样式的段落设置。 |
priority | 指定优先级。 |
quick |
指定样式是否对应于可用的快速样式。 |
shading | 获取一个底纹对象,该对象代表指定样式的底纹。 不适用于列表样式。 |
table |
获取一个 TableStyle 对象,该对象表示可应用于表的 Style 属性。 |
type | 获取样式类型。 |
unhide |
指定指定样式在文档中使用后,是否在“样式”和Microsoft Word的“样式”任务窗格中显示为推荐样式。 |
visibility | 指定指定样式是否在“样式”库和“样式”任务窗格中显示为推荐样式。 |
方法
delete() | 删除样式。 |
load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
set(properties, options) | 同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。 |
set(properties) | 基于现有的已加载对象,同时对对象设置多个属性。 |
toJSON() | 重写 JavaScript |
track() | 根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果跨 |
untrack() | 释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 在内存发布生效之前,需要调用 |
属性详细信息
baseStyle
指定要用作另一个样式的基本格式的现有样式的名称。
baseStyle: string;
属性值
string
注解
注意:WordApi 1.6 中引入了设置 baseStyle
功能。
borders
指定一个 BorderCollection 对象,该对象代表指定样式的所有边框。
readonly borders: Word.BorderCollection;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Updates border properties (e.g., type, width, color) of the specified style.
await Word.run(async (context) => {
const styleName = $("#style-name").val() as string;
if (styleName == "") {
console.warn("Enter a style name to update border properties.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else {
const borders: Word.BorderCollection = style.borders;
borders.load("items");
await context.sync();
borders.outsideBorderType = Word.BorderType.dashed;
borders.outsideBorderWidth = Word.BorderWidth.pt025;
borders.outsideBorderColor = "green";
console.log("Updated outside borders.");
}
});
builtIn
context
description
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取指定样式的说明。
readonly description: string;
属性值
string
注解
font
获取表示指定样式的字符格式的字体对象。
readonly font: Word.Font;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Updates font properties (e.g., color, size) of the specified style.
await Word.run(async (context) => {
const styleName = $("#style-name").val() as string;
if (styleName == "") {
console.warn("Enter a style name to update font properties.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else {
const font: Word.Font = style.font;
font.color = "#FF0000";
font.size = 20;
console.log(`Successfully updated font properties of the '${styleName}' style.`);
}
});
inUse
获取指定的样式是已在文档中修改或应用的内置样式,还是已在文档中创建的新样式。
readonly inUse: boolean;
属性值
boolean
注解
linked
listTemplate
获取一个 ListTemplate 对象,该对象代表指定 Style 对象的列表格式。
readonly listTemplate: Word.ListTemplate;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/20-lists/manage-list-styles.yaml
// Gets the properties of the specified style.
await Word.run(async (context) => {
const styleName = $("#style-name-to-use").val() as string;
if (styleName == "") {
console.warn("Enter a style name to get properties.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load("type");
await context.sync();
if (style.isNullObject || style.type != Word.StyleType.list) {
console.warn(`There's no existing style with the name '${styleName}'. Or this isn't a list style.`);
} else {
// Load objects to log properties and their values in the console.
style.load();
style.listTemplate.load();
await context.sync();
console.log(`Properties of the '${styleName}' style:`, style);
const listLevels = style.listTemplate.listLevels;
listLevels.load("items");
await context.sync();
console.log(`List levels of the '${styleName}' style:`, listLevels);
}
});
nameLocal
获取以用户语言表示的样式的名称。
readonly nameLocal: string;
属性值
string
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Applies the specified style to a paragraph.
await Word.run(async (context) => {
const styleName = $("#style-name-to-use").val() as string;
if (styleName == "") {
console.warn("Enter a style name to apply.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else if (style.type != Word.StyleType.paragraph) {
console.log(`The '${styleName}' style isn't a paragraph style.`);
} else {
const body: Word.Body = context.document.body;
body.clear();
body.insertParagraph(
"Do you want to create a solution that extends the functionality of Word? You can use the Office Add-ins platform to extend Word clients running on the web, on a Windows desktop, or on a Mac.",
"Start"
);
const paragraph: Word.Paragraph = body.paragraphs.getFirst();
paragraph.style = style.nameLocal;
console.log(`'${styleName}' style applied to first paragraph.`);
}
});
nextParagraphStyle
指定要自动应用于新段落的样式名称,该段落在具有指定样式格式的段落之后插入。
nextParagraphStyle: string;
属性值
string
注解
注意:WordApi 1.6 中引入了设置 nextParagraphStyle
功能。
paragraphFormat
获取一个 ParagraphFormat 对象,该对象代表指定样式的段落设置。
readonly paragraphFormat: Word.ParagraphFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Sets certain aspects of the specified style's paragraph format e.g., the left indent size and the alignment.
await Word.run(async (context) => {
const styleName = $("#style-name").val() as string;
if (styleName == "") {
console.warn("Enter a style name to update its paragraph format.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else {
style.paragraphFormat.leftIndent = 30;
style.paragraphFormat.alignment = Word.Alignment.centered;
console.log(`Successfully the paragraph format of the '${styleName}' style.`);
}
});
priority
quickStyle
shading
获取一个底纹对象,该对象代表指定样式的底纹。 不适用于列表样式。
readonly shading: Word.Shading;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Updates shading properties (e.g., texture, pattern colors) of the specified style.
await Word.run(async (context) => {
const styleName = $("#style-name").val() as string;
if (styleName == "") {
console.warn("Enter a style name to update shading properties.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else {
const shading: Word.Shading = style.shading;
shading.load();
await context.sync();
shading.backgroundPatternColor = "blue";
shading.foregroundPatternColor = "yellow";
shading.texture = Word.ShadingTextureType.darkTrellis;
console.log("Updated shading.");
}
});
tableStyle
获取一个 TableStyle 对象,该对象表示可应用于表的 Style 属性。
readonly tableStyle: Word.TableStyle;
属性值
注解
type
获取样式类型。
readonly type: Word.StyleType | "Character" | "List" | "Paragraph" | "Table";
属性值
Word.StyleType | "Character" | "List" | "Paragraph" | "Table"
注解
unhideWhenUsed
指定指定样式在文档中使用后,是否在“样式”和Microsoft Word的“样式”任务窗格中显示为推荐样式。
unhideWhenUsed: boolean;
属性值
boolean
注解
visibility
方法详细信息
delete()
删除样式。
delete(): void;
返回
void
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Deletes the custom style.
await Word.run(async (context) => {
const styleName = $("#style-name-to-delete").val() as string;
if (styleName == "") {
console.warn("Enter a style name to delete.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(styleName);
style.load();
await context.sync();
if (style.isNullObject) {
console.warn(`There's no existing style with the name '${styleName}'.`);
} else {
style.delete();
console.log(`Successfully deleted custom style '${styleName}'.`);
}
});
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(options?: Word.Interfaces.StyleLoadOptions): Word.Style;
参数
- options
- Word.Interfaces.StyleLoadOptions
提供要加载对象的属性的选项。
返回
load(propertyNames)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNames?: string | string[]): Word.Style;
参数
- propertyNames
-
string | string[]
逗号分隔的字符串或指定要加载的属性的字符串数组。
返回
load(propertyNamesAndPaths)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Word.Style;
参数
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand
一个逗号分隔的字符串,指定要加载的导航属性。
返回
set(properties, options)
同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。
set(properties: Interfaces.StyleUpdateData, options?: OfficeExtension.UpdateOptions): void;
参数
- properties
- Word.Interfaces.StyleUpdateData
一个 JavaScript 对象,其属性按同构方式构造为调用方法的对象的属性。
- options
- OfficeExtension.UpdateOptions
提供一个选项,用于在 properties 对象尝试设置任何只读属性时禁止显示错误。
返回
void
set(properties)
toJSON()
重写 JavaScript toJSON()
方法,以便在将 API 对象传递给 JSON.stringify()
时提供更有用的输出。
JSON.stringify
(,依次调用toJSON
传递给它的 对象的 方法。) 虽然原始Word.Style
对象是 API 对象,toJSON
但该方法返回一个纯 JavaScript 对象, (类型为 Word.Interfaces.StyleData
) ,其中包含从原始对象加载的任何子属性的浅表副本。
toJSON(): Word.Interfaces.StyleData;
返回
track()
根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果跨 .sync
调用和“.run”批处理的顺序执行外部使用此对象,并在设置属性或调用对象方法时收到“InvalidObjectPath”错误,则需要在首次创建对象时将该对象添加到跟踪的对象集合。 如果此对象是集合的一部分,则还应跟踪父集合。
track(): Word.Style;
返回
untrack()
释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 在内存发布生效之前,需要调用 context.sync()
。
untrack(): Word.Style;