如何通过 Apps 脚本 return 在 Google Sheet 中运行
How to return function in Google Sheet through AppsScript
我想通过 Google Sheet 界面中的自定义菜单打印 GA 帐户列表。我在我的应用程序脚本中收集了这段代码。当我 运行 列表帐户功能时,它工作得很好 - https://prnt.sc/uvfag3
我想在 Google Sheet 界面打印这个。下面是我的代码
function listAccounts() {
var sheet= SpreadsheetApp.getActive();
var ss = sheet.getActiveSheet();
var data = ss.getDataRange();
var accounts = Analytics.Management.Accounts.list();
if (accounts.items && accounts.items.length) {
for (var i = 0; i < accounts.items.length; i++) {
var account = accounts.items[i];
Logger.log(account.name, account.id);
}
}
}
function onOpen () {
var ui= SpreadsheetApp.getUi();
ui.createMenu("Client Accounts")
.addItem('List GA Accounts', 'listAccounts')
.addToUi();
}
假设 Google Sheet Interface
你的意思是将数据写入你的传播sheet,你可以使用 map to format your data as a 2D array, and setValues(values) 将该数据写入你的 sheet:
function listAccounts() {
var sheet= SpreadsheetApp.getActive();
var ss = sheet.getActiveSheet();
var accounts = Analytics.Management.Accounts.list();
if (accounts.items && accounts.items.length) {
var values = accounts.items.map(item => [item.name, item.id]);
ss.getRange(1, 1, values.length, values[0].length).setValues(values);
}
}
注:
我不确定您要将数据写入 sheet 中的哪个位置,因此在下面的示例中,它从第一行和第一列 (A1
) 开始。如果不是,请修改前两个参数:
ss.getRange(1, 1, values.length, values[0].length)
参考:
我想通过 Google Sheet 界面中的自定义菜单打印 GA 帐户列表。我在我的应用程序脚本中收集了这段代码。当我 运行 列表帐户功能时,它工作得很好 - https://prnt.sc/uvfag3
我想在 Google Sheet 界面打印这个。下面是我的代码
function listAccounts() {
var sheet= SpreadsheetApp.getActive();
var ss = sheet.getActiveSheet();
var data = ss.getDataRange();
var accounts = Analytics.Management.Accounts.list();
if (accounts.items && accounts.items.length) {
for (var i = 0; i < accounts.items.length; i++) {
var account = accounts.items[i];
Logger.log(account.name, account.id);
}
}
}
function onOpen () {
var ui= SpreadsheetApp.getUi();
ui.createMenu("Client Accounts")
.addItem('List GA Accounts', 'listAccounts')
.addToUi();
}
假设 Google Sheet Interface
你的意思是将数据写入你的传播sheet,你可以使用 map to format your data as a 2D array, and setValues(values) 将该数据写入你的 sheet:
function listAccounts() {
var sheet= SpreadsheetApp.getActive();
var ss = sheet.getActiveSheet();
var accounts = Analytics.Management.Accounts.list();
if (accounts.items && accounts.items.length) {
var values = accounts.items.map(item => [item.name, item.id]);
ss.getRange(1, 1, values.length, values[0].length).setValues(values);
}
}
注:
我不确定您要将数据写入 sheet 中的哪个位置,因此在下面的示例中,它从第一行和第一列 (A1
) 开始。如果不是,请修改前两个参数:
ss.getRange(1, 1, values.length, values[0].length)