Передайте ячейку URL таблицы в src Google Spreadsheet & Google Docs - PullRequest
0 голосов
/ 26 июня 2018

У меня есть столбец URL (это столбец 10 - J) Google Docs в моей электронной таблице, и я сделал скрипт, чтобы, если я нажму на ячейку в документе, он восстановит строку, столбец будет постоянным = 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. Я не знаю, как чтобы интегрировать в src в журналах, ссылка отображается правильно, если я поместил непосредственно URL-адрес ячейки, она работает, но у меня есть 70 строк, что соответствует Google Doc. Если у вас есть идея, большое спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете сделать 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>
...