Skip to main content

Find

JSSDK: 1.3.3、FilezOffice V6.0 FP3 支持

代表查找操作的执行条件。

方法

findData

找到的所有匹配项,并返回匹配项数目或匹配项范围数组。

语法

Find.findData(findText, matchCase, matchWholeWord, options)

Find: 查找操作的执行条件对象。

参数

属性数据类型必填说明
findTextstring要查找的文本
matchCaseboolean是否区分大小写
matchWholeWordboolean是否全词匹配
optionsobject可选配置项,见下方说明

options 参数说明

JSSDK: 1.10.1、FilezOffice v8.2 FP1 支持

属性数据类型必填说明
resultTypeWriter.FindResultType控制返回结果类型。Writer.FindResultType.Count(默认)返回匹配数目;Writer.FindResultType.Ranges 返回匹配项的 Range 数组

返回值

  • resultTypeWriter.FindResultType.Count 或未传 options 时:Promise<number>
  • resultTypeWriter.FindResultType.Ranges 时:Promise<Range[]>

示例

// 全文查找内容“文本“,全词匹配,返回匹配数目
async function example1() {
const content = Application.ActiveDocument.Content;
const count = await content.Find.findData("文本", false, true);
}

// 在当前选区内查找内容"文本",全词匹配
async function example2() {
// 通过 Selection 对象获取当前选区
const range = await Application.Selection.range;
const count = await range.Find.findData("文本", false, true);
}

// 显式指定返回 count
async function example3() {
const content = Application.ActiveDocument.Content;
const count = await content.Find.findData("text", false, false, { resultType: Writer.FindResultType.Count });
console.log(count);
}

// 返回匹配项的 Range 数组
async function example4() {
const content = Application.ActiveDocument.Content;
const ranges = await content.Find.findData("text", false, false, { resultType: Writer.FindResultType.Ranges });
console.log(ranges);
}


hitHighlight

JSSDK: 1.11.0、zOffice V8.3 支持

突出显示找到的所有匹配项,并返回匹配项数目。

语法

Find.hitHighlight(findText, matchCase, matchWholeWord, highlightColor, noScroll)

Find: 查找操作的执行条件对象。

参数

属性数据类型必填说明
findTextstring要查找的文本
matchCaseboolean是否区分大小写
matchWholeWordboolean是否全词匹配
highlightColorstring高亮颜色,十六进制颜色值,形如 #ff0000
noScrollboolean不自动滚动到匹配内容位置,默认滚动

返回值

Promise<number>

示例

// 全文查找内容"文本",全词匹配
async function example1() {
const content = Application.ActiveDocument.Content;
const count = await content.Find.hitHighlight("文本", false, true);
}

// 在当前选区内查找内容"文本",全词匹配
async function example2() {
const range = await Application.ActiveDocument.getSelection();
const count = await range.Find.hitHighlight("文本", false, true);
}

clearHighlight

取消突出显示,并返回一个 boolean 类型的值 ,表示该操作是否成功。

语法

Find.clearHighlight()

Find: 查找操作的执行条件对象。

返回值

Promise<boolean>

示例

async function example1() {
const content = Application.ActiveDocument.Content;
const success = await content.Find.clearHighlight();
}

execute

JSSDK: 1.5.2、FilezOffice V7.0 FP2支持

运行指定的查找或替换操作。

  • 替换第一个匹配项时返回 boolean,表示是否成功
  • 替换所有匹配项时返回替换成功的个数 number

语法

Find.execute(findText, matchCase, matchWholeWord, replaceWith, replace, showHighlight)

Find: 查找操作的执行条件对象。

参数

属性数据类型必填说明
findTextstring要搜索的文本
matchCaseboolean是否区分大小写(JSSDK: 1.11.0、zOffice V8.3 支持)
matchWholeWordboolean是否全词匹配(JSSDK: 1.11.0、zOffice V8.3 支持)
replaceWithstring替换文字(JSSDK: 1.11.0、zOffice V8.3 支持)
replaceWriter.WdReplace替换范围,可选 wdReplaceNonewdReplaceOnewdReplaceAll(JSSDK: 1.11.0、zOffice V8.3 支持)
showHighlightboolean是否高亮显示搜索结果,默认 true

返回值

Promise<boolean | number>

示例

// 搜索并高亮文本(仅查找,不替换)
async function example1() {
const content = Application.ActiveDocument.Content;
const success = await content.Find.execute('FilezOffice', true, false, undefined, Writer.WdReplace.wdReplaceNone, true);
console.log('success:', success);
}

// 替换第一个匹配项
async function example2() {
const content = Application.ActiveDocument.Content;
const success = await content.Find.execute('zOffice', true, true, 'zOffice 文档中台', Writer.WdReplace.wdReplaceOne);
console.log('success:', success);
}

// 替换全部匹配项,返回成功个数
async function example3() {
const content = Application.ActiveDocument.Content;
const count = await content.Find.execute('zOffice', true, true, 'zOffice 文档中台', Writer.WdReplace.wdReplaceAll);
console.log('count:', count);
}

// 仅查找不替换
async function example4() {
const content = Application.ActiveDocument.Content;
const success = await content.Find.execute('zOffice', true, true, undefined, Writer.WdReplace.wdReplaceNone);
}