TransWikia.com

Converter Macro excel para script Google Sheets

Stack Overflow em Português Asked on December 22, 2021

Gostaria de uma ajuda para transformar esse código de macro do excel para o script do Google Sheets.

Não conheço tanto os recursos, ja quebrei a cabeça mexendo mas não funcionou.

Basicamente ele retira as acentuações, a a ideia e que caso encontre alguma palavra com acentuação, ele substitua para a letra sem esse acento.

Function faxineiro(caract)
    codiA = " àáâãäèéêëìíîïòóôõöoùúûüÀÁÂÃÄÈÉÊËÌÍÎOÒÓÔÕÖÙÚÛÜçÇñÑ."
    codiB = "_aaaaaeeeeiiiioooooouuuuAAAAAEEEEIIIOOOOOOUUUUcCnN-"
    temp = caract
        For i = 1 To Len(temp)
        p = InStr(codiA, Mid(temp, i, 1))
            If p > 0 Then Mid(temp, i, 1) = Mid(codiB, p, 1)
        Next
        faxineiro = temp
    End Function

One Answer

Esse script vai fazer isso em todas as planilhas, se quiser fazer apenas em uma planilha especifica vai precisar fazer algumas alteracoes.

function onEdit(e){
  const ss = e.source;
    let value = e.value;
    let range = e.range;
    value = value.replace(new RegExp("[[áàâäã]", 'g'),"a");
    value = value.replace(new RegExp("[[ÁÀÂÄÃ]", 'g'),"A");
    value = value.replace(new RegExp("[[éèêë]", 'g'),"e");
    value = value.replace(new RegExp("[[ÉÈÊË]", 'g'),"E");
    value = value.replace(new RegExp("[[ìíîï]", 'g'),"i");
    value = value.replace(new RegExp("[[ÌÍÎ]", 'g'),"I");
    value = value.replace(new RegExp("[[òóôõöo]", 'g'),"o");
    value = value.replace(new RegExp("[[OÒÓÔÕÖ]", 'g'),"O");
    value = value.replace(new RegExp("[[ùúûü]", 'g'),"u");
    value = value.replace(new RegExp("[[ÙÚÛÜ]", 'g'),"U");
    value = value.replace(new RegExp("[[çÇ]", 'g'),"c");
    value = value.replace(new RegExp("[[Ç]", 'g'),"C");
    value = value.replace(new RegExp("[[ñÑ]", 'g'),"n");
    value = value.replace(new RegExp("[[Ñ]", 'g'),"N");
    range.setValue(value);

}

EDITADO: O codigo abaixo funciona tambem.

function onEdit(e){
    const ss = e.source;
    let range = e.range;
    let value = e.value;
    let changeCase = {'a': '[àáâãäå]', 'ae': 'æ', 'c': 'ç', 'e': '[èéêë]', 'i': '[ìíîï]', 'n': 'ñ', 'o': '[òóôõö]', 'oe': 'œ', 'u': '[ùúûűü]', 'y': '[ýÿ]'};
    for (i in changeCase) { value = value.replace(new RegExp(changeCase[i], 'g'), i); }
    range.setValue(value);
};

Answered by Alisson Miranda on December 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP