importxml в функции JavaScript - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь получить информацию с веб-сайта IMPORTXML.

Я написал функцию, она работает, но это не то, что я хочу.

function info() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var cell = sheet.getActiveCell();
  cell.setFormula('=importXml("https://example.com&sw="&M2&"&s=on", "/html/body/div[1]/p[2]/a")');
}

URL и xpath являются примером. ячейка M2 - это информация, которую я добавляю в URL.

Потому что первый сработал, я попытался написать что-то более сложное ... и я потерян.

Я ищу информацию в ячейке столбца M для завершения URL-адреса, запоминаю значение, полученное с помощью xpath, чтобы поместить его в столбец O.

Когда в ячейке М ничего нет, я хочу пропустить это и продолжить.

Я начинаю что-то делать, но это не правильно. Я получаю строку ошибки 5 «нет; до утверждения», что я не знаю, что это такое.

function info2() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var cell = '=IMPORTXML("https://example.com&sw=" + sheet.getRange('M:M').getValue() + "&s=On", "/html/body/div[1]/p[2]/a")';
  for (var i in data) {
    for (var j in data[i]) {
      sheet.getRange('O:O').setValue(cell);
    }
  }
}

1 Ответ

0 голосов
/ 10 мая 2018

После долгих испытаний я понял, что мой первый URL был хорошим. & M2 & автоматически увеличивается на googlesheet.

О том, как получить значение по формуле, с помощью макроса googlesheet, его легко получить

function val() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('O:O').activate();
  spreadsheet.getRange('O:O').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.getRange('O1').activate();
}; 

Теперь я ищу, чтобы пропустить importxml в ячейке столбца O, когда ячейка столбца O пуста ...

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