是否可以使用 Google Apps 脚本创建按钮?
Is it possible to create Buttons with Google Apps Script?
我想要一个包含名称的列表,在它们旁边有一个按钮,它会将我带到该电子表格。但我不想为每个手动创建一个按钮。
否则我会创建一个带有下拉菜单的边栏..但我更喜欢第一个解决方案:)
谢谢
现在我只有一个名称和一个按钮
是的,您可以使用 Apps 脚本插入图像并将其用作按钮。使用sheet.insertImage() to insert the image and assignScript(functionName)分配函数。
参见下面的示例:
//Function to insert image
function insertImg() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var image = sheet.insertImage("https://www.google.com/images/srpr/logo3w.png", 1, 1); //change the URL to the image you prefer
image.assignScript("sheet"); //assign the function to the image
}
//function that takes you to the sheet you specify
function sheet() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true); //change Sheet2 to the name of the sheet where you want to go
}
描述
您可以简单地在 sheet 名称旁边的列中添加一个复选框。当用户单击复选框时,选中的 sheet 将变为活动状态。
然后使用简单的 onEdit(e) 触发器关注复选框列。
简单,低开销,不需要图像文件。
Code.gs
function onEdit(e) {
try {
if( ( e.value === undefined ) || ( e.value === "" ) ) return;
if( e.range.getSheet().getName() === "SheetList" ) {
if( e.range.getColumn() === 2 ) {
e.range.setValue(false);
e.source.setActiveSheet(e.source.getSheetByName(e.range.offset(0,-1).getValue()));
}
}
}
catch(err) {
SpreadsheetApp.getUi().alert(err);
}
}
参考
我想要一个包含名称的列表,在它们旁边有一个按钮,它会将我带到该电子表格。但我不想为每个手动创建一个按钮。
否则我会创建一个带有下拉菜单的边栏..但我更喜欢第一个解决方案:)
谢谢
现在我只有一个名称和一个按钮
是的,您可以使用 Apps 脚本插入图像并将其用作按钮。使用sheet.insertImage() to insert the image and assignScript(functionName)分配函数。
参见下面的示例:
//Function to insert image
function insertImg() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var image = sheet.insertImage("https://www.google.com/images/srpr/logo3w.png", 1, 1); //change the URL to the image you prefer
image.assignScript("sheet"); //assign the function to the image
}
//function that takes you to the sheet you specify
function sheet() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true); //change Sheet2 to the name of the sheet where you want to go
}
描述
您可以简单地在 sheet 名称旁边的列中添加一个复选框。当用户单击复选框时,选中的 sheet 将变为活动状态。
然后使用简单的 onEdit(e) 触发器关注复选框列。
简单,低开销,不需要图像文件。
Code.gs
function onEdit(e) {
try {
if( ( e.value === undefined ) || ( e.value === "" ) ) return;
if( e.range.getSheet().getName() === "SheetList" ) {
if( e.range.getColumn() === 2 ) {
e.range.setValue(false);
e.source.setActiveSheet(e.source.getSheetByName(e.range.offset(0,-1).getValue()));
}
}
}
catch(err) {
SpreadsheetApp.getUi().alert(err);
}
}
参考