将超链接添加到Google幻灯片演示文稿中的表格单元格

时间:2019-12-03 18:30:01

标签: google-apps-script google-slides

在我的Google幻灯片中,我有一张桌子。该表每15分钟更新一次。我在此表中有一些单元格想要包含超链接。我试图通过突出显示单元格中的文本并右键单击并选择“链接”来手动输入超链接。但是当表更新时,超链接将被删除。我已经在脚本中尝试了setText()和insertText(),都删除了链接。

我还研究了更新完成后是否自动重新添加链接,但是幻灯片表没有insertLink命令。另外,由于该表实际上不是Google Spreadsheet,因此没有setFormula()命令。

这是我当前用来更新表格的内容。可行,只需要在文本中添加超链接即可。

仅供参考,如果需要的话,链接将指向Google云端硬盘中的其他文件...

var slide = SlidesApp.getActivePresentation().getSlides()[slideNo];
var table = slide.getTables();
var cell = table[0].getCell(row,4);
var trafficTime = convertTime(res["routes"][0]["summary"]["travelTimeInSeconds"]);
var trafficDelay = Math.round(res["routes"][0]["summary"]["trafficDelayInSeconds"]/60);  
var displayedTime = trafficTime + " +" + trafficDelay; 

cell.getText().clear();
cell.getText().insertText(0,displayedTime);

1 个答案:

答案 0 :(得分:1)

  • 您要向Google幻灯片上表格中的单元格文本添加超链接。
  • 您想使用Google Apps脚本实现这一目标。

如果我的理解是正确的,那么该修改如何?请认为这只是几个可能的答案之一。

修改点:

  • 对于您而言,可以使用从TextRange返回的insertText。为此,您可以使用getTextStyle().setLinkUrl(URL)的方法。

修改后的脚本:

修改脚本后,请进行以下修改。

从:
cell.getText().insertText(0,displayedTime);
至:
var textRange = cell.getText().insertText(0,displayedTime);
textRange.getTextStyle().setLinkUrl(url);

cell.getText().insertText(0,displayedTime).getTextStyle().setLinkUrl(url);
  • 在这种情况下,url是类似于https://###sample###/的字符串类型。

参考文献:

如果我误解了您的问题,而这不是您想要的方向,我深表歉意。