如何通过Google App Script向谷歌表格设置无链接的文本值?
解决谷歌表格自动生成链接的问题
- 方法一:先设置单元格为纯文本格式,再赋值
谷歌表格会自动识别带点的字符串为潜在链接,先把目标单元格格式设为纯文本,就能阻止自动链接转换。代码示例:
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetMeno = ss.getSheetByName("Sheet1"); // 先设置单元格格式为纯文本 sheetMeno.getRange(1,1).setNumberFormat('@'); sheetMeno.getRange(2,1).setNumberFormat('@'); // 再赋值 sheetMeno.getRange(1,1).setValue("cf.hb.cb.hc.bb.fa.aa.hd.ce.em.bg"); sheetMeno.getRange(2,1).setValue("bg.ea.hb.hc.cb.bb.fa.aa.hd.ce.cf.em");
- 方法二:使用富文本赋值,明确禁用链接
通过setRichTextValue创建不带链接的富文本对象,直接赋值给单元格,彻底避免自动链接。代码示例:
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetMeno = ss.getSheetByName("Sheet1"); // 为第一行单元格创建富文本 var text1 = "cf.hb.cb.hc.bb.fa.aa.hd.ce.em.bg"; var richText1 = SpreadsheetApp.newRichTextValue().setText(text1).build(); sheetMeno.getRange(1,1).setRichTextValue(richText1); // 为第二行单元格创建富文本 var text2 = "bg.ea.hb.hc.cb.bb.fa.aa.hd.ce.cf.em"; var richText2 = SpreadsheetApp.newRichTextValue().setText(text2).build(); sheetMeno.getRange(2,1).setRichTextValue(richText2);
原理说明:谷歌表格的自动链接是内置的智能检测机制,当内容匹配类似域名的格式(多段带点分隔)时会自动转换。上述两种方法要么提前锁定单元格为纯文本格式,要么直接用富文本明确内容格式,从而绕过自动链接检测。
内容的提问来源于stack exchange,提问作者D T
相关产品推荐
相关产品推荐

