Fre*_*ler 0 google-apps-script
我想实现一个菜单项,选择该菜单项时会弹出颜色选择器,然后将工作表上某些单元格的背景颜色更改为所选的颜色。
我已经成功地在我的脚本中完成了所有这些事情,但我没有一个好的方法让用户轻松传递可用于更改背景的颜色。(我想避免要求他们将某个单元格更改为他们想要的颜色,然后单击菜单项来更改工作表的其余部分)
这是我当前的代码:
//Function to create menu item
function onOpen(){
var ui = SpreadsheetApp.getUi();
ui.createMenu('Sheet Options')
.addItem('Change Background Color', 'colorMe')
.addToUi();
}
function colorMe(){
var spreadsheet = SpreadsheetApp.getActive();
// Code to get color value selected by user from ui color picker
// Replace #000000 with that value
spreadsheet.getRangeList(['A:A', '1:1', 'H:H', 'I:I', 'N:U', 'B8:G9', 'E10:E31', 'F14:G31', 'B32:G100', '101:142']).activate()
.setBackground('#000000');
}
Run Code Online (Sandbox Code Playgroud)
'A:A', '1:1', 'H:H', 'I:I', 'N:U', 'B8:G9', 'E10:E31', 'F14:G31', 'B32:G100', '101:142'.如果我的理解是正确的,那么这个示例脚本怎么样?在这个答案中,<input>使用了颜色类型的元素。请将此视为多个答案之一。
请将以下脚本复制并粘贴到脚本编辑器的 HTML 中。
<input type="color" id="color" value="#ffffff">
<script>
document.getElementById("color").addEventListener("change", function(e) {
google.script.run.colorMe(this.value);
});
</script>
Run Code Online (Sandbox Code Playgroud)
请将以下脚本复制并粘贴到脚本编辑器的脚本中。
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile("index");
SpreadsheetApp.getUi().showModalDialog(html, "sample");
}
function colorMe(color) {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet
.getRangeList(['A:A', '1:1', 'H:H', 'I:I', 'N:U', 'B8:G9', 'E10:E31', 'F14:G31', 'B32:G100', '101:142'])
.activate()
.setBackground(color);
}
Run Code Online (Sandbox Code Playgroud)
openDialog(),将打开一个针对活动电子表格的对话框。并且,当您单击颜色选择器并选择颜色并单击“确定”时,将检索并colorMe运行颜色代码。然后,单元格的背景颜色更改为所选颜色。| 归档时间: |
|
| 查看次数: |
2509 次 |
| 最近记录: |