Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как вставить ранее скопированный текст в пустую ячейку гугл таблиц?

Максим Буланин Ученик (200), на голосовании 1 год назад
Всем привет! Задача при выполнении скрипта найти пустую ячейку на странице переписка и вставить в неё текст, который уже скопирован. Вот код, который я написал, но он не работает. Как это можно реализовать?

function findAndInsert() {
var sheet = SpreadsheetApp.getActive().getSheetByName("ПЕРЕПИСКА");
var column = sheet.getRange("A2:A");
var values = column.getValues();

var valueToInsert = SpreadsheetApp.getActive().getClipboardData().getData();

for (var i = 0; i < values.length; i++) {
if (!values[i][0]) {
var cell = column.getCell(i + 1, 1);
cell.setValue(valueToInsert);
cell.clearFormat();
cell.pasteValuesOnly();
break;
}
}
}

Выдаёт: TypeError: SpreadsheetApp.getActive(...).getClipboardData is not a function
Голосование за лучший ответ
Арсен Никифоров Мастер (1239) 1 год назад
Сообщение об ошибке, с которым вы столкнулись, указывает на то, что метод getClipboardData не является функцией в классе SpreadsheetApp. В Google Apps Script нет прямого метода доступа к системному буферу обмена, но вы можете использовать метод setClipboardText и getClipboardText в классе Utilities для работы с буфером обмена внутри сценария.

Вот исправленный код:
 function findAndInsert() { 
var sheet = SpreadsheetApp.getActive().getSheetByName("SPRINGING");
var column = sheet.getRange("A2:A");
var values = column.getValues();

var valueToInsert = Utilities.getClipboardText();

for (var i = 0; i < values.length; i++) {
if (!values[i][0]) {
var cell = column.getCell(i + 1, 1);
cell.setValue(valueToInsert);
cell.clearFormat();
cell.pasteValuesOnly();
break;
}
}
}


В этом коде метод Utilities.getClipboardText() используется для получения текста из буфера обмена, а setValue используется для установки значения ячейки на текст, полученный из буфера обмена. Обратите внимание, что методы clearFormat и pasteValuesOnly являются необязательными, но их можно использовать для обеспечения того, чтобы формат ячейки был очищен, а вставлялось только значение.
Максим БуланинУченик (200) 1 год назад
TypeError: Utilities.getClipboardText is not a function
Похожие вопросы