Ошибка электронной таблицы скрипта приложения Google с операциями insertRows () и getRange () сразу после

Кажется, я застрял с постоянным сообщением «Сервер обнаружил ошибку», когда я пытаюсь в своей функции использовать вызов insertRows () или insertRowsAfter (), а затем сделать вызов операции getRange () в диапазоне вновь созданных ячеек (например, изменение толщины шрифта или установка значений в новых ячейках).

Когда я вызываю свою функцию, я всегда получаю Google «Сервер обнаружен и ошибка». Когда я вызываю свою функцию в режиме отладки, шаг за шагом: ошибок нет !!! У меня нет журналов ошибок, отображаемых при выполнении улова.

Я попробовал вызвать Spreadsheet.flush () перед операцией getRange (), но это не помогло.

  function test() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sdebtcal = ss.getSheetByName('Debt');  
    var max_rows = sdebtcal.getMaxRows(); // sheet set with only 5 rows to test
    sdebtcal.insertRowsAfter( max_rows , 20); // adding 20 rows 
    sdebtcal.getRange(max_rows+5, 1, 2, 1).setFontWeight('bold'); // trying to setFontWeight in the new range of cells
  }

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

У кого-нибудь есть подсказка? Возможная ошибка в API скриптов электронных таблиц с большими таблицами?

С уважением,


person VanacK    schedule 04.05.2012    source источник


Ответы (1)


Я обнаружил, что проблемы, с которыми я столкнулся с InsertRowsBefore () и InsertRowsAfter (), исчезали, если электронная таблица не была открыта на стороне клиента во время выполнения скрипта. Поэтому, если у вас есть возможность вставить строки либо из сценария в другую электронную таблицу, либо с помощью синхронизированного триггера, вы можете обнаружить, что можете обойти проблему. Удачи!

Вот ссылка на сообщение I сделал об этом на форуме GAS, если вы хотите получить более подробную информацию и, возможно, вас заинтересует добавление комментария к Issue 1270 и об этом тоже.

person fullOfGAS    schedule 04.05.2012