个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

如何使用 ONLYOFFICE 宏删除电子表格中的特定字词

原创
软件开发
来源:ONLYOFFICE
excel
文档管理
文档处理
文档组建
文件处理
2024-05-24
excel
文档管理
文档处理
文档组建
文件处理

在使用电子表格时,经常会遇到需要在工作表的单元格中搜索特定单词的情况,同时还可能需要修改或删除实例。在本文中,我们将开发一个宏,用于搜索和删除电子表格中出现的特定单词。



构建宏

const oWorksheet = Api.GetActiveSheet();
const oRange = oWorksheet.GetSelection();
const wordToCheck = "apple";


首先,我们在 oWorksheet 和 oRange 变量中获取活动工作表和选区,并设置要在整个电子表格中搜索的单词。

let index = 0;
  oRange.ForEach(function (range) {
    index++;
    const cellValue = oWorksheet.GetRange(range).GetValue();
    const contains = containsWord(cellValue, wordToCheck);


接下来,我们使用一个 foreach 循环遍历范围,获取选区中每个单元格的值,并将其传递给 containsWord 方法。containsWord() 方法需要两个参数:单元格的值和我们要搜索的单词。

    if (contains === 1) {
      //Uncomment the console.log() to view deleted cells in the browser's console.
      // console.log(`The sentence ${cellValue} contained the word you wanted to delete, and was deleted.`);
      oWorksheet.GetRange(range).Clear();
    } else if (contains === true) {
      oWorksheet
        .GetRange(range)
        .SetFillColor(Api.CreateColorFromRGB(204, 0, 0));
    }


完成 containsWord() 方法后,将根据返回值决定后续操作。如果返回值为 1,表示完全匹配,则清除单元格。另一方面,如果该方法返回值为 true,表示在附加字符中存在目标单词,则单元格将高亮显示。

function containsWord(sentence, word) {
    const trimmedSentence = sentence.trim();
    const trimmedWord = word.trim();
    if (trimmedSentence === trimmedWord) {
      return 1;
    } else {
      const regex = new RegExp("\\b" + trimmedWord + "\\b", "i");
      return regex.test(trimmedSentence);
    }
  }


containsWord() 方法是本宏中的主要计算功能。它接受单元格值和要搜索的单词,并对其进行修剪以消除任何额外的空格。如果单元格值与目标单词精确匹配,且没有附加内容,则返回 1。但是,如果单元格值包含目标单词和其他字符,例如句子中的字符,则返回 true。


完整的宏代码

(function () {
  const oWorksheet = Api.GetActiveSheet();
  const oRange = oWorksheet.GetSelection();
  const wordToCheck = "apple";
  let index = 0;
  oRange.ForEach(function (range) {
    index++;
    const cellValue = oWorksheet.GetRange(range).GetValue();
    const contains = containsWord(cellValue, wordToCheck);
    if (contains === 1) {
      //Uncomment the console.log() to view deleted cells in the browser's console.
      // console.log(`The sentence ${cellValue} contained the word you wanted to delete, and was deleted. `);
      oWorksheet.GetRange(range).Clear();
    } else if (contains === true) {
      oWorksheet
        .GetRange(range)
        .SetFillColor(Api.CreateColorFromRGB(204, 0, 0));
    }
  });
  function containsWord(sentence, word) {
    const trimmedSentence = sentence.trim();
    const trimmedWord = word.trim();
    if (trimmedSentence === trimmedWord) {
      return 1;
    } else {
      const regex = new RegExp("\\b" + trimmedWord + "\\b", "i");
      return regex.test(trimmedSentence);
    }
  }
})();


让我们看看我们的宏的表现如何。


点击以上图片免费观看视频 ⬆


这就是电子表格单词删除宏的作用!这款灵巧的工具可以毫不费力地删除特定的单词,让你的电子表格编辑工作变得轻而易举,节省时间,增强电子表格工作流程。祝你编辑愉快


不要错过利用ONLYOFFICE API强大功能的机会。我们广泛的API方法库是您将想法转化为现实的关键。如果您有任何问题或创新概念,我们鼓励您与我们分享。我们非常重视您的意见,也非常期待与您合作的可能性。祝您在探索过程中一切顺利!


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508