首页 > 解决方案 > 如何从不同文档的电子表格中的单元格中获取值

问题描述

所以这是代码

var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1CmJ5M2zVbfGG769zK5frbFg9F9qGx7ut2m8dBjgxUeQ/edit#gid=0");
var sh = SpreadsheetApp.setActiveSpreadsheet(newActiveSpreadsheet);
var rand = Math.random(0,99);
var rand1 = Math.random(0,1);

function QuoteGen() {


  var G = ss.getSheetByName('This').getRange(1,10).getValue();
  DocumentApp.getActiveDocument().getBody().appendParagraph(G);
  var L = sh.getRange(1, 2);
   DocumentApp.getActiveDocument().getBody().appendParagraph(L);





}

目的是从随机单元格中获取值,但我无法使其工作,它仅显示范围、空格或电子表格上不存在(或等效项)

标签: google-apps-script

解决方案


尝试这个:

显然,容器文档是 Google Document。

function runOne() {
  var ss=SpreadsheetApp.openById("1CmJ5M2zVbfGG769zK5frbFg9F9qGx7ut2m8dBjgxUeQ");
  var sh=ss.getSheetByName("This");
  var lr=sh.getLastRow();
  var lc=sh.getLastColumn();
  //Logger.log(lr);
  //Logger.log(lc);
  var row=Math.floor(Math.random()*(lr));
  row=(row==0)?row+1:row;
  var col=Math.floor(Math.random()*(lc));
  col=(col==0)?col+1:col;
  //Logger.log(row);
  //Logger.log(col);
  var G=sh.getRange(row,col).getValue();
  row=Math.floor(Math.random()*(lr+1));
  row=(row==0)?row+1:row;
  col=Math.floor(Math.random()*(lc+1));
  col=(col==0)?col+1:col;
  //Logger.log(row);
  //Logger.log(col);
  var L=sh.getRange(row,col).getValue();
  var body=DocumentApp.getActiveDocument().getBody();
  body.appendParagraph(G);
  body.appendParagraph(L);
}

推荐阅读