in

Guardar los Contactos de Nuestra Cuenta de Google en una Hoja de Cálculo de Forma Automática

Guardar los Contactos de Nuestra Cuenta de Google en una Hoja de Cálculo de Forma Automática

Hoy traemos un snippet fácil de implantar y que creemos que os va a encantar, (¡Y eso que no sabéis sobre qué van a tratar las próximas entradas de SnippetsBoard!). Podéis pensar que he tirado la piedra y acto seguido escondo la mano, así que para que no lo parezca en un sentido estricto os dejo el siguiente dato: Una de nuestras próximas entradas va a permitirnos realizar fácilmente envíos masivos de mensajes a través de la plataforma Whatsapp.

Bueno, como veo que empiezo a enrollarme y a soltar más información de la necesaria, vamos a lo que de verdad nos interesa, el tema a tratar hoy: Guardar los contactos de nuestra cuenta de Google en una Hoja de Cálculo de forma automática. Una vez que tenemos claro el objetivo, os presentamos el snippet:

var spreadsheeturl = '##URL DE LA HOJA DE CALCULO##'; var sheetphones = '##NOMBRE DE LA HOJA DONDE VAMOS A ANOTAR LOS TELÉFONOS##'; var sheetmails = '##NOMBRE DE LA HOJA DONDE VAMOS A ANOTAR LOS CORREOS ELECTRONICOS##';    var ss = SpreadsheetApp.openByUrl(spreadsheeturl); var shtelefonos = ss.getSheetByName(sheettelefonos); var shmails = ss.getSheetByName(sheetmails)  function saveContactosSpreadsheet() {   var contacts = ContactsApp.getContacts();      var tablatelefonos = [];   var tablamails = [];   var maxtlf = 0;   var maxmails = 0;   for (var i in contacts){     var filatelefonos = [];     var filamails = [];     var fullname = contacts[i].getFullName();     var mails = contacts[i].getEmails();     var tlfs = contacts[i].getPhones();          filatelefonos.push(fullname);     for (var j in tlfs){       filatelefonos.push(tlfs[j].getPhoneNumber().replace(/ /g, ''));     }     if (Number(filatelefonos.length) > maxtlf){       maxtlf = Number(filatelefonos.length);     }     tablatelefonos.push(filatelefonos);          filamails.push(fullname);     for (var k in mails){       filamails.push(mails[k].getAddress());     }     if (Number(filamails.length) > maxmails){       maxmails = Number(filamails.length);     }     tablamails.push(filamails);   }      for (var i in tablatelefonos){     if (Number(tablatelefonos[i].length) < maxtlf){       var diferencia = maxtlf - Number(tablatelefonos[i].length);       for (var j = 0; j < diferencia; j++){         tablatelefonos[i].push('');       }     }   }      for (var i in tablamails){     if (Number(tablamails[i].length) < maxmails){       var diferencia = maxmails - Number(tablamails[i].length);       for (var j = 0; j < diferencia; j++){         tablamails[i].push('');       }     }   }   shtelefonos.getRange(1, 1, tablatelefonos.length, tablatelefonos[0].length).setValues(tablatelefonos);   shmails.getRange(1, 1, tablamails.length, tablamails[0].length).setValues(tablamails); }

Como vemos, los parámetros a cumplimentar en el código para hacer que este snippet funcione son solo tres:

  • spreadsheeturl: la url de la hoja donde queremos anotar los contactos.
  • sheetphones: el nombre de la hoja donde queremos que se apunten los emails de los contactos.
  • sheetmails: el nombre de la hoja en la que deseamos que se apunten los teléfonos de los contactos.
Guardar los Contactos de Nuestra Cuenta de Google en una Hoja de Cálculo de Forma Automática

En caso de que esta sea vuestra primera vez usando google apps scripts en conjunción con los servicios de google, os recomendamos leer nuestra introducción al manejo de google apps script ya que en esta ocasión no vamos a explicar con el mismo detenimiento el uso de esta herramienta. Además añadir que en el caso de este snippet, es necesario que creeis las hojas dentro del documento y les asignéis el nombre de forma manual, es decir, no basta con rellenar el nombre en el código y este ya las creará por sí mismo.

Una vez que hayáis añadido correctamente los datos al código basta con ejecutar la función saveContactosSpreadsheet, y ¡Voilá! Mágicamente tendréis en la hoja de cálculo dos listados con la información ya sea email o teléfono de cada uno de vuestros contactos.

Guardar los Contactos de Nuestra Cuenta de Google en una Hoja de Cálculo de Forma Automática: Captura de la exportación de los emails

Recomendamos hacer scroll en la hoja de cálculo hacia abajo en caso de que no veáis el resultados, porque los datos se encuentren dentro de alguna parte no visible de la hoja. Esto no tiene por qué ocurrirle a todo el mundo, puesto que se da en el caso de que la persona que ejecuta el snippet tenga bastantes contactos sólo con el número de teléfono o el email.

Bonus track: Añadiendo el Prefijo de España a los Teléfonos

Como bonus os dejamos con unas fórmulas para la hoja de cálculo que os ayudarán a añadir el prefijo de país a cada uno de los teléfonos que habéis obtenido de forma mucho más rápida que hacerlo de uno en uno a mano. Las fórmula son las siguientes y habría que pegarlas en las celdas G1 Y H1 respectivamente:

G1: Con esta fórmula filtramos los teléfonos fijos españoles, puesto que empiezan por 9.

=SI(EXTRAE(B1;1;1)="9";"";B1)

H1: Con esta fórmula hacemos que si el número de cifras del teléfono es superior a 9 dígitos, lo deje tal cual está puesto que probablemente no se trate de un teléfono español al que haya que añadirle un prefijo, a la vez que también verificará que el número de cifras no sea menor que 9, puesto que tampoco estaríamos hablando de un número de teléfono español.

=SI(LARGO(G1)>9;G1;SI(LARGO(G1)<9;"";CONCATENAR("34";G1)))

Una vez hecho esto solo quedaría arrastrar ambas hacia abajo seleccionando ambas celdas a la vez y arrastrandolas hacia abajo a pulsando en el pequeño cuadradito que se genera en la esquina inferior derecha de la selección.

Guardar los Contactos de Nuestra Cuenta de Google en una Hoja de Cálculo de Forma Automática: Aplicar formula para convertir teléfonos en todas las celdas

De esta forma en la columna H os aparecerán los números de teléfono formateados añadiéndoles el prefijo 34 delante.

Y con esto, damos por terminado este snippet que sí, puede ser cortito, pero también es extremadamente útil. Y como se suele decir, lo breve, sí bueno, dos veces bueno.

¿Qué opinas?

Escrito por Antonio David Cruz

2 Comentarios

Dejar una respuesta

2 Pings & Trackbacks

  1. Pingback:

  2. Pingback:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Renovando Automáticamente Anuncios en Milanuncios con Tasker

Renovando Automáticamente Anuncios en Milanuncios con Tasker

Generar Enlaces de Whatsapp Automáticamente con Google Apps Script

Generar Enlaces de Whatsapp Automáticamente con Google Apps Script