我是Google Sheets/JavaScript的新手。我必须将VBA Excel应用程序移植到google Sheets。
Excel应用程序包含许多使用选项卡上的值(> 2000值)的公式。在Excel中,它在开始时导入所有参数,然后使用全局变量馈送到公式,以避免访问每个公式调用。
如何在Google Sheets中读取大数字数组并将其存储在一个全局变量中?我在谷歌上搜索,似乎我必须使用PropertiesService,但它对我不起作用。
我的代码:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var SS
问题:
我有一个简单的操作,这是每次添加一个新条目到我的Google Sheets "Sales Form Reponses“页面时都需要的。当我知道需要时,手动运行它的代码工作得很好,只需在"Sales Data Clean“表中添加一个新行,并复制前一行中的所有公式。这是必要的,因为它将一些信息字段添加到表单条目中。
function addRow() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName('Sales Data Clean'), lRow = sh.get
我有两个脚本。一个链接到Google表单,另一个链接到Google sheets。我需要确保Google表单脚本在执行链接到Google表单的工作表的Google sheet脚本的主体之前完成执行。如何做到这一点呢? 需要等待Google表单脚本完成,如下面的代码所示。我不能使用Utilities.sleep,因为它可能会导致竞争条件,这取决于执行的时间。 //SCRIPT LINKED TO FORM
function onFormSubmit(e) {
//does something
return;
} //SCRIPT LINKED TO SHEET
function onFor
我可以使用下面的代码从单个工作表中获取值,但我想知道是否可以从电子表格中的所有工作表中获取所有值,然后操纵有关我得到的内容的日期。换句话说,您是否可以将范围设置为包含从sheet x到sheet y的工作表,或者至少从所有工作表中获取所有数据,然后我将设法包括/排除工作表。我正在使用Sheets,我不能使用来实现这个功能。
let { google } = require("googleapis");
let authentication = require("./authentication");
function getData(auth) {
var
我正在尝试将一个相当于Excel 3D公式的脚本写入Google中。我有一本包含大量工作表的工作簿和一张总结数据的主表。
在excel中,我会使用这个3D公式:
=SUM(Sheet1:Sheet4!A2)
使用Google仅仅几个月,我就遇到了一些困难。
我在stackExchange上尝试了以下发现:
function sum3D(reference, start, end){
var sheets = SpreadsheetApp.getActiveSpredsheet().getSheets();
var sum = 0;
for(var i = start; i <
我想创建一个具有多个问题页面的表单,单击页面的“下一步”按钮会自动将响应记录到Google Sheets上(即使用户在最后没有单击“提交”,也可以收集数据)。
一旦点击当前页面上的“下一步”按钮,当前页面的响应将通过Google Cloud或Google Sheets上的一些计算来选择要显示在下一页上的内容。
Google Forms似乎只能在单击"Submit“按钮时检索响应,并且"Submit”按钮只能在表单末尾出现一次(因此,不能转到另一个问题页面)。
Google Apps脚本API似乎也不能为Google表单中的“下一步”按钮创建触发器。
我尝试过使用“提交”按钮来检
我正在尝试运行一个在Google Sheets脚本编辑器上下文中编写的函数,该函数调用在Google Forms脚本编辑器上下文中编写的另一个函数。这个是可能的吗? Google Sheets function callForm() {
/*something like this?*/
formID.google.script.updateForm()
} Google Forms function updateForm() {
does stuff
} 我知道我可以使用触发器来运行表单的脚本,但出于各种原因,我想从google sheets脚本中执行此操作。
我有一个Google电子表格,它的名称是:“表单响应1”、“表单响应2”、“表单响应3”和"Sheet1“。我编写了一段代码,删除除“Sheet1”之外的所有工作表:
当我运行这个函数时,它会给出一个错误:
不能删除带有链接窗体的工作表。请先解开表格的连结。
我怎样才能把表格从纸上拆开呢?请参阅下面函数的代码。
function clearForms()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var numsheets = ss.getNumSheets()-1;
var sheets = ss.ge
我使用Google Sheets来存储Google表单下拉列表中的"values“和"go to section based on answer”。如何使用Google Apps脚本为下拉菜单设置"values“和"go to section based on answer”? 我可以使用脚本从Google Sheet设置值,但我不能使用sheet和脚本为下拉菜单设置"go to section based on answer“。 我已经在脚本中有了dropdown的listItem,我用它来设置值。我尝试使用createChoice(value, n
这似乎是一个共同的目标,但我找不到其他人有和我一样的问题。我希望从交易所记录价格,价格从交换馈送到excel文件,并自动更新。
我已经编写了以下代码,以便从筛选源数据的查找(简单地说是vlookup)中复制和粘贴。当它运行时,它不复制查找中的新值,它继续使用它在第一个循环中看到的原始值,复制每个新行上的信息。它似乎停留在原始数据上,并且不会在循环的每次迭代中刷新。
有没有人能告诉我我在哪里遗漏了什么?
Sub Copying()
Dim lRow As Long
For lRow = 2 To 13000
ActiveWorkbook.RefreshAll
Applicat
我正在尝试使用Google Sheets脚本编辑器从表单创建一组工作表,以创建以列"B“中每个单元格的值命名的单个工作表,并使用第1行和第X行中的所有数据进行填充,其中X是每个工作表的行值。
到目前为止,我所拥有的是:
function makeSheets() {
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets();
sheets[0].getRange('B2:B100')
.getValues()
.forEach(function (el, i) {
我正在使用Google脚本创建一个包含电子邮件信息的Google表单。在F列中,我希望在所有行中创建相同的公式,以便拆分E列中分隔的值。
var LastColumn = sheets[1].getLastColumn();
sheets[1].insertColumnAfter(LastColumn);
var LastRow = sheets[1].getLastRow();
for (var a = 1; a < LastRow; a++){
var cell = sheets[1].getRange('F'+a);
var place = "
实际任务是什么?
我正在尝试从我的标准项目中访问google (Drive,Sheets )。因此,当表单提交时,它必须创建一个新的google工作表,并将表单的内容写入该表单,然后该表单必须存储在与google服务帐户或授权电子邮件帐户相关联的google驱动器中(即我们在授权电子邮件部分中提供的电子邮件帐户)。
我到底尝试了什么?
我使用了google_auth库来获取应用程序引擎的默认凭据,并且在我的gae项目控制台上启用了两个驱动器,sheets API。
from googleapiclient import discovery
from google.auth import ap
我是Laravel的新手,我正在尝试这个扩展:从谷歌电子表格中读取数据的。
然而,文档并没有详细说明每一步。
我意识到我必须像这样把提供者放在app.php中:'Sheets' => Revolution\Google\Sheets\Sheets::class,,在我的app.php中有一个别名,比如这个Sheets' => Revolution\Google\Sheets\Sheets::class,,这不是文档中的。希望这是对的?
然后,我尝试了来自的第一个Laravel示例
use Sheets; // I had to precede with
我有一个谷歌表格,这是链接到谷歌表单的回应。我还制作了另一个Google Sheet文件和GAS,它允许我以编程方式/从后台代码添加响应到我的Google表单。我的GAS代码如下:
var data = sheet.getDataRange().getValues();
var form = FormApp.openByUrl(formURL);
formResponse[0] = form.createResponse();
formResponse[0].withItemResponse(items[0].asListItem().createResponse(data[1][0]));