使用Office-JS链接读写

时间:2016-11-01 20:16:08

标签: javascript excel vba 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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

您可以使用OfficeJS为您提供的Range-Class。 以下是完整的文档:https://dev.office.com/reference/add-ins/excel/range(另请参阅此处给出的示例)

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

关于如何复制二维数组(在本例中为values[][]),您应该使用谷歌。

要确定时间,您可以使用Date() - Java类为您提供。