【发布时间】:2019-11-06 16:18:52
【问题描述】:
我有一个根据规则将数据导出到工作表的广告脚本。
但是,我只想替换某个单元格范围内的数据,例如 Google 工作表中的“A2:J”。
我知道如何在电子表格应用程序脚本中执行此操作,但不确定/在广告脚本/AWQL 上苦苦挣扎。
我在下面粘贴了脚本的基础知识,但确实可以深入了解是否以及如何推动到特定范围。
function main(){
// Put your Google data sheet here
var sheetURL = '';
// Enter the tab name here
var tabName = '';
var QUERIES = [{'query' : 'SELECT Date, DayOfWeek, HourOfDay, Device, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionValue ' +
'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
'WHERE Impressions > 0 ' +
'DURING TODAY',
//'DURING ' + dateRanges,
'spreadsheetUrl' : sheetURL,
'tabName' : tabName,
'reportVersion' : 'v201809'
}
];
//This is to gather the above query and push it to the spreadsheet stated above
for(var i in QUERIES) {
var queryObject = QUERIES[i];
var query = queryObject.query;
var spreadsheetUrl = queryObject.spreadsheetUrl;
var tabName = queryObject.tabName;
var reportVersion = queryObject.reportVersion;
//Logger.log(spreadsheetUrl + " " + query);
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
var sheet = spreadsheet.getSheetByName(tabName);
var report = AdWordsApp.report(query, {apiVersion: reportVersion});
report.exportToSheet(sheet);
}
}
【问题讨论】:
-
此报告看起来会填充前十列,即 J 列。那么问题出在哪里?
-
@Cooper 它确实填充了我想要的列。但是,它会清除并替换整个工作表,而不仅仅是 A:J 列中的数据。所以我只想替换一个设定范围而不是整个工作表。
-
啊,我明白了。我想知道如何让每次都在同一张表中执行此操作,然后只需添加代码以自己将数据复制到最终表中,然后您就可以更好地控制最终报告的外观。
-
@Cooper 我很想通过查询或按计划将数据推送到新工作表来做到这一点。 (我为更大的数据集设置了这个)。我只是想看看是否有办法替换某个范围。我认为它需要更多时间进行研究...感谢您的时间
标签: google-apps-script google-sheets google-ads-api