我正在使用Google云端硬盘电子表格。
是否可以创建自定义功能/脚本来显示图像?
我的想法是,当我输入函数(= tick)时,刻度线图像将显示在单元格中。
答案 0 :(得分:2)
您可以将Unicode字符插入Google电子表格的单元格中:
= CHAR(HEX2DEC(“2713”))
在单元格中插入复选标记。
一种选择是使用onEdit()
简单触发器来检查输入到当前单元格的内容:
function onEdit(e) {
Logger.log("onEdit ran" + e);
var input = e.value;
if (input === "inputTick") {
var whatCell = e.range;
//Run a function named insertTick and pass the range
insertTick(whatCell);
};
};
在上面的例子中,用户需要在单元格中输入“inputTick”。
是一个将图像插入单元格的函数:
一种可能的语法:
IMAGE(网址,模式)
您可以使用代码
将公式设置(插入)到单元格中var cell = sheet.getRange("B5");
cell.setFormula("=IMAGE(url, mode)");
这是一个获取传递的单元格位置的函数,并插入一个函数 带有复选标记的Unicode字符。
function insertTick(argWhatCell) {
Logger.log(argWhatCell);
//Insert a formula into a cell that converts HEX to a Character
argWhatCell.setFormula("=CHAR( HEX2DEC( "2713" ))");
}
上面的代码插入一个函数,然后将Unicode转换为复选标记。
如果要插入无法使用Unicode显示的图像,则此功能可能有效:
function insertTick(argWhatCell) {
Logger.log(argWhatCell);
var rngValues = argWhatCell.getValue();
Logger.log(rngValues);
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Get row and column
var row = argWhatCell.getRow();
var column = argWhatCell.getColumn();
Logger.log(row + " : " + column);
//Insert an image by URL
ss.insertImage(url, column, row)
}
上面的代码,使用insertImage()
在单元格的位置插入图像,但图像不在单元格内。