如何将提及的单元格复制到另一个单元格

问题描述 投票:0回答:1

我有 2 个电子表格。

在第一个中,我有一列填充了@mention 生成的值,如下图所示。 enter image description here

我用来通过脚本接收此数据的第二个电子表格。

脚本:

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的单元格,而只复制内容。

enter image description here

如何让它在保留@提及的同时准确复制内容?

google-apps-script google-sheets google-workspace
1个回答
0
投票

推荐:使用 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"));

}

注意:我无法运行您的代码,因为有一些变量未定义。

输出示例:

参考:

© www.soinside.com 2019 - 2024. All rights reserved.