Как написать макрос в листах Google, чтобы обновить коннектор данных bigquery?

Попытка создать макрос, который обновляет подключение к данным bigquery.

Пытались записать макрос, начиная с другой вкладки, переходя на вкладку с соединителем данных и нажимая кнопку «Обновить».

function Refresh2() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('F3').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Extract 2'), true);



Ответы (1)


Если вы следуете руководству, вы должны в состоянии сделать это.

Вот что у меня есть и работает без нареканий:

/** @OnlyCurrentDoc */

function refresh() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A1').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data Sheet 1'), true);
  SpreadsheetApp.enableAllDataSourcesExecution();
  spreadsheet.getCurrentCell().getDataSourceTables()[0].refreshData();
};

Это обсуждение может быть интересным, если у вас есть еще один шаг после обновления исходного кода BigQuery.

person Yun Zhang    schedule 17.10.2019
comment
Это работает и в листах Google? Когда я копирую этот код в свой скрипт, он все равно не обновляется. - person J_Macca; 18.10.2019
comment
Обновил свой ответ, я вставил записанный макрос. Похоже, у вашей записи макроса были какие-то проблемы. - person Yun Zhang; 18.10.2019