Find
JSSDK: 1.3.3、FilezOffice V6.0 FP3 支持
代表查找操作的执行条件。
方法
findData
找到的所有匹配项,并返回匹配项数目或匹配项范围数组。
语法
Find.findData(findText, matchCase, matchWholeWord, options)
Find: 查找操作的执行条件对象。
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| findText | string | 是 | 要查找的文本 |
| matchCase | boolean | 否 | 是否区分大小写 |
| matchWholeWord | boolean | 否 | 是否全词匹配 |
| options | object | 否 | 可选配置项,见下方说明 |
options 参数说明
JSSDK: 1.10.1、FilezOffice v8.2 FP1 支持
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| resultType | Writer.FindResultType | 否 | 控制返回结果类型。Writer.FindResultType.Count(默认)返回匹配数目;Writer.FindResultType.Ranges 返回匹配项的 Range 数组 |
返回值
- 当
resultType为Writer.FindResultType.Count或未传options时:Promise<number> - 当
resultType为Writer.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: 查找操作的执行条件对象。
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| findText | string | 是 | 要查找的文本 |
| matchCase | boolean | 否 | 是否区分大小写 |
| matchWholeWord | boolean | 否 | 是否全词匹配 |
| highlightColor | string | 否 | 高亮颜色,十六进制颜色值,形如 #ff0000 |
| noScroll | boolean | 否 | 不自动滚动到匹配内容位置,默认滚动 |
返回值
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: 查找操作的执行条件对象。
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| findText | string | 否 | 要搜索的文本 |
| matchCase | boolean | 否 | 是否区分大小写(JSSDK: 1.11.0、zOffice V8.3 支持) |
| matchWholeWord | boolean | 否 | 是否全词匹配(JSSDK: 1.11.0、zOffice V8.3 支持) |
| replaceWith | string | 否 | 替换文字(JSSDK: 1.11.0、zOffice V8.3 支持) |
| replace | Writer.WdReplace | 否 | 替换范围,可选 wdReplaceNone、wdReplaceOne、wdReplaceAll(JSSDK: 1.11.0、zOffice V8.3 支持) |
| showHighlight | boolean | 否 | 是否高亮显示搜索结果,默认 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);
}