2013-03-21 2 views
8

Сегодня у меня есть вопрос о скриптах Google Apps, в частности, для таблиц . Я уже просмотрел документацию here (да, документация на листе в таблице), но я не смог найти то, что искал. Вот Сечь:Электронная таблица комментариев к файлам приложений Google Apps

1.) Когда ячейка редактируется в электронной таблице Google, функция У меня есть НАБОРЫ с ПРИМЕЧАНИЕ с помощью функции (да говорит cell.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 Примечание/комментарий, а не ADD (согласно документации).

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

5.) Вы можете добавить примечание/комментарий через графический интерфейс в самой электронной таблице (щелкните правой кнопкой мыши ячейку и выберите «Вставить примечание» или «Вставить комментарий». Поскольку эти функции правой кнопки мыши меняют, верьте, что мы могли бы написать сценарий, чтобы сделать то же самое, но его можно называть автоматически, когда ячейка была отредактирована.

6.) Эта функция будет использоваться для отслеживания истории изменений ячейки. Я знаю, что я могу создать новую электронную таблицу и легко отправить историю изменений в эту новую таблицу, но учитывая, что у меня есть 10 таблиц, которые нужно отслеживать, я бы предпочел не иметь 10 новых электронных таблиц для отслеживания истории. Сохранение в одной и той же таблице упростит ситуацию.

Если бы кто-нибудь мог мне помочь, был бы рад!

ответ

6

Невозможно манипулировать комментариями через службы электронных таблиц - см. Issue 2566. (Звезда, если хотите.)

Вместо этого все методы «Комментарии» работают над Notes.

Следующий способ добавит новую «измененную» временную метку к любому существующему - не совсем так же красиво выглядящий, как настоящий комментарий, к сожалению.

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); 
} 
+0

Ха-ха, я сейчас комментирую XD Большое спасибо Mogsdad. Я подпишусь на эту проблему, чтобы изменить свой скрипт, когда он исправлен. Что касается вашего кода, я не могу поверить, что пропустил такое простое решение ... get() старые «комментарии» и добавьте к ним новые строки. Вы гений, и вы просто сделали мою работу на работе намного проще! – AnonymousStudent

4

Использование Google Drive API в Google Apps Script, мы могли бы создать комментарии в документе Google.
И после испытания, я подтверждаю, вы также можете сделать это в электронной таблице (это нормально, потому что комментарии зависит только от Drive API)

function insertDriveComment(fileId, comment, context) { 
    var driveComment = { 
    content: comment, 
    context: { 
     type: 'text/html', 
     value: context 
    } 
    }; 
    Drive.Comments.insert(driveComment, fileId); 
} 

Имейте в виду, что вы не можете прикрепить программно комментарий к ячейке (или слова в Документе Google), поскольку привязки для документов и электронных таблиц являются собственностью (проверьте видео внизу страницы here)

Надеюсь, это поможет.

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