我在解决如何在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
答案 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类为您提供。