这里是使用 Google Apps 脚本的新手。我尝试使用其他几篇文章来尝试解决我的问题,但我陷入困境。我也遇到过和这篇文章类似的情况:提示框,询问值,存储在单元格中。添加适应按钮,但我需要使用侧边栏表单并将数据从侧边栏传递到特定工作表上的特定单元格。该脚本最初设置为追加并且有效,但是当我调整它以尝试填充特定工作表上的特定单元格时,我在某处破坏了代码。感谢您的帮助!
这是我正在使用的 Google 应用脚本:
function onOpen() {
SpreadsheetApp
.getUi()
.createMenu("Admin")
.addItem("Admin page", "showAdminSidebar")
.addToUi();
}
function showAdminSidebar() {
var widget = HtmlService.createHtmlOutputFromFile("Form.html");
widget.setTitle("Admin page");
SpreadsheetApp.getUi().showSidebar(widget);
}
//I've tried several things and can't figure out how to modify this section to send data to specific cells on specific sheets.
function appendRowFromFormSubmit(form) {
var ss = SpreadsheetApp.getActiveSheet().getSheetByName("Schedule").getRange("G5").setValue( firstName );
var ss = SpreadsheetApp.getActiveSheet().getSheetByName("Meals").getRange("C3").setValue( lastName );
}
和 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function submitForm() {
google.script.run.appendRowFromFormSubmit(document.getElementById("employeeForm"));
}
</script>
</head>
<body>
<h1>Enter employee details</h1>
<form id="employeeForm">
<label for="firstName">First name</label>
<input type="text" id="firstName" name="firstName"><br><br>
<label for="lastName">Last name</label>
<input type="text" id="lastName" name="lastName"><br><br>
<div>
<label for="department">Department:</label><br>
<input type="radio" id="sales" name="department" value="Sales">
<label for="sales">Sales</label><br>
<input type="radio" id="marketing" name="department" value="Marketing">
<label for="marketing">Marketing</label><br>
<input type="radio" id="product" name="department" value="Product">
<label for="product">Product</label><br>
<input type="radio" id="engineering" name="department" value="Engineering">
<label for="engineering">Engineering</label><br><br>
<input type="button" value="Submit" onclick="submitForm();">
</form>
</body>
</html>
改变
function appendRowFromFormSubmit(form) {
var ss = SpreadsheetApp.getActiveSheet().getSheetByName("Schedule").getRange("G5").setValue( firstName );
var ss = SpreadsheetApp.getActiveSheet().getSheetByName("Meals").getRange("C3").setValue( lastName );
}
至
function appendRowFromFormSubmit(form) {
let spread = SpreadsheetApp.getActiveSpreadsheet();
spread.getSheetByName("Scedule").getRange("G5").setValue(form.firstName);
spread.getSheetByName("Meals").getRange("C3").setValue(form.lastName);
}