如何使用 ONLYOFFICE 宏删除特定单词后的电子表格数据
2024年06月11日作者:Alina
上个月,我们开发了一个宏,当检测到匹配的词时删除电子表格单元格的内容。在这篇博客文章中,我们将使用类似的逻辑来创建一个宏,用于删除单元格中特定单词后的所有内容。
构建宏
const oWorksheet = Api.GetActiveSheet();
const oRange = oWorksheet.GetSelection();
const wordReference = "apple";
首先,我们在 oWorksheet 和 oRange 变量中获取活动工作表和选区,并在 wordReference 变量中设置我们要搜索的词。
oRange.ForEach(function (range) {
const cellValue = oWorksheet.GetRange(range).GetValue().trim();
const containsIndex = containsWord(cellValue, wordReference);
接下来,使用 forEach 循环,我们遍历选定范围内的单元格,将单元格的值存储在 cellValue 变量中,并将 cellValue 和要搜索的词传递给 containsWord 方法。
if (containsIndex !== -1) {
const newValue = cellValue.substring(
0,
containsIndex + wordReference.length
);
oWorksheet.GetRange(range).SetValue(newValue);
} else {
console.log(
"No instance found in the selection where deletion is applicable."
);
}
条件 ‘(containsIndex !== -1)’ 检查单元格值中是否存在指定的词。如果找到该词,则单元格值将更新为原始值的子字符串,实质上删除了指定词后的所有内容。
function containsWord(sentence, word) {
const trimmedSentence = sentence.trim();
const trimmedWord = word.trim();
const index = trimmedSentence
.toLowerCase()
.indexOf(trimmedWord.toLowerCase());
return index;
}
containsWord 方法是该宏的核心函数。它将单元格的值和要搜索的词作为参数。通过查找该词在单元格内容中的索引来检查该词是否存在。该函数返回该词开始的索引,如果未找到该词,则返回 ‘-1’。
完整的宏代码
以下是宏的完整代码:
(function () {
const oWorksheet = Api.GetActiveSheet();
const oRange = oWorksheet.GetSelection();
const wordReference = "apple";
oRange.ForEach(function (range) {
const cellValue = oWorksheet.GetRange(range).GetValue().trim();
const containsIndex = containsWord(cellValue, wordReference);
if (containsIndex !== -1) {
const newValue = cellValue.substring(
0,
containsIndex + wordReference.length
);
oWorksheet.GetRange(range).SetValue(newValue);
} else {
console.log(
"No instance found in the selection where deletion is applicable."
);
}
});
function containsWord(sentence, word) {
const trimmedSentence = sentence.trim();
const trimmedWord = word.trim();
const index = trimmedSentence
.toLowerCase()
.indexOf(trimmedWord.toLowerCase());
return index;
}
})();
现在,让我们看看宏的表现如何。
就是这样!这个便捷的宏旨在轻松删除单元格值,提升您的电子表格体验。无论是在桌面版还是网页版编辑器中,这个宏都是您电子表格工具箱中的理想选择。
不要错过利用 ONLYOFFICE API 强大功能的机会。我们丰富的 API 方法库是将您的想法变为现实的关键。如果您有任何问题或创新概念,欢迎您与我们分享。您的意见非常宝贵,我们非常期待与您进行合作。祝您探索成功!
创建免费的 ONLYOFFICE 账户
在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。