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 に答える
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 に答える