微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从当前电子表格在其他电子表格中运行脚本 可能的解决方案:参考文献:

如何解决从当前电子表格在其他电子表格中运行脚本 可能的解决方案:参考文献:

我有两个不同的电子表格,它们都有自己的脚本项目。我从SpreadsheetA创建了一个库,并将其链接到SpreadsheetB。现在,当我从SpreadsheetB脚本调用SpreadsheetA的函数时,它要在SpreadsheetB的当前活动表中运行,而我想在SpreadsheetA的选定表上运行该函数

function createDO() {
  var ss = SpreadsheetApp.getActive(); //SpreadsheetB
  var cell = ss.getActiveCell().getRowIndex();
  var spreadSheetAURL = "URL"; //SpreadsheetA
  var spreadSheetsInA = SpreadsheetApp.openByUrl(spreadSheetAURL).getSheetByName("name");
  spreadSheetsInA.activate()
  Sheetname.Project(); //script in SpreadsheetA
};

我需要从当前SpreadsheetB运行SpreadsheetA的Sheetname.Protect()函数

解决方法

可能的解决方案:

首先,值得注意的是,库不能像这样工作。正如Oleg Valter所言,库本质上是实用程序脚本,没有绑定到任何一个特定的脚本/类/项目。

但是,作为一种解决方法,您可以设置一个Web应用程序,该程序可以从一个项目调用到另一个项目,并在相应电子表格的doGet()函数内运行代码。

结构看起来像这样:

在电子表格A中:

function doGet(e) {
  var sheetName = e.parameter.sheetName
  var sheet = SpreadsheetApp.getActiveSpreadheet.getSheetByName(sheetName);
  sheet.activate();

  // I am not how this works,but I have extrapolated from your question
  Sheetname.Project(); 
}

然后从Publish > Deploy as web app...菜单项将其部署为Web应用程序。设置应为Execute the app as: meWho has access to the app: Anyone (even anonymous)

然后,从对话框的电子表格B:

中获取Web应用程序URL。
function createDO() {
  var ss = SpreadsheetApp.getActive(); //SpreadsheetB
  var cell = ss.getActiveCell().getRowIndex();
  var webAppUrl = "URL"; //SpreadsheetA
  UrlFetchApp.fetch(webAppUrl + "?sheetName=name");
};

?sheetName=name参数是一个URL查询字符串,将被传递到Web应用程序的doGet(e)的事件对象。这是通过e.parameter.sheetName访问的。

查询字符串=右侧的字符串必须是您最初尝试激活的工作表名称。

我希望这对您有帮助!

参考文献:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?