You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Office Scripts批量删除Excel全表超链接(需适配大文件优化)

高性能Office Scripts实现:删除工作簿全表超链接

以下代码完全等效参考VBA的核心逻辑,针对大体积文件做了专项性能优化,执行时不会修改单元格原有内容与格式。

核心优化点

  • 处理前临时关闭自动重算、界面实时刷新,剔除所有非必要的性能开销
  • 自动跳过无内容的空工作表,避免无效检测操作
  • 直接对工作表已使用范围批量清除超链接,替代逐超链接对象遍历删除的低效逻辑,大文件下处理速度提升显著
  • 增加异常兜底逻辑,无论脚本运行是否出错,都会自动恢复Excel原有配置,不会影响后续文件操作

完整代码

function main(workbook: ExcelScript.Workbook) {
    // 暂存Excel原有配置,处理完成后自动恢复
    const originalCalcMode = workbook.getApplication().getCalculationMode();
    const originalScreenUpdatingState = workbook.getApplication().getScreenUpdating();

    try {
        // 开启性能优化模式
        workbook.getApplication().setCalculationMode(ExcelScript.CalculationMode.manual);
        workbook.getApplication().setScreenUpdating(false);

        // 遍历工作簿内所有工作表
        const worksheetList = workbook.getWorksheets();
        for (const currentWs of worksheetList) {
            // 无内容的空表直接跳过
            const activeUsedRange = currentWs.getUsedRange();
            if (!activeUsedRange) continue;
            // 批量清除当前表已使用范围内的所有超链接,保留原文本、格式
            activeUsedRange.clear(ExcelScript.ClearApplyTo.hyperlinks);
        }
    } finally {
        // 恢复用户原有Excel设置
        workbook.getApplication().setCalculationMode(originalCalcMode);
        workbook.getApplication().setScreenUpdating(originalScreenUpdatingState);
    }
}

使用说明

  • 打开目标Excel文件,进入「自动化」选项卡点击「新建脚本」,把上述代码粘贴到脚本编辑器中
  • 点击运行即可,大体积文件运行时请不要操作Excel界面,等待脚本执行完成即可
  • 脚本执行完成后会自动恢复原有Excel计算、界面刷新设置,无需手动调整

内容的提问来源于stack exchange,提问作者Ayoub386

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 07:45:30