0% encontró este documento útil (0 votos)
73 vistas12 páginas

Funciones de Google Apps Script en Sheets

Cargado por

daniel9527
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas12 páginas

Funciones de Google Apps Script en Sheets

Cargado por

daniel9527
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Contenido

Indice Dinámico..................................................................................................................................2
Creación Carpetas Dinámico..............................................................................................................3
Conversor Dirección a Coordenadas Georreferenciadas....................................................................4
URL Absoluta de Google Drive a Google Sheets.................................................................................6
Formulario Script en Google Sheet, con búsqueda y modificaciones.................................................8
Indice Dinámico

function indiceDinamico (){
  //Configuracion
const nombreInicio="Inicio";
var misHojas=[Link]().getSheets();
var hojaInicio=[Link]().getSheetByName("Inicio");
var i=2;

//Borrar todo el contenido antes de actualizar el indice
[Link](2,1,[Link]()).clearContent();

//Ciclo que recorre todas las pestañas actuales
[Link](function(hoja){

    //Condicional para no seleccionar pestaña "Inicio"
  if([Link]()!=nombreInicio){

    //Agrega formula hipervinculo con el nombre y la Id de cada pestaña
    var formula='=HYPERLINK("#gid='+[Link]()+'";"'+[Link]()+'")'
    [Link](i,1).setFormula(formula)

    //Agrega formula hipervinculo con pestaña Inicio a cada pestaña
    [Link](1,1).setFormula('=HYPERLINK("#gid=0";"Ir a Inicio")')
    i++;
  } //Cierre If Inicio
}) //Cierre Ciclo

}
Creación Carpetas Dinámico

function crearCarpeta(){
  var libro=[Link]()
  var hoja=[Link]("Config")
  var nombreMaestra=[Link]("B2").getValue()
  var carpeta=[Link](nombreMaestra)
  [Link]("C2").setValue([Link]())
}

function crearCarpetaDentroDeCarpeta(){
  var libro=[Link]()
  var hoja=[Link]("Config")
  var idMaestra=[Link]("C2").getValue()
  var carpeta=[Link](idMaestra)
  var subCarpetas=[Link](4,2,[Link]()-3).
getValues();
  [Link](subCarpetas)
 [Link]((fila,indice)=>{
   var subcarpeta=[Link](fila[0]);
   var idSubcarpeta=[Link]();
   [Link](indice+4,3).setValue(idSubcarpeta)
   }) 
}

function OnOpen() {
  const menu=[Link]().createMenu("Carpetas");
  [Link]("Crear carpeta maestra","crearCarpeta");
  [Link]("Crear sistema de carpetas","crearCarpetaDentroDeCarpeta");
  [Link]();
}
Conversor Dirección a Coordenadas Georreferenciadas

var ss = [Link]();
var sheet = [Link]();
var dataRangeAll = [Link]();
var ultimaFila = [Link]();

function onOpen() {  
  var ui = [Link]();
  [Link]('Geocodificar')
      .addItem('Convertir direcciones en coordenadas', 'geocodificar')
      .addToUi();
}

// Geocodificar todas las filas a partir de la 2da
function geocodificar() {
  var filaInicial = 2;
  var dataRange = [Link](filaInicial, 1,ultimaFila, 5);
  var data = [Link]();

  // Recorremos todas las filas del rango
  for(var i=0; i< [Link]; i++) {
    var fila = data[i];

    var direccion = fila[0];

    // Solamente haremos algo si hay algo en la celda de dirección, 
    // para no generar errores inesperados
    if(direccion != "") {
      // Aquí es donde nos conectamos con Google Maps
      var geocoder = [Link]().geocode(direccion);
      var resultado = [Link][0];
      [Link](500);

      var latitud = 0;
      var longitud = 0;

      // Si el geocoder de Google Maps nos devuelve un resultado satisfactorio, 
      // escribimos la latitud y longitud en las celdas correspondientes al a fila
      if(resultado) {
        latitud = [Link];
        longitud = [Link];
        [Link](filaInicial + i, 4).setValue(latitud);
        [Link](filaInicial + i, 5).setValue(longitud);
      }
    }
  }
}
URL Absoluta de Google Drive a Google Sheets
function enlace() {

  // seleccionar la hoja de cálculo actual
  var ss = [Link]();
  var sheet = [Link]('Hoja 1');

  // obtener la ultima fila y columna
  var lastCol = [Link]();
  var lastRow = [Link]();

  //limpiar contenido
  [Link](2, 1, lastRow, lastCol).clearContent();

// identificacion de la carpeta de trabajo
  
  var fldr=[Link]("1HB28oMhn-weBPqlmuQ4g4QaFk5es2NgP");

  var files=[Link]();

      // crear variable para usar como contador para verificar el número de archivo
    var fileCounter = 0;

    // cree una matriz vacía para insertar datos de archivo para agregar a la hoja al final
    var fileData = [];

    // recorrer cada archivo devuelto ***********************
    while ([Link]()) {

      // obtener el archivo
      var file = [Link]();

      // obtener el nombre del archivo
      var fileName = [Link]();

      // quitar extension

      var fileSimple= ([Link]("."))[0];  
 
      // obtener el ID del archivo
     // var fileID = [Link]();

      // obtner la url del archivo
      var fileUrl = [Link]();
      // crear cadena de la url del archivo
     // var hyperlink = '=HYPERLINK("' + fileUrl + '","' + fileName + '")';
      var hyperlink = fileUrl + fileName;

      // obeter el tipo de archivo
      var fileType = [Link]();

      // recopilar datos de fila y añadirlos a la matriz, para luego agregarlos a la hoja
     // var rowData = [fileName, fileID, hyperlink, fileType];
      var rowData = [fileSimple, fileName, hyperlink, fileType];

      [Link](rowData);

      // incrementar el contador de archivos en 1
      fileCounter++;

    }

    // obtener la ultima fila libre + 1 (despues del encabezado) 
    var lastRow = [Link]() + 1;
    // obtener el largo del array 
    var arrayLength = [Link];
    // obtener el ancho de los registros del array (cantidad de columnas)
    var arrayWidth = fileData[0].length;
    [Link](lastRow, 1, arrayLength, arrayWidth).setValues(fileData);

    
}

URL: [Link]
Formulario Script en Google Sheet, con búsqueda y modificaciones

//
Limpiar
celdas
function Limpiar() {
var hojaActiva = [Link]();
var formulario = [Link]("Formulario");

var celdasALimpiar = ["B3", "B6", "B8", "B10", "D6", "D8", "D10"]; //


Celdas a limpiar
for (var i=0; i<[Link]; i++){
[Link](celdasALimpiar[i]).clearContent();
}
}

// Guardar celdas
function Guardar(){
var hojaActiva = [Link]();
var formulario = [Link]("Formulario"); // Nombre de
hoja del formulario
var datos = [Link]("Datos"); // Nombre de hoja donde se
almacenan datos

// Celdas de donde se obtendrán los datos a guardar


var valores = [[[Link]("B6").getValue(),
[Link]("B8").getValue(),
[Link]("B10").getValue(),
[Link]("D6").getValue(),
[Link]("D8").getValue(),
[Link]("D10").getValue()]];

// Inyección de datos a hoja donde se almacenan datos


[Link]([Link]()+1,1,1,6).setValues(valores); // El "6"
se cambia por cantidad de datos a almacenar
Limpiar(); // Ejecución de función para limpieza de celdas
}

// Buscar
var NUM_COLUMNA_BUSQUEDA = 0;
function Buscar() {

var hojaActiva = [Link]();


var formulario = [Link]("Formulario"); // Nombre de
hoja del formulario

var valor = [Link]("B3").getValue();


var valores =
[Link]("Datos").getDataRange().getValues(); // Nombre de
hoja donde se almacenan datos
for (var i = 0; i < [Link]; i++) {
var fila = valores[i];
if (fila[NUM_COLUMNA_BUSQUEDA] == valor) {

[Link]("B6").setValue(fila[0]);
[Link]("B8").setValue(fila[1]);
[Link]("B10").setValue(fila[2]);
[Link]("D6").setValue(fila[3]);
[Link]("D8").setValue(fila[4]);
[Link]("D10").setValue(fila[5]);
}
}
}

// Actualizar
function Actualizar(){
var hojaActiva = [Link]();
var formulario = [Link]("Formulario"); // Nombre de
hoja del formulario
var datos = [Link]("Datos"); // Nombre de hoja donde se
almacenan datos

var valor = [Link]("B3").getValue();


var valores =
[Link]("Datos").getDataRange().getValues(); // Nombre de
hoja donde se almacenan datos
for (var i = 0; i < [Link]; i++) {
var fila = valores[i];
if(fila[NUM_COLUMNA_BUSQUEDA] == valor) {
var INT_R = i+1

var valores1 = [[[Link]("B6").getValue(),


[Link]("B8").getValue(),
[Link]("B10").getValue(),
[Link]("D6").getValue(),
[Link]("D8").getValue(),
[Link]("D10").getValue()]];

[Link](INT_R, 1, 1, 6).setValues(valores1);
[Link]().alert('Datos actualizados');

Limpiar(); // Ejecución de función para limpieza de celdas


}
}
}

// Eliminar
function Eliminar() {
var hojaActiva = [Link]();
var formulario = [Link]("Formulario"); // Nombre de
hoja del formulario
var datos = [Link]("Datos"); // Nombre de hoja donde se
almacenan datos

var interface = [Link]();


var respuesta = [Link]('¿Está seguro de
borrar?',[Link].YES_NO);

// Proceso si el usuario responde


if (respuesta == [Link]) {

var valor = [Link]("B3").getValue();


var valores =
[Link]("Datos").getDataRange().getValues(); // Nombre de
hoja donde se almacenan datos
for (var i = 0; i< [Link]; i++) {
var fila = valores[i];
if (fila[NUM_COLUMNA_BUSQUEDA] == valor) {
var INT_R = i+1

[Link](INT_R);
Limpiar(); // Ejecución de función para limpieza de celdas
}
}
}
}

Obtención URL de archivos

function VincularArchivos() {

var sheet = [Link]().getActiveSheet();

var folder = [Link]('COLOCA AQUÍ LA ID DE LA CARPETA');

var files = [Link]();

while ([Link]()) {

var file = [Link]();

var fileName = [Link]();

var fileId = [Link]();

var fileUrl = [Link]();

var fileRow = [Link]('A:A').getValues().flat().indexOf(fileName)+1;

if (fileRow > 0) {

[Link](fileRow, 2).setValue(fileUrl);

También podría gustarte