3

Я работаю над электронной таблицей Google Диска.Как написать пользовательскую функцию, которая выводит изображение в электронную таблицу Google?

Возможно ли создать пользовательскую функцию/скрипт для отображения изображения?

Идея заключалась бы в том, что при вводе функции (= галочка) в ячейке будет отображаться изображение метки.

ответ

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» в клетку.

Там является функция для вставки изображения в клетку:

Google Documentation =IMAGE()

Один из возможных синтаксиса:

IMAGE (URL, режим)

You может установить (вставить) формулу в ячейку с кодом:

var cell = sheet.getRange("B5"); 
cell.setFormula("=IMAGE(url, mode)"); 

Вот функция, которая получает переданное местоположение ячейки и вставляет функцию с символом Юникода галочки.

function insertTick(argWhatCell) { 
    Logger.log(argWhatCell); 
    //Insert a formula into a cell that converts HEX to a Character 
    argWhatCell.setFormula("=CHAR(HEX2DEC("2713"))"); 
} 

Приведенный выше код вставляет функцию, которая затем преобразует Юникод в галочку.

Если вы хотите вставить изображение, которое не может быть отображено с 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() вставляет изображение в месте расположения ячейки, но изображение не находится внутри ячейки.

 Смежные вопросы

  • Нет связанных вопросов^_^