我需要在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是否可以解决此问题,也不知道问题是否出在源代码语法中。我的表格没有任何结果。
答案 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();
不幸的是,我无法继续,因为在此之后您还不清楚要做什么。