Javascript 通过谷歌表单上的脚本从图像中获取URL——这段代码还能用吗?
我正在使用谷歌表单 单元格A1:Javascript 通过谷歌表单上的脚本从图像中获取URL——这段代码还能用吗?,javascript,google-apps-script,Javascript,Google Apps Script,我正在使用谷歌表单 单元格A1: =image("address.jpg") 这会将图像放入单元格中。从产生的堆栈溢出中获取url 我创建了这个脚本,Google在autocomplete中识别了它。我得到的错误是: TypeError:无法调用null的方法“match”。(第10行) 我通过一个检查器运行了正则表达式,它确实得到了我要查找的内容,即地址,但错误似乎表明它返回时什么也没有 这个还能用吗?谷歌改变了什么吗 我的工作是创建两张工作表,并在一张工作表中包含§=图像,而在第二张工作表
=image("address.jpg")
这会将图像放入单元格中。从产生的堆栈溢出中获取url
我创建了这个脚本,Google在autocomplete中识别了它。我得到的错误是:
TypeError:无法调用null的方法“match”。(第10行)
我通过一个检查器运行了正则表达式,它确实得到了我要查找的内容,即地址,但错误似乎表明它返回时什么也没有
这个还能用吗?谷歌改变了什么吗
我的工作是创建两张工作表,并在一张工作表中包含§=图像,而在第二张工作表中,我删除§并使用标准的Google功能
链接解决方案要好得多,如果可以的话,我想实现它。我无法在原始解决方案的页面上发表评论,因为我没有信誉点 在您的情况下,“null”作为参数给出。因为公式不能由=getImageUrl(A1)
直接检索。这样,的错误就不能调用null的方法“match”。
发生。可以通过getFormula()
检索公式。Eric Koleda的回答中也提到了这一点。例如,可以按如下方式修改脚本
修改脚本:
注:
- 如果将
放在“A1”中,当您像=image(“URL”)
这样使用它时请用双引号将A1括起来。这样,将“A1”字符串指定给函数并用作范围=getImageUrl(“A1”)
TypeError:无法调用null的方法“match”。(第10行)。
,我无法理解您当前的脚本。2.你是如何运行脚本的?3.为了正确理解您的情况,您能否提供一份电子表格样本?我认为这些信息会帮助用户想到您的解决方案。@tanaike我复制了此页面上第一个接受的解决方案(Eric的),并创建了一个名为getImageURL的新脚本。我还遵守了他的警告,即“如果URL是从另一个单元格或公式计算的,那么这将不起作用”第10行是“var matches=formula.match(regex);”将:type=image(“any url.jpg”)复制到Google Sheets中的单元格A1中。在单元格B1中,I type=getImageUrl(A1)。我得到了空错误,这似乎表明Regex是错误的?谢谢你的回复。我根据你的情况修改了剧本。这是一个简单的修改。但如果这不是你想要的结果,我道歉。
function getImageUrl(range) {
var formula = SpreadsheetApp.getActiveSheet().getRange(range).getFormula(); // Added
var regex = /=image\("(.*)"/i;
var matches = formula.match(regex);
return matches ? matches[1] : null;
}