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

自定义Google电子表格函数,返回超链接或现有公式

常俊爽
2023-03-14

我目前正在谷歌电子表格中输入超链接,格式如下:

=HYPERLINK("http://jira.com/browse/ISSUE-12345","ISSUE-12345")

我每次都在复制“第12345期”。我想创建一个函数JIRA(12345),它给出与上述超链接相同的结果。是否有方法在脚本中返回超链接,例如

function JIRA(jiraNum) {
  // Returns JIRA hyperlink
  var link = ("http://jira.com/browse/ISSUE-"+jiraNum,"ISSUE-"+jiraNum);
  return link;
}

行吗?

共有3个答案

司易安
2023-03-14

您可以减轻需要setForumla和处理权限,通过设置单元格值如下:

=HYPERLINK(getJiraTicketLink(12345), getJiraTicketLabel(12345))

其中,12345当然可以是(隐藏列)相邻单元格,而不是硬编码字符串。

然后创建两个类似于下面的简单函数:

var JIRA_BASE_URL = "http://jira.com/";
var JIRA_PROJECT_PREFIX = "ISSUE-";

function getJiraTicketLink(jiraNum) {
  return JIRA_BASE_URL + "browse/" + JIRA_PROJECT_PREFIX + jiraNum;
}

function getJiraTicketLabel(jiraNum) {
  return JIRA_PROJECT_PREFIX + jiraNum;
}
澹台正真
2023-03-14

看看这个:https://code.google.com/p/google-apps-script-issues/issues/detail?id=2521

功能似乎不可用,也将不可用。

如果您愿意跳过文本显示“ISSUE-1234”,您至少可以返回工作链接的链接。

function JIRA(jiraNum) {
  var link = 'http://jira.com/browse/ISSUE-' + jiraNum;
  return link;
 }

我希望这能有所帮助

姬弘文
2023-03-14

我也遇到了同样的问题,提出了一个功能请求,并收到了一个有趣的解决方案:

适用于您的情况下,以下将起作用。

function onEdit(e) {
 // limit to only apply to specific range
  col = e.range.getColumn();
  row = e.range.getRow();        
  if (row > 1 && row < 10 && col == 1) { // A2:A9
    if (e.value != "")
      e.range.setFormula("=HYPERLINK(\"http://jira.com/browse/ISSUE-"+e.value+"\", \"ISSUE-"+e.value+"\")");
  }
}

我认为这是一个变通办法,但目前这可能是唯一的办法。

 类似资料:
  • 我正在尝试构建一个简单的脚本来使用谷歌电子表格。电子表格从Google表单获取输入,因此电子表格中有一系列值,如下所示: 我的目标是编写一个脚本,从用户指定范围内的每个表单输入中删除数字,然后添加所有数字以提供单个分数。因此,例如,用户可以在单元格中键入,它将返回分数的总和(对于我发布的示例屏幕截图,它将返回,)的结果)。 以下是我为此编写的代码: 问题在于,它似乎只会将两个值相加。因此,当我将放

  • 我很难找到将多张工作表同步到主电子表格的方法。在我的测试中,我有一个大的电子表格,上面有5个城市的地址。我正在尝试为每个城市创建一个电子表格,并能够在任何一个表格中更改数据时同步数据。因此,我将管理总体数据,5张电子表格中的每一张都将分配给其他人。这样,他们就可以在不访问所有数据的情况下更新工作表。使用内置查询或导入功能的问题是,如果用户在“城市”电子表格上进行更改,它将破坏该表格,因为数据被引用

  • 我目前正在尝试创建一个钩子,跟踪给定组件中所有子组件上的道具(当一个子组件切换时,其他子组件取消切换) 我这样做的方式是: 通过创建与子节点长度相同的假值列表来设置初始状态 将此状态映射到每个子的prop 声明并返回操作初始列表状态的切换函数 当我调用toggle时,会出现以下错误: 警告:来自useState()和useReucer()钩子的状态更新不支持第二个回调参数。若要在呈现后执行副作用,

  • 我想使用GoogleSheetsAPI以编程方式创建一个GoogleSheet,将其公开,并将其嵌入网页上的IFRAME中。 我不知道如何使用API使电子表格对公众可见。创建或更新电子表格时,API中是否对此进行了设置? 我遵循谷歌的Python快速入门,能够创建和更新电子表格。 使用驱动器API,我可以公开电子表格,并且可以从其他帐户访问它。但是,这不允许您将其嵌入到网页中(它仍然声明“很抱歉,

  • 我有一系列函数,它们接收请求对象并返回Vavr。 如果任务已完成,则要么将包含一个Result对象,如果任务需要由另一个函数完成,则将包含一个修改后的Request对象。 我的想法是,我可以通过做这样的事情把它们联系在一起: 但是很明显不是一个东西,所以我最终在左侧有一个嵌套的Eithers。关于如何实现此功能有什么想法吗?我对替代库持开放态度。 编辑: 看起来应该这样做,但Intellij在第二

  • 问题内容: 我目前正在阅读John Papa的AngularJS样式指南,并看到了以下代码: 您可以看到函数和是 在 函数返回值 之后 定义的。这是如何运作的?它是否符合标准并且可以在所有浏览器中使用(例如,来自IE 6)? 问题答案: 您可以看到函数和是在函数返回值之后定义的。 那是从它们的编写位置看的样子,是的,但是实际上它们是在函数中的任何分步代码完全运行之前定义的。有时这被称为“提升”函数