Google Scripts不会在Google电子表格中返回超链接

时间:2013-04-19 15:54:45

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

我正在开发视频游戏经济追踪器的最初阶段,以最终在未来的MMORPG中实现更好的经济动态。所以,首先我要创建一个Google电子表格来跟踪价格,这是Google Scripts中相关的代码片段。据我所知,Google Scripts使用与 JavaScript 完全相同的功能。

function makeLink(item) {
  var encodedItem = encodeURI(underScore(toTitleCase(item)));
  //make spaces into underscores, then URL-encode the rest

  var wiki = "http://wiki.videogame_address.org/"; 
  //the base wiki URL for the video game

  wikiLink = wiki+encodedItem;
  //link to the item in the wiki      

  var href = "=HYPERLINK(\""+wikiLink+"\",\""+toTitleCase(item)+"\")";
  //attempting to have Google Spreadsheet make a URL
  //yields =HYPERLINK("http://wiki.videgame.org/Giant_Head","Giant Head")


  return href;
};

生成的href变量仅提供文本输出

=HYPERLINK("http://wiki.videgame.org/Giant_Head","Giant Head")

这是电子表格创建链接的完全正确的语法,但是,它只是将其保留为文本。有没有办法强制Google消化此处输出的文本而不是将其留作文本?

2 个答案:

答案 0 :(得分:3)

使用setFormula方法:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets().shift();
var cell = sheet.setActiveCell("B5");
var newLink = makeLink("whatever");
cell.setFormula(newLink);

参考文献:

答案 1 :(得分:0)

检查出来..
http://code.google.com/p/google-apps-script-issues/issues/detail?id=1592

此功能似乎无法使用,无法使用。 :(

如果您愿意跳过文字显示' Giant Head',您至少可以返回工作链接的链接。

function makeLink(item) {
  var encodedItem = encodeURI(underScore(toTitleCase(item)));
  var wiki = "http://wiki.videogame_address.org/"; 
  wikiLink = wiki+encodedItem;     
  return wikiLink;
};