Skip to content

公文域(DocumentFields)

文档中所有的公文域对象集合

属性列表

属性说明
公文域的个数
公文域的底纹显示方式

方法列表

方法说明
新增公文域
批量新增公文域
判断是否有某个公文域
获取所有公文域的名字
公文域集合的单个公文域
公文域的值
公文域是否隐藏
公文域名称
公文域是否可打印
公文域范围
公文域是否只读
公文域样式
将 A 公文域样式应用到 B 公文域样式
删除公文域
跳转到公文域的开始位置
跳转到公文域的结束位置

Count

公文域的个数

语法

表达式.ActiveDocument.DocumentFields.Count

表达式:文档类型应用对象

返回值

返回 Number 表示公文域的个数

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 公文域的个数
  const count = await app.ActiveDocument.DocumentFields.Count
  console.log(count)
}

Display

公文域的底纹显示方式

语法

表达式.ActiveDocument.DocumentFields.Display

表达式:文档类型应用对象

参数

我们可以通过 Enum.WdDisplayDocumentFields 参考公文域底纹的类型。

属性数据类型默认值必填说明
wpsNotDisplayDocumentFileds
Enum
0
wpsDisplayDocumentFields
Enum
1
wpsDisplayDocumentFieldsWithoutBackground
Enum
2
显示底纹但不显示背景色,Enum.WdDisplayDocumentFields

返回值

返回 Number 表示公文域的底纹显示方式

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 切换公文域的底纹显示方式
  app.ActiveDocument.DocumentFields.Display =
    instance.Enum.WdDisplayDocumentFields.wpsDisplayDocumentFields
}

Add()

新增公文域

语法

表达式.ActiveDocument.DocumentFields.Add({ Name, Range, Hidden, PrintOut, ReadOnly })

表达式:文档类型应用对象

参数

属性类型默认值必填说明
Name
string
公文域名称
+
Range
Range {}
公文域范围
Hidden
boolean
是否隐藏,默认 false
PrintOut
boolean
是否可打印,默认 true
ReadOnly
boolean
是否只读,默认 false

返回值

属性类型说明
params1
string
返回值 1 说明
params2
number
返回值 2 说明

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 新增公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })
}

AddDocumentFields()

批量新增公文域

语法

表达式.ActiveDocument.DocumentFields.AddDocumentFields({ Name, Range, Hidden, PrintOut, ReadOnly }[])

表达式:文档类型应用对象

参数

属性类型默认值必填说明
Name
string
公文域名称
+
Range
RangeObject {}
公文域范围
Hidden
boolean
是否隐藏,默认 false
PrintOut
boolean
是否可打印,默认 true
ReadOnly
boolean
是否只读,默认 false
Value
string
域对应的值

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 批量新增公文域
  await app.ActiveDocument.DocumentFields.AddDocumentFields([
    {
      Name: '1', // 域名称
      Range: { Start: 0, End: 10 }, // 域位置
      Value: 'WebOffice1' // 域值
    },
    {
      Name: '2', // 域名称
      Range: { Start: 12, End: 18 }, // 域位置
      Value: 'WebOffice2' // 域值
    }
  ])
}

Exists()

判断是否有某个公文域

语法

表达式.ActiveDocument.DocumentFields.Exists(Name)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Name
String
公文域名称

返回值

返回 Boolean 表示是否有某公文域

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 批量插入公文域
  await app.ActiveDocument.DocumentFields.AddDocumentFields([
    {
      Name: '1', // 域名称
      Range: { Start: 0, End: 10 }, // 域位置
      Value: 'WebOffice1' // 域值
    },
    {
      Name: '2', // 域名称
      Range: { Start: 12, End: 18 }, // 域位置
      Value: 'WebOffice2' // 域值
    }
  ])

  // 判断是否有某个公文域
  const hasOne = await app.ActiveDocument.DocumentFields.Exists('1')
  console.log(hasOne) // true
}

GetAllNames()

获取所有公文域的名字

语法

表达式.ActiveDocument.DocumentFields.GetAllNames()

表达式:文档类型应用对象

返回值

返回 Array 表示所有公文域的名字

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 批量插入公文域
  await app.ActiveDocument.DocumentFields.AddDocumentFields([
    {
      Name: '1', // 域名称
      Range: { Start: 0, End: 10 }, // 域位置
      Value: 'WebOffice1' // 域值
    },
    {
      Name: '2', // 域名称
      Range: { Start: 12, End: 18 }, // 域位置
      Value: 'WebOffice2' // 域值
    }
  ])

  // 获取所有公文域的名字
  const names = await app.ActiveDocument.DocumentFields.GetAllNames()
  console.log(names) // ['1', '2']
}

Item()

公文域集合的单个公文域

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Index
Number
公文域索引
Name
String
公文域名称

返回值

返回 DocumentField 表示单个的公文域

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })
  console.log(documentField)
}

Item().Value

公文域的值

提示:如果该接口报错,请检查公文域 ReadOnly 属性是否为 true,只读公文域不支持赋值。

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Value

表达式:文档类型应用对象

返回值

返回 String 表示对应公文域的值

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: false // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域的值
  const value = await documentField.Value
  console.log(value)

  // 设置公文域的值
  documentField.Value = 'WebOffice'
}

Item().Hidden

公文域是否隐藏

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Hidden

表达式:文档类型应用对象

返回值

返回 Boolean 表示该公文域的显示隐藏

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: true, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域是否隐藏
  const isHidden = await documentField.Hidden
  console.log(isHidden)
}

Item().Name

公文域名称

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Name

表达式:文档类型应用对象

返回值

返回 String 表示该公文域的名称

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: true, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })
  console.log(documentField)

  // 公文域名称
  const name = await documentField.Name
  console.log(name)
}

Item().PrintOut

公文域是否可打印

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).PrintOut

表达式:文档类型应用对象

返回值

返回 Boolean 表示该公文域的是否可打印

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域是否可打印
  const isPrintOut = await documentField.PrintOut
  console.log(isPrintOut)
}

Item().Range

公文域范围

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Range

表达式:文档类型应用对象

返回值

返回 Range 对象表示该公文域的范围

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域范围
  const range = await documentField.Range
  console.log(range)
}

Item().ReadOnly

公文域是否只读

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).ReadOnly

表达式:文档类型应用对象

返回值

返回 Boolean 表示该公文域是否只读

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: true, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域是否只读
  const isReadOnly = await documentField.ReadOnly
  console.log(isReadOnly)
}

Item().Style

公文域样式

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Style

表达式:文档类型应用对象

返回值

返回 Style 对象表示该公文域的样式

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 公文域样式
  const style = await documentField.Style
  console.log(style)
}

Item().Style.ApplyTo()

将 A 公文域样式应用到 B 公文域样式

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Style.ApplyTo(Name)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Name
String
公文域名称

返回值

返回 Array 表示所有公文域的名字

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 批量插入公文域
  await app.ActiveDocument.DocumentFields.AddDocumentFields([
    {
      Name: '1', // 域名称
      Range: { Start: 0, End: 10 }, // 域位置
      Value: 'WebOffice1' // 域值
    },
    {
      Name: '2', // 域名称
      Range: { Start: 12, End: 18 }, // 域位置
      Value: 'WebOffice2' // 域值
    }
  ])

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 应用公文域样式
  const style = await documentField.Style.ApplyTo('2')
  console.log(style)
}

Item().Delete()

删除公文域

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).Delete()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 删除公文域
  await documentField.Delete()
}

Item().GotoBegin()

跳转到公文域的开始位置

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).GotoBegin()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 跳转到公文域的开始位置
  await documentField.GotoBegin()
}

Item().GotoEnd()

跳转到公文域的结束位置

语法

表达式.ActiveDocument.DocumentFields.Item({ Index, Name }).GotoEnd()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Range: { Start: 12, End: 20 },
    Hidden: false, // 是否隐藏,默认 false
    PrintOut: true, // 是否可打印,默认 true
    ReadOnly: true // 是否只读,默认 false
  })

  // 公文域集合的单个公文域
  const documentField = await app.ActiveDocument.DocumentFields.Item({
    Name: '1'
  })

  // 跳转到公文域的结束位置
  await documentField.GotoEnd()
}