У меня есть лист с 1000+ функциями Importxml.Я заметил, что не могу импортировать> 50 на одном листе, поэтому я решил импортировать их 1 на 1 и быстро скопировать значения вставки, так что я смогу импортировать все 1000.
Я много чего пробовал,Вот последние два скрипта, которые я пробовал:
Скрипт 1:
function testfindfunc1() {
var sheet = SpreadsheetApp.getActiveSheet();
var targetrow = 7;
var targetcell = 1;
var result = sheet.getRange(targetrow, targetcell);
var formula1 = result.getFormula();
var findVal = sheet.getRange(targetrow, targetcell).getValue();
if( findVal == ('#N/A') || findVal == ('Loading...')) {
var rangeToCopy = sheet.getRange(targetrow, targetcell);
rangeToCopy.copyTo(sheet.getRange(targetrow, targetcell));
} else {
result.setValue(findVal);
}
}
Проблемы со скриптом выше:
- Его копия только из 1 ячейки и только из определенной строки (мне нужно, например, A1: G1000).
- Когда есть «Загрузка ...» или «# Н / Д», еговернуть "#ERROR!"вместо пропуска / ожидания.
Скрипт 2:
function bulkXml() {
var sheet = SpreadsheetApp.getActiveSheet();
var Num = Browser.inputBox("How many URLs do you need to scrape?");
for (x=2; x-2 < Num; x++) {
var url = sheet.getRange(x,15).getValue();
sheet.getRange(2,2).setValue(url);
var xpathResult = sheet.getRange('B2').getValue();
var xpathResult1 = sheet.getRange('D2').getValue();
var xpathResult2 = sheet.getRange('E2').getValue();
var xpathResult3 = sheet.getRange('F2').getValue();
var xpathResult4 = sheet.getRange('G2').getValue();
var xpathResult5 = sheet.getRange('H2').getValue();
var counter = x - 1;
sheet.getRange("B1").setValue(counter + "/" + Num);
sheet.appendRow([xpathResult,xpathResult1,xpathResult2,xpathResult3,xpathResult4,xpathResult5]);
if( url == ('#N/A') || url == ('Loading...')) {
var rangeToCopy = sheet.getRange(counter);
rangeToCopy.copyTo(sheet.getRange(counter));
}
}
}
Проблемы со скриптом 2:
На самом деле его работа хороша вначале ~ 50, но после 50 она медленная и много раз печатает "#ERROR!"
Кроме того, если есть лучший метод (не электронные таблицы), я бы хотел знать :)