Google Apps Script Spreadsheet Автоматизация Комментариев
сегодня у меня есть вопрос о скриптах Google Apps, в частности для таблицы. Я уже просмотрел документацию здесь (да, документация на лист в таблице), но я не смог найти то, что я ищу. Вот в чем дело:
1.) Когда ячейка редактируется в электронной таблице Google, функция, которую я имею, устанавливает Примечание используя функцию (да, она говорит ячейки.setComment(), но на самом деле это создает ноту. Спасибо за последовательность, Google!):
function onEdit() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getActiveSheet();
var cell = sheet.getActiveCell();
cell.setComment("Last modified: + (new Date()));
}
2.) Примечания были "заменены" на комментарии по состоянию на... 5 сентября 2012? Может быть? Я бы предпочел использовать их вместо этого.
3.) Для обоих типов "обозначения ячеек" существуют функции только для SET Примечание/комментарий, а не добавить (согласно документации).
4.) Я хотел бы сослаться или написать функцию, которая имеет возможность добавить новую заметку/комментарий (желательно комментарий, они более легко читаются), а не устанавливать Примечание / комментарий.
5.) Вы можете вручную добавить заметку / комментарий через GUI в самой электронной таблице (щелкните правой кнопкой мыши ячейку и выберите "Вставить заметку" или "вставить комментарий". Поскольку эти функции щелчка правой кнопкой мыши существуют, я считаю, что мы могли бы написать сценарий, чтобы сделать то же самое, но вызвать его автоматически, когда ячейка была отредактирована.
6.) Этот функция будет использоваться для отслеживания истории изменения ячейки. Я знаю, что могу создать новую таблицу и легко отправить историю изменений в эту новую таблицу, но, учитывая, что у меня есть 10 таблиц, которые нужно отслеживать, я бы предпочел не иметь 10 новых таблиц для отслеживания истории. Сохранение его в той же таблице будет держать вещи простыми.
Если бы кто-нибудь мог мне помочь, это было бы очень признательно!
2 ответов
нет способа манипулировать комментариями с помощью электронных таблиц-см. вопрос 2566. (Звездочка, если хотите.)
вместо этого все методы" комментариев " работают с заметками.
следующий метод добавит новую "измененную" метку времени к любой существующей-к сожалению, не так хорошо, как фактический комментарий.
function onEdit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var cell = sheet.getActiveCell();
var comments = cell.getComment();
// Newline works in msgBox, but not in Note.
comments = comments + "\nModified: " + (new Date());
//Browser.msgBox(comments);
cell.setComment(comments);
}
С помощью Google Drive API В Google Apps Script мы могли бы создавать комментарии в документе Google.
И после теста я подтверждаю, что вы также можете сделать это в электронной таблице (что нормально, потому что комментарии зависят только от API диска)
function insertDriveComment(fileId, comment, context) {
var driveComment = {
content: comment,
context: {
type: 'text/html',
value: context
}
};
Drive.Comments.insert(driveComment, fileId);
}
имейте в виду, что вы не можете программно прикрепить комментарий к ячейке (или к словам в документе Google), потому что якоря для комментариев к документу и электронной таблице являются собственностью (проверьте видео в нижней части страница здесь)
Надеюсь, это поможет.