- Вы хотите заменить Emojis на определенные латексные команды.
- Например, вы хотите заменить следующим образом.
- С
03.01.19, 00:29 - me: Hi ?
до 03.01.19, 00:29 - me: Hi \nettnett
.
- Вы хотите добиться этого с помощью Google Apps Script.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Поток:
Ход этого примера сценария следующий. Этот пример сценария использует вашу общую электронную таблицу.
- Извлечение данных из листа
Codes for Smileys
. - Создание тела запроса для запроса findReplace метода batchUpdate API-интерфейса Sheets.
- Запустите метод batchUpdate.
Пример сценария:
Этот сценарий использует Sheets API. Поэтому, прежде чем запускать сценарий, , пожалуйста, включите API Sheets в расширенных службах Google.
function myFunction() {
var dataSheet = "Codes for Smileys";
var sourceSheet = "unedited Chats with Smileys";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var data = ss.getSheetByName(dataSheet).getDataRange().getValues();
data.shift();
var sheetId = ss.getSheetByName(sourceSheet).getSheetId();
var requests = data.map(function(row) {return {findReplace: {sheetId: sheetId, find: row[0], replacement: row[1]}}});
Sheets.Spreadsheets.batchUpdate({requests: requests}, ss.getId());
}
- В этом примере сценария используется ваша общая электронная таблица. Таким образом, в этом случае таблица данных составляет
Codes for Smileys
. И исходный лист для преобразования: unedited Chats with Smileys
.
Примечание:
- Если вы измените имя листа, также, пожалуйста, измените скрипт выше. Пожалуйста, будьте осторожны с этим.
- При первом запуске скрипта открывается экран авторизации. Поэтому, пожалуйста, авторизуйте области применения скрипта.
Ссылки:
Добавлено:
- Вы хотите поместить преобразованные значения на лист
Chat with Latex Code
.
Пример сценария для достижения вышеуказанного выглядит следующим образом.
Пример сценария:
function myFunction2() {
var dataSheet = "Codes for Smileys";
var sourceSheet = "unedited Chats with Smileys";
var destinationSheet = "Chats with LaTeX Codes";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(dataSheet);
var data = ss.getSheetByName(dataSheet).getDataRange().getValues();
data.shift();
var srcSheet = ss.getSheetByName(sourceSheet);
var tempSheet = srcSheet.copyTo(ss);
var sheetId = tempSheet.getSheetId();
var requests = data.map(function(row) {return {findReplace: {sheetId: sheetId, find: row[0], replacement: row[1]}}});
Sheets.Spreadsheets.batchUpdate({requests: requests}, ss.getId());
var tempValues = tempSheet.getDataRange().getValues();
var destSheet = ss.getSheetByName(destinationSheet);
destSheet.getRange(destSheet.getLastRow() + 1, 1, tempValues.length, tempValues[0].length).setValues(tempValues);
ss.deleteSheet(tempSheet);
}
- В этом примере сценария следующий поток это запустить.
- Скопируйте исходный лист
unedited Chats with Smileys
как временный лист. - Создайте тело запроса для метода batchUpdate для временного листа.
- Запустите batchUpdate.
- Скопируйте преобразованные значения из временного листа в лист назначения
Chats with LaTeX Codes
. - В этом случае преобразованные значения помещаются в последнюю строку листа.
- Удаление временного листа.