将Spreadsheet Url单元格传递到src Google Spreadsheet和Google Docs

时间:2018-06-26 14:21:48

标签: google-apps-script google-sheets google-spreadsheet-api google-docs-api

我在电子表格中有一列Google文档的URL(即第10-J列),并且编写了脚本,因此,如果单击文档中的单元格,它将恢复该行,该列为常数= 10通过按钮,将在文本框中启动文档:

var TITLE = 'Sidebar Title';
COLUMN_URL = 10;

function showHandle() {

  var link = SpreadsheetApp.getActiveSheet().getRange(SpreadsheetApp.getActiveRange().getRowIndex(),COLUMN_URL).getValue();
  Logger.log('The URL is : ' +  link );
  var body = DocumentApp.openByUrl(link).getBody();
  Logger.log('The body is ' +  body );

  var ui = HtmlService.createTemplateFromFile('ModeLessDialog')
      .evaluate()
      .setWidth(1000)
      .setHeight(500);
  SpreadsheetApp.getUi().showModalDialog(ui, TITLE);
}

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<iframe  src= "link + ' '" height="1000" width="90%"></iframe>
</body>
</html>

事实上,我想在src中传递->此处的URL

  

SpreadsheetApp.getActiveSheet()。getRange(SpreadsheetApp.getActiveRange()。getRowIndex(),COLUMN_URL).getValue(),但它无法识别enter image description here。我不知道如何集成到如果我直接将其工作的单元格的URL放置在日志中,则src会正确显示链接,但是我有70行对应于Google文档。如果您有一个想法,非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以将link设置为全局变量:

//gs code
var link = SpreadsheetApp.getActiveSheet().getRange(SpreadsheetApp.getActiveRange().getRowIndex(),COLUMN_URL).getValue();

//html code    
<iframe  src= "<?= link ?>" height="1000" width="90%"></iframe>

或调用返回您链接的函数:

function getLink() {
    return SpreadsheetApp.getActiveSheet().getRange(SpreadsheetApp.getActiveRange().getRowIndex(),COLUMN_URL).getValue();
}

<iframe  src= "<?= getLink() ?>" height="1000" width="90%"></iframe>