Skip to content

公文域

DocumentFields

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

文档中所有的公文域

语法

表达式.ActiveDocument.DocumentFields

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

示例

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

  const app = instance.Application

  // 公文域对象
  const documentFields = await app.ActiveDocument.DocumentFields
}

Count

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域的个数

语法

表达式.ActiveDocument.DocumentFields.Count

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

返回值

返回 Number 表示公文域的个数

示例

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

  const app = instance.Application

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

Display

JSSDK: v1.1.11+、WebOffice v2.5.1+ 支持

公文域的底纹显示方式

语法

表达式.ActiveDocument.DocumentFields.Display

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

参数

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

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

返回值

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

示例

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

  const app = instance.Application

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

Add()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

新增公文域

语法

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

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

参数

属性数据类型默认值必填说明
Name
String
公文域名称
Range
Object
公文域范围
Hidden
Boolean
是否隐藏,默认 false
PrintOut
Boolean
是否可打印,默认 true
ReadOnly
Boolean
是否只读,默认 false

Range 说明

属性数据类型默认值必填说明
Start
Number
开始位置
End
Number
结束位置

返回值

属性数据类型说明
params1
String
返回值 1 说明
params2
Number
返回值 2 说明

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

批量新增公文域

语法

表达式.ActiveDocument.DocumentFields.AddDocumentFields()

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

参数

属性数据类型默认值必填说明
Name
String
公文域名称
Range
Object
公文域范围
Hidden
Boolean
是否隐藏,默认 false
PrintOut
Boolean
是否可打印,默认 true
ReadOnly
Boolean
是否只读,默认 false
Value
String
域对应的值

Range 说明

属性数据类型默认值必填说明
Start
Number
开始位置
End
Number
结束位置

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

判断是否有某个公文域

语法

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

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

参数

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

返回值

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

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取所有公文域的名字

语法

表达式.ActiveDocument.DocumentFields.GetAllNames()

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

返回值

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

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域集合的单个公文域

语法

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

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

参数

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

返回值

返回 DocumentField 表示单个的公文域

示例

//@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().Hidden

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域是否隐藏

语法

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

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

返回值

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

示例

//@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

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域名称

语法

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

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

返回值

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

示例

//@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

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域是否可打印

语法

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

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

返回值

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

示例

//@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 对象表示该公文域的范围

示例

//@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

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域是否只读

语法

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

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

返回值

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

示例

//@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 对象表示该公文域的范围

示例

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

  const app = instance.Application

  // 插入公文域
  await app.ActiveDocument.DocumentFields.Add({
    Name: '1',
    Style: { 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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

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

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

参数

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

返回值

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

示例

//@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().Value

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

公文域的值

语法

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

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

返回值

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

示例

//@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().Delete()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

删除公文域

语法

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

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

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

跳转到公文域的开始位置

语法

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

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

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

跳转到公文域的结束位置

语法

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

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

示例

//@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()
}