问题描述
- 解析使用范围,以查找所有形式为“ = foo(arg)”的公式,并且
- 使用出现的地址和arg的值填充数组。 arg例如可以是单元格引用,例如$ A $ 1。
我管理了第一部分,但是我将如何实施第二部分?我了解office-js不允许评估。作为评估方法,我考虑将“ = foo(arg)”替换为“ = arg”,重新加载值,然后将原始的“ = foo(arg)”放回单元格中。
有没有更清洁的解决方案? 通过上述解决方案,我该如何跟踪要加载和修改的对象?
我找到foo()的代码
Office.onReady(function() {
Excel.run(function (context) {
var sheet = context.workbook.worksheets.getActiveWorksheet();
var rng = sheet.getUsedRange();
rng.load("formulas");
var foundCells = new Array();
return context.sync().then(function () {
for(var i = 0; i < rng.formulas.length; i++) {
var f = rng.formulas[i];
for(var j = 0; j < f.length; j++) {
if (/^=foo\(.*\)/i.test(f[j])) {
foundCells.push({i: i,j: j,val: f[j]});
}
}
}
document.write(JSON.stringify(foundCells,null,4));
return context.sync();
});
});
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)