当前位置: 首页 > 知识库问答 >
问题:

从谷歌电子表格应用脚本中的HYPERLINK中提取URL

郎雪风
2023-03-14

假设我有=HYPERLINK("http://google.com/abc","Google")A1在我的电子表格中,我想创建一个自定义的Google Apps脚本(例如。=GetURL(A1))返回url部分这个领域。我要怎么做才能让它起作用?

每当我创建一个像这样的自定义脚本

function GetURL(input) {
  return input
}

我得到的只是链接的描述,在这种情况下是“谷歌”。

有没有办法让它真正起作用?

共有2个答案

贾成天
2023-03-14
function getUrl(input) {
  var range = SpreadsheetApp.getActiveSpreadsheet().getRange(input);
  var value = range.getFormula(); 
  return value;
}

这将获取原始公式=HYPERLINK(“http://google.com/abc,“Google”然后,您可以使用正则表达式或子字符串输出URL。

我确实需要将ss引用放在像=getUrl(“A1”)一样的地方,并在引号中加上A1以使其工作。

邹禄
2023-03-14

这是个老问题,但我现在有这个问题。

事实证明,当您使用电子表格web应用程序向单元格中的文本添加超链接时,文本将获得一个富文本值。(另请参见此处,了解如何通过应用程序脚本设置richt文本值)。

因此范围。getFormula() 将一无所获,因为单元格中没有公式。

您可以通过以下方式提取绑定到富文本的链接:

var value = range.getRichTextValue().getLinkUrl()

getRichTextValue和getLinkUrl的文档

 类似资料:
  • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为

  • 我有一个谷歌电子表格,我用它创建了一个谷歌表单。电子表格有两张表:一张有表单响应,另一张有配置数据。电子表格附带了一个表单响应触发的应用程序脚本,该脚本使用配置数据进行API调用。这个脚本运行完全符合我的要求。 我已经编写了电子表格更改触发脚本,试图更新表单问题之一的选项。但是,使用FormApp。openById或FormApp。openByUrl因“您无权调用…”而失败。 是否有某种方法可以将

  • 我有一个谷歌电子表格,有两张叫做罗宾和露西的表格。每次我向列A添加一些数据时,我都制作/找到/破坏了一个脚本来对工作表上的数据进行排序 这个剧本很棒,但我只想把它应用在第一张纸上,罗宾。第二个工作表中的数据,Lucy,是不一样的,所以我将创建另一个脚本为不同的范围,一旦我得到了这个问题的头脑。 我想我需要使用getSheetByName(“罗宾”),但我似乎无法让它工作。提前感谢

  • 把所有信息写到电子表格中。 删除唯一的标记信息以防止重复运行。 然后使用form mule addon从电子表格发送电子邮件。 到目前为止,我已经处理了第1步(简单),而第2步和第3步(我不是一个编码器,我可以读、解串和黑。从头开始写是完全不同的事情)。我以前处理过4次,我认为这是最好的处理方法。 通过脚本,我将信息提取到电子表格中,通过插件,我使用电子表格中的信息发送电子邮件。 这是我到目前为止

  • 我正在查看以下文档:https://developers.google.com/apps-script/reference/mail/mail-app 我做错了什么? null

  • 试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet