Wpis z mikrobloga

#naukaprogramowania #javascript #google

Mam nadzieję, że tagi są dobre. XD Mam kod do liczenia znaków z zalinkowanych dokumentów Google'a (Google Apps Script), ale jednocześnie nie potrafię obejść problemu, że skrypt się zatrzymuje (i jednocześnie nie zapisuje uzyskanych wyników), jeśli natrafi na problem z linkiem: brak pliku, brak dostępu, błędny link etc. Czy ktoś ma pomysł, jak nakazać w takiej sytuacji wywalanie informacji o błędzie (w docelowej komórce) i dalszą pracę?

function postCharacterCounts() {

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
const values = sheet.getRange(2, 1, sheet.getLastRow()-1, 1)
.getDisplayValues()
.flat()
.map(row => {
return (row.includes(http))
? [characterCount(row)]
: [row]
})

sheet.getRange(2, 2, values.length, values[0].length)
.setValues(values)

function characterCount(url) {

return DocumentApp.openByUrl(url)
.getBody()
.getText()
.split(`)
.filter(character => /[a-zA-ZA-z0-9-!$%^&*()„”" "_+|~=
{}\:";’'<>?–,.\/ĄąĆćĘꣳŃńÓóŚśŹźŻż…ñÑüÜáÁéÉíÍóÓúÚäÄöÖüÜßÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇàâäèéêëîïôœùûüÿçĈĉĜĝĤĥĴĵŜŝŬŭ©™®]/.exec(character))
.length

}

}
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Fenrirr: Po bożemu to sobie po prostu sprawdzaj warunki np. zamiast

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()

powinieneś mieć
const spreadSheet
  • Odpowiedz