3

我已经开始创建一个电子表格来监控来自 facebook、youtube 等的一些结果......我做的很多事情都是从这个网站上以前的答案中学到的。

现在我一直在努力寻找一个可以帮助我执行以下操作的脚本:

A 列包含指标的描述
B 列包含从外部来源提取指标的公式(例如,我的 facbeook 页面的点赞数、我的 YT 频道的视频观看次数)

我想要一个每周一运行并执行以下操作的脚本:

  1. 在 B 列和 C 列之间插入一个新列(将 B 之后的所有列向下移动 1 个位置)
  2. 复制 B 列并仅将值(不是公式)粘贴到新的空列 C 中
  3. 在 C 列 (C1) 的顶部写下类似 Week Commencing YYYY/MM/DD 之类的内容,其中 YYYY/MM/DD 是前一周星期一的日期

我已经尝试了这个的修改版本(来自http://www.kraukoblog.com/marketing/tutorial-watch-your-competitors-facebook-pages-with-google-docs/):

function UpdateFblikes() {
  var sheet =SpreadsheetApp.getActiveSheet(); //define spreadsheet name
  var column = sheet.getRange("O1").getValue();
  var row = 4;
   Utilities.sleep(4000);  // Slowdown the script (4 second)
   var nblike = sheet.getRange("E4:E60"); // Select and copy the column
   nblike.copyValuesToRange(sheet, column+5, column+5, row, row+56); // Paste the data
  sheet.getRange(3, column+5).setValue(new Date()); // add date in column title
   sheet.getRange("O1").setValue(column+1);  // Incremente variable
}

但它只在列中写入日期。

这将使我能够比较这些指标的每周变化。

这可能吗?

4

1 回答 1

3

通过浏览谷歌开发者页面上的不同教程,我已经能够找到解决方案。这是我创建的功能

function insertcolumn() {
// The code below will insert 1 column after column 5 in sheet 4
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[4];
sheet.insertColumns(5, 1); 


// Get the range of cells that store data to be copied having created a named range for the column in the spreadsheet.
  var valuestocopy = ss.getRangeByName("valuestocopy")


// The code below copies the range valuestocopy cells to column five up to 100 rows

valuestocopy.copyValuesToRange(sheet, 5, 5, 1, 100); }
于 2013-02-20T15:22:55.990 回答