我目前正在以下列格式输入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;
}
会起作用吗?
答案 0 :(得分:3)
我一直在努力,提出feature request and received an interesting solution:
根据您的情况,以下情况可行。
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+"\")");
}
}
我认为这是一种解决方法,但目前它可能是唯一的方法。
答案 1 :(得分: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;
}
我希望有帮助
答案 2 :(得分:1)
您可以通过设置单元格值来减轻对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;
}
答案 3 :(得分:-3)
不需要脚本功能:
=HYPERLINK(CONCATENATE("http://jira.com/browse/ISSUE-",12345),CONCATENATE("ISSUE-",12345))
如果您在单元格中有jiraNum(例如,A2),则可以使用单元格引用:
=HYPERLINK(CONCATENATE("http://jira.com/browse/ISSUE-",A2),CONCATENATE("ISSUE-",A2))