12

我目前在 Google 电子表格中以以下形式输入超链接:

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

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

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

会工作?

4

5 回答 5

3

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

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

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+"\")");
  }
}

我认为这是一种解决方法,但目前它可能是唯一的方法。

于 2013-03-07T23:25:49.843 回答
2

看看这个: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;
 }

我希望这会有所帮助

于 2014-03-31T19:34:21.567 回答
2

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;
}
于 2018-01-16T07:58:13.083 回答
1

您可以使用富文本生成器:

function onEdit(e){
      var jiraIDColumnID = 1;
      var jiraIDfirstRow = 5;
      var jiraBaseURL = "https://jira.tttttt.com/";
      if (e.value != null && 
          e.value.trim().length != 0 &&
          e.range.getColumn() == jiraIDColumnID && 
          e.range.getRow() >= jiraIDfirstRow ) 
      {
        var richValue = SpreadsheetApp.newRichTextValue()
          .setText(e.value)
          .setLinkUrl(jiraBaseURL + "browse/" + e.value)
          .build();
        e.range.setRichTextValue(richValue);
      } 
    }
于 2021-09-10T08:41:53.563 回答
-4

不需要脚本功能:

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

如果您在单元格中有 jiraNum(例如 A2),则可以使用单元格引用:

=HYPERLINK(CONCATENATE("http://jira.com/browse/ISSUE-",A2),CONCATENATE("ISSUE-",A2))
于 2012-05-26T04:10:44.577 回答