Button 如何使用应用程序脚本创建按钮

Button 如何使用应用程序脚本创建按钮,button,google-apps-script,google-sheets,spreadsheet,Button,Google Apps Script,Google Sheets,Spreadsheet,根据我的理解,如果我想在google sheets中创建一个按钮,我必须访问draw并创建一个类似按钮的形状,然后将其链接到脚本,如和中所述 根据这个,我有三个问题 有没有办法在应用程序脚本中创建按钮及其onClick函数 如果我使用了上述方法(绘图、分配…),其他将使用相同脚本的人(在我创建附加组件时)是否可以访问该方法 SpreadsheetApp.getUi()按钮的用途是什么 对。但不是绘画。您可以使用任何外部图像作为按钮。在返回的overGridImage上使用和 对 没有这样的方

根据我的理解,如果我想在google sheets中创建一个按钮,我必须访问draw并创建一个类似按钮的形状,然后将其链接到脚本,如和中所述

根据这个,我有三个问题

  • 有没有办法在应用程序脚本中创建按钮及其
    onClick
    函数
  • 如果我使用了上述方法(绘图、分配…),其他将使用相同脚本的人(在我创建附加组件时)是否可以访问该方法
  • SpreadsheetApp.getUi()按钮的用途是什么
  • 对。但不是绘画。您可以使用任何外部图像作为按钮。在返回的overGridImage上使用和

  • 没有这样的方法。但是你可以用

  • 对。但不是绘画。您可以使用任何外部图像作为按钮。在返回的overGridImage上使用和

  • 没有这样的方法。但是你可以用

  • 函数按钮对话框(){
    var html='';
    SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),“Title”);
    }
    
    函数按钮对话框(){
    var html='';
    SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),“Title”);
    }
    
    您希望在外接程序中使用绘图按钮而不是使用自定义菜单或HTML界面,这有什么原因吗?最终用户可以编辑绘图,从而破坏了您的加载项。我同意您的看法,这就是为什么我要求使用另一种方式而不是绘图。您希望在加载项中使用绘图按钮而不是使用自定义菜单或HTML界面的原因吗?最终用户可以编辑绘图,从而破坏您的加载项。我同意您的看法,这就是为什么我要求使用另一种方式而不是绘图。您是否可以向我解释:“google.script.host.close()”您是否可以向我解释:“google.script.host.close()”因此,通过将图像添加为按钮,其他用户将可以访问它,他们将无法修改它?@Doom任何具有编辑权限的用户都可以修改它,甚至删除itAha,所以我认为制作菜单更安全、更容易,但是我想知道我是否可以在工作表上制作一些用户可见的东西,而不是菜单,并执行相同的功能。@Doom您可以检查按钮是否被修改,或者只添加按钮
    onOpen
    ,如果不存在的话。是的,菜单更好。因此,通过添加图像作为按钮,其他用户可以访问它,对吗?他们将无法修改它?@Doom任何具有编辑权限的用户都可以修改它,甚至删除itAha,所以我认为制作菜单更安全、更容易,但是我想知道我是否可以在工作表上制作一些用户可见的东西,而不是菜单,并执行相同的功能。@Doom您可以检查按钮是否被修改,或者只添加按钮
    onOpen
    ,如果不存在的话。是的,菜单更好。
    function buttonOnADialog() {
      var html='<input type="button" value="Close" onclick="google.script.host.close();" />';
      SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html), "Title");
    }