通过GAS将数字符号(#)插入Google电子表格

时间:2013-07-15 14:14:57

标签: javascript google-apps-script google-sheets

尝试使用脚本在单元格中插入“#”符号时遇到问题(在提交来自表单时触发运行)。

我试过这样做:

somecell.setFormula('=HYPERLINK("http://www.some.link/some/'+var+'#1a2b3c","'+var+'")');

所以输出应该是:

=HYPERLINK("http://www.some.link/some/1234#1a2b3c","1234")

但它总是只插入(没有#和符号后面的其余部分)

=HYPERLINK("http://www.some.link/some/1234","1234")

执行期间未报告任何错误。 我应该如何将标志放入脚本中以便将其插入到公式中?我曾尝试使用... 1234(反斜杠)#1a ......但它不起作用。

修改 脚本如何工作(简而言之):首先,工作表接收表单提交,其中URL作为其中一个条目。然后,脚本切断部分链接(使用 .split('/')然后 .pop()以获取 .split 已创建)并且提取的变量在上面的 .setFormula 中用作 var

另外,我再次尝试过;反斜杠不起作用 - 删除#之后的所有内容。

2 个答案:

答案 0 :(得分:0)

你需要包含一个反斜杠来逃避角色:

function addlink() {
  var somecell = SpreadsheetApp.getActiveSpreadsheet().getRange('F2');
  var blah = "123";
  somecell.setFormula('=HYPERLINK("http://www.some.link/some/'+blah+'\#1a2b3c","'+blah+'")');
  //                                                                ^^^
}

答案 1 :(得分:0)

我尝试了这样的例子:

function test(){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var xx = '1234'
  sh.getRange('A2').setFormula('=HYPERLINK("http://www.some.link/some/'+xx+'#1a2b3c","'+xx+'")');
}

我得到了预期的结果

enter image description here