我有 2 个电子表格。
在第一个中,我有一列填充了@mention 生成的值,如下图所示。
我用来通过脚本接收此数据的第二个电子表格。
脚本:
function show(){
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet1 = ss.getSheetByName("BDCP");
const sheet2 = ss.getSheetByName("Campaigns");
let lastRow = sheet2.getLastRow();
let bd = sheet1.getRange("B2:C50").getValues();
let cp = sheet2.getRange("B15:B50").getValues();
for(var row = 0; row < bd.length; row++){
if(bd[row][0] == "ACTIVE"){
const row = row + 2;
const key = sheet1.getRange("C"+ line).getValue();
const rowCampaign = row + 15;
sheet2.getRange(linhaCampaign, 2).setValue(key);
}
}
}
问题是它不复制带有@mention的单元格,而只复制内容。
如何让它在保留@提及的同时准确复制内容?
推荐:使用 copyTo() 而不是 setValues()
copyTo() will copy the text including the format.
You can refer to this sample code below:
function show(){
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet1 = ss.getSheetByName("BDCP");
const sheet2 = ss.getSheetByName("Campaigns");
let lastRow = sheet2.getLastRow();
let bd = sheet1.getRange("B2:C50");
let cp = sheet2.getRange("B15:B50");
bd.copyTo(sheet2.getRange("B15:B50"));
}
注意:我无法运行您的代码,因为有一些变量未定义。
输出示例: