[英]copyto Google Sheets Script adding date and source data in the next column
我对 Javascript 和 Apps 脚本还很陌生。 我想创建一个 function 来根据活动工作表特定范围内的日期更新另一个工作表。 我运行并且没有错误,但它不会将值从活动工作表转移到名为“January”的工作表,在不同的目标 url 谷歌工作表
function myFunction4() {
const spreadsheetIds = [
{ id: "1ShPxDW9qhz4aWgaQ1G9oz7w1yh0-Wfe2VItet95UYks", sheetNames:
["cab1"] },
{ id: "13Dx3ZOpV7baSTadSApIrVVccN-bHrPlHu240Aux0fo0", sheetNames:
["cab2"] },
{ id: "14EVlqaP1ilXwopgi0ESvp_IKkSyROSF22WzWAcNAJWc", sheetNames:
["cab3", "cab4"] }
];
const srcSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const srcSheet = srcSpreadsheet.getSheetByName("January");
if (!srcSheet) return;
const date = new Date();
const ssName = srcSpreadsheet.getName();
const range = srcSheet.getRange("A2:C" + srcSheet.getLastRow());
let values = range.getValues();
if (values.filter(r => r.join("")).length == 0) return;
values = values.map(r => [...r, date, ssName]);
range.clearContent();
for (let i = 0; i < spreadsheetIds.length; i++) {
const dstSpreadsheet = SpreadsheetApp.openById(spreadsheetIds[i].id);
for (let j = 0; j < spreadsheetIds[i].sheetNames.length; j++) {
const targetSheet =
dstSpreadsheet.getSheetByName(spreadsheetIds[i].sheetNames[j]);
if (targetSheet) {
targetSheet.getRange(targetSheet.getLastRow() + 1, 1, values.length,
values[0].length).setValues(values);
}
}
}
}
复制到 Google 表格脚本,在下一列中添加日期和源数据
当我点击发送按钮时,我想要。 可以在下一列添加日期和来源
日期 = 发送日期
source = 发送它的工作簿的名称
otherSheetName.getRange(1,getJumlahKolom+1).setValue("Date").setFontWeight("bold").setHorizontalAlignment("center");
otherSheetName.getRange(1,getJumlahKolom+2).setValue("source").setFontWeight("bold").setHorizontalAlignment("center");
日期和来源,您要加入 myFunction3() 的 function
我相信你的目标如下。
在这种情况下,如何进行以下修改?
function myFunction3() {
const spreadsheetIds = [
{ id: "1aUoRKCnztsZAvbMwSa8Zk-gB-zfn1KeQnJgWIGRVu24", sheetNames: ["cab1"] },
{ id: "1Eme5Rb9_5kbGaT-HTy5ThR1WYUeR1fkQbn2-8wY-uUY", sheetNames: ["cab2"] },
{ id: "150DduDdhFJLC0LL7iOihYa6V1vaZckvtRxJUqCFFV9Q", sheetNames: ["cab3", "cab4"] }
];
const srcSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const srcSheet = srcSpreadsheet.getSheetByName("input");
if (!srcSheet) return;
const date = new Date();
const ssName = srcSpreadsheet.getName();
const range = srcSheet.getRange("A2:C" + srcSheet.getLastRow());
let values = range.getValues();
if (values.filter(r => r.join("")).length == 0) return;
values = values.map(r => [...r, date, ssName]);
range.clearContent();
for (let i = 0; i < spreadsheetIds.length; i++) {
const dstSpreadsheet = SpreadsheetApp.openById(spreadsheetIds[i].id);
for (let j = 0; j < spreadsheetIds[i].sheetNames.length; j++) {
const targetSheet = dstSpreadsheet.getSheetByName(spreadsheetIds[i].sheetNames[j]);
if (targetSheet) {
targetSheet.getRange(targetSheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.