使用 Office-JS 链接读写

Chaining Read-Writes with Office-JS

我在解决如何在 Office JS 中链接同步时遇到问题 - 我想我必须先进行一次同步以读取值,然后再进行一次同步以将它们写回 - 一定很简单,但我找不到链接示例。

基本上我正在尝试编写与此 VBA 代码等效的代码,该代码通过数组进行读取和写入

Application.ScreenUpdating = False
d1 = MicroTimer
Set rng1 = Worksheets("Sheet1").Range("A1:A1000")
Set rng2 = Worksheets("Sheet1").Range("D1:D1000")
var = rng1.Value2
rng2.Value2 = var
d2 = (MicroTimer - d1) * 1000

MsgBox d2

甚至更简单

Worksheets("Sheet1").Range("D1:D1000").Value2=Worksheets("Sheet1").Range("A1:A1000").Value2

你可以使用 Range-Class OfficeJS 给你的。 这是完整的文档:https://dev.office.com/reference/add-ins/excel/range(另请查看此处给出的示例)

要复制范围,您需要创建两个范围并将 .values[][] 从源复制到目标。

关于如何复制一个二维数组(在本例中:values[][]),你应该使用google。

要确定时间,可以使用Date()-ClassJava给你。

要将值从一个范围复制到另一个范围,您可以使用以下代码:

Excel.run(function(context) {
    var range1 = context.workbook.worksheets.getItem("Sheet1").getRange("A1:A1000").load('values');
    return context.sync()
        .then(() => {
            var range2 = context.workbook.worksheets.getItem("Sheet1").getRange("D1:D1000");
            range2.values = range1.values;
            return context.sync();
        });
});