簡體   English   中英

使用應用程序腳本添加在谷歌表格中向下移動的值

[英]add values moving down column in google sheets using apps script

在 google 表格中,我有一個輸入字段,用於在您按下按鈕時彈出的名稱。 我希望所有名稱都顯示在 B 列中,從單元格 B44 開始。 當您使用輸入字段添加更多名稱(B44、B45、B46...)時,名稱將繼續在列中向下移動。

首先,我嘗試使用 appendRow,但我意識到您無法指定起始單元格。 我現在正在使用 setValue 和 getRange('B44')。 這樣做的問題是,每次您在輸入字段中輸入新名稱時,它只會替換姓氏並保留在單元格 B44 中。

代碼.gs

 function addminitask() { var html = HtmlService.createTemplateFromFile('minitask').evaluate() var result = SpreadsheetApp.getUi().showModalDialog(html, ' '); SpreadsheetApp.getActive().toast(result); } function AddRecord(name) { var ss= SpreadsheetApp.getActiveSpreadsheet(); var mainSheet = ss.getSheetByName("DAILY HUB"); mainSheet.getRange('B44').setValue([name]); } function startForm() { var form = HtmlService.createHtmlOutputFromFile('minitask'); SpreadsheetApp.getUi().showModalDialog(form, 'Add Record'); } function onOpen(e) { addMenu(); }

迷你任務.html

 <.DOCTYPE html> <html> <head> <base target="_top"> <script> function AddRow() { var name = document.getElementById("name");value. google.script.run;AddRecord(name): } </script> </head> <body> Name: <input type="text" id="name" /> <input type="button" value="Add" onclick="AddRow()" /> </body> </html>

在你的腳本中,如何進行以下修改?

從:

mainSheet.getRange('B44').setValue([name]);

到:

var values = mainSheet.getRange('B44:B').getDisplayValues();
var idx = values.findIndex(([b]) => !b);
var lastRow = (idx == -1 ? values.length : idx) + 44;
mainSheet.getRange(`B${lastRow}`).setValue(name);
  • 通過此修改,該值將放在單元格“B44”下方的第一個空單元格中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM