получить последний или первый ряд заметки в ячейке и добавить к ней - PullRequest
0 голосов
/ 09 июля 2019

Звучит очень просто, но я не могу понять это.У меня есть скрипт, который обновляет заметку, встроенную в ячейку.Проблема в том, что я хочу основываться на ноте.Так что либо получите последний ряд заметки, либо получите первый ряд, для меня не имеет значения, как он отформатирован.Проблема в том, что он пишет поверх предыдущей заметки.

function Note() {
  var spreadsheet = SpreadsheetApp.getActive();
  var timezone = Utilities.formatDate(new Date(), "GMT-4", "M/dd/yy', 'h:mm a"); // Get the current time;
  spreadsheet.getActiveRange().setNote('Notes:\n\n-updated file on ' + timezone + '\n\n' + '-');
};

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

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Это сработало для меня.Просто проверьте, существует ли заметка, и, если она существует, перезаписывает заметку, но перед тем, как добавить новый текст.

function Note() {
  var spreadsheet = SpreadsheetApp.getActive();
  var ss = spreadsheet.getSheets()[0];
  var timezone = Utilities.formatDate(new Date(), "GMT-4", "M/dd/yy', 'h:mm a"); // Get the current time;
  var range = ss.getActiveRange();
  var note = range.getNote();

  if (note) {
    note = note + '\n\n-updated file on ' + timezone + '\n\n';
    range.setNote(note);

  }else {
    range.setNote('Notes:\n\n-updated file on ' + timezone + '\n\n'); 
    }

}
0 голосов
/ 10 июля 2019

Попробуйте это:

function appendNote(note) {
  if(!note) {
    var response=SpreadsheetApp.getUi().prompt("Append a note:")
    var note=response.getResponseText();
  }
  if(note) {
    var ss=SpreadsheetApp.getActive();
    var sh=ss.getActiveSheet();
    var ts=Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "yyyyMMdd HH:mm:ss");
    sh.getActiveRange().setNote(ts + note + '\n\n' + sh.getActiveRange().getNote());
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...