在Google表格中创建CEP的源代码

时间:2019-07-08 20:24:54

标签: google-apps-script google-sheets

我需要在Google Spreadsheet中创建一个表单,该表单允许我编写CEP(巴西的邮政编码),并自动填写地址,城市,邻里,州和名为IBGE的代码。我正在尝试使用Apps Script进行操作,但没有结果。 我以此页(http://viacep.com.br/exemplo/javascript/)的源代码作为指南,并开发了以下脚本。 *出于安全考虑,我删除了SpreeadsheetID

function myCEP() {
  var spsID = 'deletedforsecurityreasons';
  var sheetN = 'RCA'
  var sps = SpreadsheetApp.openById(spsID);
  var sheet = sps.getSheetByName(sheetN);
  var firstR = 18;
  var lastR = 23;
  var data = sps.getDataRange().getValues();

  for(i in data){
    var row = data[i];
    var cep = sheet.getRange("Z19").getValue();
    var rua = sheet.getRange("I20").getValue();
    var bairro = sheet.getRange("Y21").getValue();
    var cidade = sheet.getRange("H22").getValue();
    var uf = sheet.getRange("X22").getValue();
    var ibge = sheet.getRange("E24").getValue();
    var startRow = 1 + +i;
  }
  function meu_callback(conteudo) {
        if (!("erro" in conteudo)) {
            //Atualiza os campos com os valores.
            sheet.getElementById('rua').setValue=(conteudo.logradouro);
            sheet.getElementById('bairro').set.Value=(conteudo.bairro);
            sheet.getElementById('cidade').set.Value=(conteudo.localidade);
            sheet.getElementById('uf').set.Value=(conteudo.uf);
            sheet.getElementById('ibge').set.Value=(conteudo.ibge);
        } //end if.
        else {
            //CEP não Encontrado.
            sheet.getElementById('rua').value=("CEP não encontrado.");
        }
    }
  function pesquisacep(valor) {
    //Nova variável "cep" somente com dígitos.
    var cep = valor.replace(/\D/g, '');
    //Verifica se campo cep possui valor informado.
    if (cep != "") {
      //Expressão regular para validar o CEP.
      var validacep = /^[0-9]{8}$/;
      //Valida o formato do CEP.
      if(validacep.test(cep)) {
        //Cria um elemento javascript.
        var script = document.createElement('script');
        script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
        document.body.appendChild(script);
            } //end if.
       else {
                //cep é inválido.
                sheet.getElementById('rua').value=("Formato de CEP inválido.");
        }
    };

  }
  SpreadsheetApp.flush();
}

我不知道Google Sheets是否可以解决此问题,也不知道问题是否出在源代码语法中。我的表格没有任何结果。

1 个答案:

答案 0 :(得分:0)

我将开始执行以下功能:

function myCEP() {
  var sps = SpreadsheetApp.openById('ID');
  var sheet = sps.getSheetByName('RCA');
  var rg=sheet.getRange(18,1,6,sheet.getLastColumn());
  var data = rg.getValues();

不幸的是,我无法继续,因为在此之后您还不清楚要做什么。