google-apps-script - 自动填充脚本 Google 电子表格脚本

标签 google-apps-script google-sheets

我需要你帮我解决这个问题。我的 Google 电子表格上需要一个脚本。

我需要脚本完全执行 CTRL+ACTRL+D 的操作。

所以它会根据第一行自动填充整个页面。

在细节方面。

假设有两个工作表,Sheet1 和 Sheet2。

现在 Sheet2 是一个数据库。因此每个单元格和行都有纯文本值/文本。

在 Sheet1 中,我在第 1 行的每个单元格中都有最简单的公式。

..Column 1....Column 2....Column 3...and so on
=Sheet2!A1, =Sheet2!B1, =Sheet2!C1,

因此,当您选择第一行时,捕获点并向下拖动,它将把公式填充到下面的行中,它们将像

=Sheet2!A1, =Sheet2!B1, =Sheet2!C1,
=Sheet2!A2, =Sheet2!B2, =Sheet2!C2,
=Sheet2!A3, =Sheet2!B3, =Sheet2!C3,

因此,当您按 CTRL+A 时,它将选择整个 Sheet1,然后当您按 CTRL+D 它将把公式填充到该工作表中的每一行。

我的目标是让脚本执行此操作。

到目前为止我已经写了

function f5(){
var sheet = SpreadsheetApp.getActiveSheet();
var allData = sheet.getDataRange();
var range = sheet.getRange(1,1,allData.getNumRows(),7)
range.activate();
};

它选择所需的范围,但我认为这不是正确的前进方式。我也在考虑按键模拟,但找不到任何说明可以做到这一点的文档。

最佳答案

以下内容应该有效:

  var oneRowCopy = sheet.getRange(1,1,1, sheet.getLastColumn());
  var targetRows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn());
  oneRowCopy.copyTo(targetRows);

关于google-apps-script - 自动填充脚本 Google 电子表格脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859941/

相关文章:

正则表达式从列表中提取所有组作为 arrayformula

google-apps-script - 如果同名文件已存在,请勿保存 PDF(Google App 脚本 + Google Sheets)

google-apps-script - 使用 Google 应用程序脚本解析 XML 文件(存储在 GoogleDrive 上)

node.js - 如何将电子表格.values.batchUpdate 与 Google Cloud Functions 和 NodeJS 以及 'googleapis' 模块结合使用

html - 链接到 Google Apps 脚本中的另一个 HTML 页面

google-sheets - Google 电子表格求和或某些列的行

excel - 如何将行转换为列,并重复相邻的单元格?

asynchronous - 使用 promise 对 Google 表格进行多次查询

javascript - 一秒钟内多次调用 Google App Script onEdit 函数失败

google-apps-script - 使用选项卡列表填充单元格中的下拉列表?