Я надеюсь, что кто-то может помочь мне с этой маленькой проблемой, с которой я столкнулся.
Я использую приведенный ниже скрипт для декодирования номера vin непосредственно в электронной таблице Google, и он работает почти на 100%.
function VinNumberonEdit(){
var sheetName = "Sheet1";
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var activeCell = ss.getActiveCell();
var activeRange = ss.getActiveRange();
if (activeRange.isBlank() && ss.getSheetName() == sheetName){
activeRange.offset(0, 1).clearContent()
activeRange.offset(0, 2).clearContent()
activeRange.offset(0, 3).clearContent()
}
else if(activeRange.getColumn() == 1 && activeRange.getRow() > 1 && ss.getSheetName() == sheetName){
var vin = ss.getActiveCell().getValue()
vin = encodeURI(vin)
var url = "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVinValues/"+vin+"?format=json"
var response = UrlFetchApp.fetch(url);
var w = JSON.parse(response.getContentText());
activeRange.offset(0, 1).setValue(w.Results[0].Make)
activeRange.offset(0, 2).setValue(w.Results[0].Model)
activeRange.offset(0, 3).setValue(w.Results[0].ModelYear)
}
}
Проблема, с которой я сталкиваюсь, заключается в том, чтобы добавить еще несколько строк или отформатировать эти ячейки. По какой-то причине он добавляет еще три нежелательных столбца.
Вероятно, моя проблема в том, что первое утверждение if:
if (activeRange.isBlank() && ss.getSheetName() == sheetName){
activeRange.offset(0, 1).clearContent()
activeRange.offset(0, 2).clearContent()
activeRange.offset(0, 3).clearContent()
}
Я загрузил gif, чтобы показать вам, ребята, в чем моя борьба.
https://giphy.com/embed/hqO5pFZZ2xWyQva66e
У кого-нибудь есть идеи, как это исправить? Я не программист. Я построил этот Франкенштейн, чтобы помочь мне в работе, но теперь я застрял в этой маленькой проблеме.