用Office-JS链接读写

Chaining Read-Writes with Office-JS

本文关键字:读写 链接 Office-JS      更新时间:2023-09-26

我有一个问题,找出如何在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

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

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();
        });
});

您可以使用OfficeJS提供的Range-Class。这里是完整的文档:https://dev.office.com/reference/add-ins/excel/range(也可以看看那里给出的示例)

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

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

要确定时间,可以使用Java提供的Date() -Class。