如何从另一个电子表格中获取活动单元格的单元格坐标

时间:2014-10-30 16:52:13

标签: google-apps-script google-sheets

我有这个脚本用于获取活动单元格到UI的坐标。

function createUI(id, url, title) {  


  var UI = UiApp.createApplication().setHeight(300).setWidth(300).setTitle("Výběr dat pro převod provizí.");

  var HandlerGetCellCoordinatesCisloNavrhu = UI.createServerHandler("getCellCoordinatesCisloNavrhu").addCallbackElement(hiddenID);
  var firstCellCisloNavrhu = UI.createTextBox().setId("first_cell_cislo_navrhu").addFocusHandler(HandlerGetCellCoordinatesCisloNavrhu);
  var panel1 = UI.createAbsolutePanel().add(firstCellCisloNavrhu);
  var captionPanel1 = UI.createCaptionPanel().setText("první buňka s číslem návrhu smluv").add(panel1);


  var button = UI.createButton().setText("submit");
  var vertical = UI.createVerticalPanel()
  .add(captionPanel1)
  .add(button);
  var pole = UI.add(vertical);
  SpreadsheetApp.getActiveSpreadsheet().show(UI);
}

function getCellCoordinatesCisloNavrhu(e){
  var id = "1uVb_ndCQQNu3DCyQQQOwMAAHUcApRnhQn3patIYBZS8";
  var UI = UiApp.getActiveApplication();
  var cell = SpreadsheetApp.getActiveSpreadsheet().getActiveRange();
  var row = cell.getRow();
  var column = cell.getColumn();
  var cellCoordinates = row + "," + column;
  UI.getElementById("first_cell_cislo_navrhu").setText(cellCoordinates);
  return UI;
}

它运作良好,但我需要从其他电子表格中获取坐标,然后脚本包含。有问题。如果我用" openById"打开另一个电子表格。我只得到" 1,1"坐标,虽然我已经物理打开了另一个电子表格并将活动单元格设置为其他位置。我知道很明显,通过打开表单将A1单元格设置为活动,但我不知道如何避开它。

有人知道吗?

1 个答案:

答案 0 :(得分:0)

您可能希望在使用时间触发器运行的电子表格中包含脚本(点击不可用),将坐标存储在隐藏选项卡中。使用importrange函数检索坐标。