如何仅使用谷歌应用程序脚本在单元格中创建按钮?不使用插入>绘图选项

林茨勒21

我需要做一个带有脚本的按钮,它是我想要做的事情所需的,所以可以在insert>draw选项中创建的按钮没有我需要的东西,我想在任何按钮的每一行中使用按钮进行整个调用单击时执行函数,我想知道这是否可行

我在这里查看了这些信息,但真的不知道该怎么做

使用一个脚本使用一行中的图标将文本从一行中的单元格复制到另一张工作表

在我的 html 中嵌入了我的 trello 卡片的脚本

  <script>

  (() => {

    google.script.run.withSuccessHandler(myname => {

      const tag = document.createElement('script');

      tag.src = "https://p.trellocdn.com/embed.min.js";

      tag.addEventListener('load', () => {

        const elem = document.querySelector('#card');

        elem.href = myname;

        window.TrelloCards.load(document); // <-- this triggers the lookup
      });

      document.body.append(tag);

    }).getCardById();

  })();
  </script>

功能 getCardById

function getCardById(){
  var app = SpreadsheetApp;
  var activeSp = app.getActiveSpreadsheet();
  var activeSheet = activeSp.getActiveSheet();
  //Range of links
  var linkRange = activeSheet.getRange(2,2,3,1);
  //Cuantity of values
  var filLength = linkRange.getValues();
  var cont = 2;
  if (activeSheet.getActiveCell().getColumn() == 6.0){
    for (i = 0; i < filLength.length ; i++){
      if (activeSheet.getActiveCell().getRow() == activeSheet.getRange(cont,2).getRow()){ 
        var linkCol = 2.0;
        var linkFil = activeSheet.getActiveCell().getRow();
        var linkRange = activeSheet.getRange(linkFil, linkCol);
        var linkValue = linkRange.getValue();
        var url = linkValue;
        return url;
      }
      cont++;
    }
  }
}

功能seeCard是按下复选框时应显示的功能,按下时应显示同一行的值

function seeCard(){
 var app = SpreadsheetApp;
  var activeSp = app.getActiveSpreadsheet();
  var activeSheet = activeSp.getActiveSheet();
  var startCol = 6;
  var startFil = 2;
  var numCols = 1;
  var numFils = 2;

  //Rango de links
  var linkRange = activeSheet.getRange(2,2,3,1);
  //Cantidad de valores para el for 
  var filLength = linkRange.getValues();
  var cont = 2;

  if (activeSheet.getActiveCell().getColumn() == 6.0){
    for (i = 0; i < filLength.length ; i++){
      if (activeSheet.getActiveCell().getRow() == activeSheet.getRange(cont,2).getRow()){ 
        //Html
        var templateFileId = '1upA3JHioEyxLScebasmsmwXW-SxsiKaPRznKLCKFYhw';
        var sheetName = 'Trello sheet';
        SpreadsheetApp.openById(templateFileId).copy(sheetName);
        var excel =  SpreadsheetApp.create("Probando un html interno a ver ")
        var html = HtmlService.createHtmlOutputFromFile('index') //index is the name of your HTML file
        .setTitle('Trello card')
        .setWidth(350)
        .setHeight(250);
        SpreadsheetApp.getUi().showModalDialog(html, 'trello card '); // Or DocumentApp or FormApp.
        //End
      }
      cont++;
    }
  }
}

seeCard我需要放置复选框的按钮在哪里,当您单击时,抓取链接将其发送到我的 html 并显示附加到该链接的 trello 卡

在此处输入图片说明

Tanaike
  • 您想将复选框放在“F2:F”的单元格中。
  • 您希望seeCard()在选中复选框时运行

我可以像上面那样理解。如果我的理解是正确的,这个答案怎么样?

示例脚本:

请复制并粘贴以下脚本。并且,请将 OnEdit 事件触发器安装到installedOnEdit. 因为在您的脚本中,当使用简单触发器时,需要授权 likeSpreadsheetApp.openById()的方法会发生错误SpreadsheetApp.create()因此,请为此使用可安装的 OnEdit 事件触发器。

function installedOnEdit(e) {
  const range = e.range;
  if (range.columnStart == 6 && range.rowStart > 1 && range.isChecked()) {
    range.uncheck();
    seeCard();
  }
}
  • 为了运行脚本,请选中“F”列中的复选框。这样, 的功能installedOnEdit由可安装的 OnEdit 事件触发器运行。在您的脚本中,活动范围是从您的脚本中检索的。所以在你的情况下,我认为这个示例脚本有效。

笔记:

  • 我认为事件对象也可以使用。但我不确定你的整个剧本。所以我无法提出它。

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

以编程方式创建选项卡并在markdown中绘图

HighCharts - 在绘图选项上应用格式化函数

如何使绘图选项适用于图中的所有轴

使用合并单元格创建新行的谷歌表格应用程序脚本问题

R:如何以程序方式将绘图嵌入RMarkdown的选项卡中?

计算应用程序脚本中的单元格以在谷歌工作表中使用

使用 tmap 绘图时最好使用最终的 SpatialPolygonsDataFrame 还是应在 tmap 选项中进行更改?

如何使用getLastRow()删除谷歌应用程序脚本中某一列范围内的单元格

在选项卡布局中添加多个绘图布局[散景]

软件包e1071的绘图功能中的slice选项

如何从谷歌应用程序脚本中定义它是在哪个选项卡上触发的?

R:使用闪亮的应用程序重置绘图的按钮

如何使用多个选项卡创建应用程序

Google Sheets 脚本,可让您在分配给绘图的同时单击时在单元格中插入/写入单词(充当按钮)

如何使用谷歌表格条件格式选项将列与单元格ID而不是值进行比较?

如何使谷歌应用程序脚本 - 日历 createEvent() 接受来自使用数组公式填充的单元格的 GSheet 输入

如何使用Spring创建全局会话/应用程序会话以存储应用程序选项?

如果另一列中的单元格使用谷歌应用程序脚本有一些数据,如何获取列中的行号?

使用表中的选定选项计算单元格值

如何使用应用程序脚本删除特定列中的空单元格?

如何调整绘图悬停模式“x”选项以在没有额外美感和重叠坐标的情况下工作?

Python pandas,多行绘图选项

如何使用jQuery从表单元格中获取选项选择

谷歌应用程序脚本中过滤行单元格的 setValue

在NativeScript / Angular应用程序中绘图?

使用应用脚本从Google绘图创建png文件

绘图功能中的可选绘图

使用应用程序脚本更新一系列单元格中的公式

TStringGrid合并单元格绘图