我试图在谷歌电子表格中为我的同事创建一个函数,以便使用"GetURL"从超链接中轻松提取URL。函数。这是我的代码:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Chris') // your name
.addItem("Activate Chris's script", 'activateMyStuff')
.addToUi();
}
function activateMyStuff() {
browser.msgBox('Script is activated! thanks.');
}
function GetURL(input) {
var myFormula = SpreadsheetApp.getActiveRange().getFormula();
var myAddress = myFormula.replace('=GetURL(','').replace(')','');
var myRange = SpreadsheetApp.getActiveSheet().getRange(myAddress);
return myRange.getRichTextValue().getLinkUrl()
}
脚本的第一部分是给每个人运行脚本的权限,函数的第二部分是GetURL函数。不幸的是,当我运行脚本并使用GetURL公式时,我得到了一个错误:异常:您没有访问所请求文档的权限。(14行)。我给了每个编辑器访问电子表格的权限,当我运行自定义脚本时,另一个错误也发生了:ReferenceError: browser is not defined。
关于"ReferenceError: browser is not defined">浏览器,">";是一个类,所以大写
我想你对getUrl()函数是如何工作的有点困惑;它用于获取Google Apps Script web应用程序的URL,而不是从单元格中获取URL。
要从单元格中获取URL,您只需使用getValue()
将其作为文本读取即可。
你的代码应该是这样的:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Chris') // your name
.addItem("Activate Chris's script", 'activateMyStuff')
.addToUi();
}
function activateMyStuff() {
Browser.msgBox('Script is activated! thanks.');
}
function getURL() {
return SpreadsheetApp.getActiveRange().getValue();
}