Excel.run(function (ctx) {
var sheetName = "Sheet1";
var rangeAddress = "F5:G7";
var numberFormat = [[null, "d-mmm"], [null, "d-mmm"], [null, null]]
var values = [["Today", 42147], ["Tomorrow", "5/24"], ["Difference in days", null]];
var formulas = [[null,null], [null,null], [null,"=G6-G5"]];
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.numberFormat = numberFormat;
range.values = values;
range.formulas= formulas;
range.load('text');
return ctx.sync().then(function() {
console.log(range.text);
});
}).catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
計算モードがG7
の結果は367
で、automatic
あるとき。対照的に、計算モードがmanual
である場合、G7
の結果は0
である。つまり、式=G6-G5
は再評価されません。
manual
モードで、JavaScript APIによってG7
の計算を強制する方法があれば誰にも分かりますか?
私たちがイメージできる方法は、計算モードを(automatic
に)変更することですが、calculationModeはここでは読み取り専用です。
もう1つの方法は、calculate(calculationType: string)の方法を実行することですが、Excelで現在開いているすべてのブックを再計算します。これは非常にコストがかかり、われわれがしたいことではない可能性があります。私は、このような基本的な操作は関係なく、回避策のできない場合、それはかなり制限されるだろうと感じ
...瞬間
ロードマップのセルレベルで計算を有効にしていますか? – SoftTimur
私はその特定の機能を認識していません。私はそれを[UserVoice](https://officespdev.uservoice.com/)に追加することを絶対にお勧めします。 –
これにはすでにユーザーボイススレッドがあります... – SoftTimur