我是 Google 表格世界的新手。我能够在 Excel 中编写非常简单的例程。抱歉,如果我在本网站上找不到答案。
我的问题很简单,有两部分:
- 我想在打开谷歌工作表时提示一个问题框,询问一个数值,回答这个问题后,将数值存储到特定的单元格,例如B3。
- 我希望在工作表的多个页面上有一个按钮,提示同一个问题框编辑值。
背景:
我是一名医生,我为紧急情况下的 child 子制作了一张包含许多药物的表格。我想询问用户 child 的年龄(也许稍后是体重,现在已计算),因此所有页面上的年龄和体重都是正确的,并且用户并不急于找到正确的单元格。如果用户想要编辑年龄,他可以使用所有工作表上都可用的按钮。
最佳答案
首先,通过以下函数,您可以询问用户年龄并将其设置到特定工作表中的特定单元格:
function promptUserAge()
{
// Prompt for the value
var age = SpreadsheetApp.getUi().prompt("Please enter the age.").getResponseText();
// Get the sheet that you want store the value in and set the value in the cell B3
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Patient Information").getRange("B3").setValue( age );
}
现在,既然你使用了这个短语
so the age and weight are correct on all pages
我不确定您是否要在多个工作表中设置该值,以及是否要使用工作表函数或应用程序脚本来执行此操作。这就是为什么我要在特定单元格的所有工作表中包含设置值的方法:
function promptUserAge()
{
// Prompt for the value
var age = SpreadsheetApp.getUi().prompt("Please enter the age.").getResponseText();
//Get all pages in spreadsheet and iterate through
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for(var i = 0; i < sheets.length; i++ )
{
//Set the value in the cell B3 of the page
sheets[i].getRange("B3").setValue( age );
}
}
要在用户打开您使用的电子表格时弹出提示,请在 onOpen 函数中调用它:
function onOpen(e)
{
promptUserAge();
}
现在是添加按钮来编辑值的部分。
您可以添加一个自定义菜单,该菜单将显示在电子表格的工具栏中,其中自定义菜单如下所示:
function createMenu()
{
SpreadsheetApp.getUi().createMenu("Fill information")
.addItem("Age", "promptUserAge")
.addToUi();
}
如果您的用户知道要查找什么,这意味着您已告诉他们自定义菜单的存在,这是一个好方法。根据我的经验,有些人很难找到菜单,即使你告诉他们菜单在那里,所以既然你的背景表明你想要创建一种简单快捷的方法,我会使用第二种方法:
您可以通过从工具栏导航:插入 -> 图像,将图像插入到电子表格中。插入一张图像,以非常清晰的方式显示“按此处编辑信息”,然后右键单击该图像。您可以使用边框来编辑图像大小,并且在其右上角出现三个点。单击这些点,然后单击“分配脚本...”。在提示符下,插入不带括号的函数名称。在此示例中,您将插入:
promptUserAge
现在该图像充当调用该函数的按钮。
我希望这有帮助。
关于google-apps-script - 提示框,询问值,存储在单元格中。添加适应按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46864923/