Как использовать скрипт обновления ImportRange? - PullRequest
0 голосов
/ 07 ноября 2018

Сценарий не знаю.

Я нашел способ ссылаться на внешний лист быстрее, чем ImportRange, но я не знаю, как использовать этот скрипт.

Могу ли я получить пример, который использует этот скрипт?

Мне нужна помощь.


 // this function creates a menu item on the top that you can click the refresh the data, you could also use triggers to refresh
function onOpen() {
  var spreadsheet = SpreadsheetApp.getActive();
  var menuItems = [{name: 'Refresh', functionName: 'getData'}];
  spreadsheet.addMenu('Menu', menuItems);
}
function getData() {
  var key = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").getValue(); // you would place the spreadsheet key in A1, alternatively you can enter the key directly here rather than referencing
  var sourceSs = SpreadsheetApp.openById(key);
  var sourceSheet = sourceSs.getSheetByName("Sheet1");
  var sourceRange = sourceSheet.getRange("A1:C");
  var sourceValues = sourceRange.getValues(); 
  var destSs = SpreadsheetApp.getActiveSpreadsheet();
  var destSheet = destSs.getSheetByName("Sheet1");
  var desRange = destSheet.getRange("A1:C")
  destRange.setValues(sourceValues);
}

Извините. Я, кажется, не доставлен должным образом, потому что я не владею английским языком. Мне пришлось приехать в StackOverFlow, потому что в Корее было очень мало пользователей GAS.

Изначально // мой уровень знает, как использовать большинство функций электронной таблицы, кроме сценариев.

В моем опыте было более 100 000 строк, и после разделения листа я использовал функцию IMPORTRANGE, чтобы собрать результаты в одной электронной таблице.

Однако в этой таблице было огромное количество обновлений в реальном времени, поэтому нам пришлось искать способ ускорить ее.

После этого я нашел приведенный выше исходный код и сохранил его. Однако произошла ошибка в destRange.setValues ​​(sourceValues); внизу.

Я пытался изменить исходный код, но результат тот же.

Я думаю, вы можете увидеть, как использовать исходный код в примерах, которые на самом деле применяются.

1 Ответ

0 голосов
/ 07 ноября 2018

Вам нужно сделать несколько вещей, не сложных, а конкретных: 1) Получить ключи к исходным и целевым таблицам. Это длинные строки гоблидов внутри URL, который открывает лист. Если вы видите URL-адрес, подобный следующему: https://docs.google.com/spreadsheets/d/1fPvp5o2-xeH04STyeaoC_iJTy1JRGQZki3_j1l39wMQ/edit#gid=0,, то идентификатор листа является частью после электронных таблиц / d / и до / edit. Поместите эти ключи в код для sourceSs и destSs.

Откройте целевой лист. В меню выберите Сервис -> Редактор скриптов. Предполагая, что вы ничего не сделали до сих пор, вы получите «MyFunction ()» по умолчанию. Очистите этот текст и скопируйте / вставьте код выше, включая ключи. Сохраните код. Закройте окно кода, закройте электронную таблицу и снова откройте целевую электронную таблицу.

Чтобы фактически обновить значения в целевой электронной таблице, пользователю потребуется выбрать пункт меню «Обновить». В первый раз пользователю потребуется авторизовать разрешения для скрипта.

Дайте это попробовать. Это довольно просто, если вы знаете, как.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...