Usando respuesta @gabhubert, se podía hacer esto, si desea obtener los resultados de una fila entera. Del editor de guiones
function GetMD5Hash(value) {
var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, value);
var txtHash = '';
for (j = 0; j <rawHash.length; j++) {
var hashVal = rawHash[j];
if (hashVal < 0)
hashVal += 256;
if (hashVal.toString(16).length == 1)
txtHash += "0";
txtHash += hashVal.toString(16);
}
return txtHash;
}
function straightToText() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var r = 1;
var n_rows = 9999;
var n_cols = 1;
var column = 1;
var sheet = ss[0].getRange(r, column, n_rows, ncols).getValues(); // get first sheet, a1:a9999
var results = [];
for (var i = 0; i < sheet.length; i++) {
var hashmd5= GetMD5Hash(sheet[i][0]);
results.push(hashmd5);
}
var dest_col = 3;
for (var j = 0; j < results.length; j++) {
var row = j+1;
ss[0].getRange(row, dest_col).setValue(results[j]); // write output to c1:c9999 as text
}
}
Y luego, en el menú Ejecutar, basta con ejecutar la función straightToText() para que pueda obtener el resultado, y eludir las demasiadas llamadas a un error de función.
respuesta Niza. Es posible que desee agregar 'Utilities.sleep (100)' en algún lugar dentro de la función, para evitar que se bloquee cuando use la función de autocompletar (de lo contrario, se encontrará con un límite en la frecuencia con que se puede llamar a una función) – leo
No puedo parece hacer que esto coincida con lo que hace 'md5sum (1)'; por ejemplo 'frew' en el cli da' c241183cbf6766bd86061a60d6c8fe1b' sin línea nueva, pero 'cfb5d06a43aad502d0f6219143ba0e34' de la función. –