Carlos G
Carlos G
  • 26
  • 105 919
Formularios Desde Cero: Dale estilo a tu formulario con CSS en Apps Script
🎓 Formularios Desde Cero con Apps Script, HTML y CSS | Episodio 3: Dale Estilo a Tu Primer Formulario HTML
¡Bienvenido al tercer video de la serie "Formularios Desde Cero"! En este episodio, te mostraré cómo dar estilo a tu formulario HTML usando CSS para crear una interfaz visual más atractiva y profesional.
🔍 ¿Qué aprenderás en este vídeo?
Introducción a CSS : Aprende los conceptos básicos de CSS y cómo aplicarlo a tus formularios HTML para personalizarlos.
Estilos de diseño : Descubre cómo cambiar colores, fuentes, bordes y ajustar el diseño general de tu formulario.
Ejemplo práctico : Aplicaremos estilos paso a paso en un formulario para que veas cómo CSS mejora la presentación visual.
📈 ¿Por qué estilizar con CSS? El uso de CSS te permite mejorar la experiencia del usuario y la apariencia de tus formularios, haciendo que tu aplicación sea más atractiva y fácil de usar.
✨ No olvides suscribirte y activar las notificaciones para no perderte ningún episodio de esta serie. ¿Tienes dudas o sugerencias? Déjalas en los comentarios, ¡estoy aquí para ayudarte a aprender!
Segundo video de la serie: ua-cam.com/video/o646nfPaxQo/v-deo.htmlsi=ZpGhgAVVOU93SJft
Repositorio de código: carlosg28.blogspot.com/2024/11/formularios-desde-cero-con-apps-script.html
Переглядів: 361

Відео

Formularios Desde Cero: Guardar Datos en Google Sheets con Apps Script
Переглядів 1,3 тис.Місяць тому
🎓 Formularios Desde Cero con Apps Script y HTML | Episodio 2: Bienvenido al segundo video de la serie. En este tutorial, aprenderás cómo guardar los datos de un formulario HTML directamente en Google Sheets utilizando Apps Script. 🔍 ¿Qué aprenderás en este video? Introducción a Apps Script: Comprende qué es y cómo puede ayudarte a conectar tus formularios con Google Sheets. Código paso a paso: ...
Formularios Desde Cero: Estructura Básica de un Formulario HTML
Переглядів 687Місяць тому
🎓 Formularios Desde Cero con Apps Script y HTML | Episodio 1: ¡Aprende a crear la estructura básica de un formulario web con HTML! En este tutorial paso a paso, te enseñaré los fundamentos de HTML para que puedas construir tu primer formulario. 🔥 En este video, descubrirás cómo estructurar un formulario de manera efectiva y qué etiquetas HTML necesitas. ¡Es el primer paso para automatizar formu...
Cómo Construir un Sistema de Gestión de Inventarios con Apps Script y HTML
Переглядів 3,2 тис.10 місяців тому
¿Te gustaría simplificar la gestión de inventarios de tu negocio? Acompáñame en este tutorial donde creamos desde cero un Sistema de Inventario utilizando Google Sheets y Google Apps Script. Aprenderás a agregar y gestionar referencias, registrar movimientos y mantener un seguimiento eficiente de tus existencias. Link código: carlosg28.blogspot.com/2024/01/como-construir-un-sistema-de-gestion-d...
Cómo Crear un Formulario HTML para Subir Archivos a Google Drive con Apps Script
Переглядів 4,9 тис.Рік тому
¡Bienvenido a mi canal! En este emocionante tutorial, te mostraré paso a paso cómo crear un formulario HTML que te permitirá subir archivos directamente a Google Drive, todo gracias al poderoso Apps Script de Google. Ya no tendrás que preocuparte por subir archivos manualmente, ¡automatiza este proceso y ahorra tiempo!. En este video, aprenderás: 1. Cómo diseñar un formulario HTML simple pero e...
Formulario Dinámico: Cómo Crear Campos Autocompletados con Apps Script, HTML en Google Sheets.
Переглядів 3,5 тис.Рік тому
¿Alguna vez te has preguntado cómo algunos formularios pueden autocompletar ciertos campos en función de las selecciones realizadas? ¡No busques más! En este video, te guiaré paso a paso para construir un formulario interactivo que, al seleccionar un tipo de comida, automáticamente rellenará el campo de bebida correspondiente. No te pierdas este emocionante tutorial de creación de formularios c...
Cómo buscar datos en segundos en Google Sheets con Apps Script (BuscarV)
Переглядів 5 тис.Рік тому
En este video aprenderás cómo automatizar tus búsquedas y hacerlas más precisas utilizando Apps Script, una herramienta de programación de Google que te permite crear scripts personalizados para trabajar con sus aplicaciones. Nos encantaría ayudarte a superar los desafíos que has enfrentado con Apps Script, proporcionandote soluciones prácticas. Participa de esta breve encuesta, para que podamo...
Google sheets-Bucle tipor for in en Apps Script, gestión de costos de envíos
Переглядів 1 тис.Рік тому
En este video vemos como podemos utilizar un bucle tipo for para automatizar algunas tareas en apps script, este bucle funciona similar a un for, pero no nos tenemos que preocupar por el indice. Pueden crear un menú para ejecutar el script de forma fácil. Espero les sea de utilidad, saludos. Enviar emails con Apps Script: ua-cam.com/video/QaZL4lSBiDA/v-deo.html Crear menú: ua-cam.com/video/Thp9...
Google Sheets - Cómo enviar correos electrónicos usando una plantilla en sheets y Apps Script
Переглядів 6 тис.Рік тому
En este video, aprenderemos cómo enviar correos electrónicos utilizando una plantilla sencilla construida en google sheets. Programaremos una función de apps script para enviar los correos a los clientes y por último agregaremos un botón para ejecutar el código desde la interfaz de la hoja de cálculo. Nos encantaría ayudarte a superar los desafíos que has enfrentado con Apps Script, proporciona...
Cómo cargar datos en un formulario HTML desde una Google sheet con apps script
Переглядів 6 тис.Рік тому
En este video aprenderemos como cargar datos que tenemos almacenados en una pestaña de una hoja de cálculo en un input (Entrada) de un formulario construido en html, acá respondemos a la pregunta que anteriormente varias personas me han realizado al respecto. Espero les sea de utilidad. Muchos éxitos. Nos encantaría ayudarte a superar los desafíos que has enfrentado con Apps Script, proporciona...
Google sheets-Apps script, condicionales básicas y bucles tipo for (incluye ejercicio)
Переглядів 4,4 тис.Рік тому
Repositorio de código ejemplo: carlosg28.blogspot.com/2023/01/condicionales-if-else-if-else.html En este video veremos como es la estructura de algunas condicionales básicas que se manejan en Apps Script (if, else-if y else), luego de entender está estructura, vamos a ver cómo se construye un bucle tipo for y por último pero no menos importante, realizaremos un ejercicio para copiar datos de un...
Google sheets-apps script, cómo dar estilo y formato a datos
Переглядів 4 тис.Рік тому
Cuando copiamos datos de una hoja a otra, muchas veces la información no queda con los formatos que se tenían en los archivos de origen, como por ejemplo, moneda, número, porcentaje, etc, por tanto en este video aprenderemos cómo dar estilo y formato a los datos y celdas, esto lo haremos con Google Apps Script. Nos encantaría ayudarte a superar los desafíos que has enfrentado con Apps Script, p...
Aplicando estilos a formulario con CSS y Google Apps Script
Переглядів 2,6 тис.2 роки тому
En este video aplicaremos código CSS a nuestro formulario tipo barra lateral que hemos creado en videos anteriores, esto dará un aspecto visualmente más agradable a nuesto formulario. ¡Vamos! Crear formulario parte 1: ua-cam.com/video/HA0phyWhyAI/v-deo.html Crear formulario parte 2: ua-cam.com/video/O7AGF41Bawk/v-deo.html Link para el código: carlosg28.blogspot.com/2021/05/codigo-para-pasar-dat...
Apps script-Html5, Formulario tipo barra lateral
Переглядів 2,6 тис.2 роки тому
Continuaremos construyendo nuestro formulario tipo barra lateral con HTML5 y Apps Script, esta vez le vamos a dar funcionalidad al formulario, para que nos guarde los datos ingresados en la Google Sheets al oprimir el botón de enviar (Guardar). Link parte 1: ua-cam.com/video/HA0phyWhyAI/v-deo.html Saludos a todos y muchos éxitos con la construcción de sus formularios Facebook: Char...
Formulario tipo barra lateral en Html y Apps Script Part 1
Переглядів 4,5 тис.2 роки тому
Formulario tipo barra lateral en Html y Apps Script Part 1
Google Sheets-Apps Script, eliminar celdas con base a una condición o dato especifico
Переглядів 5 тис.2 роки тому
Google Sheets-Apps Script, eliminar celdas con base a una condición o dato especifico
Google sheets-Apps Script, Consolidar información de varias hojas de cálculo en un solo archivo
Переглядів 7 тис.3 роки тому
Google sheets-Apps Script, Consolidar información de varias hojas de cálculo en un solo archivo
Introducción a Google Apps Script, Implementar el servicio Html
Переглядів 6 тис.3 роки тому
Introducción a Google Apps Script, Implementar el servicio Html
Introducción a Google Apps Script, Creando variables globales y archivo tipo HTML
Переглядів 2,1 тис.3 роки тому
Introducción a Google Apps Script, Creando variables globales y archivo tipo HTML
Introducción a Apps Script, Cómo crear activadores
Переглядів 4,3 тис.3 роки тому
Introducción a Apps Script, Cómo crear activadores
Introducción a Apps Script-Cómo escribir código en el editor
Переглядів 1,2 тис.3 роки тому
Introducción a Apps Script-Cómo escribir código en el editor
Introducción a Apps Script, Descripción general del editor de comandos
Переглядів 7673 роки тому
Introducción a Apps Script, Descripción general del editor de comandos
Google sheets-apps script, borrar celdas y rangos.
Переглядів 6 тис.3 роки тому
Google sheets-apps script, borrar celdas y rangos.
Google sheets-apps script, crear menú
Переглядів 2,6 тис.3 роки тому
Google sheets-apps script, crear menú
Google sheets-apps script, copiar datos de un archivo a otro
Переглядів 16 тис.3 роки тому
Google sheets-apps script, copiar datos de un archivo a otro

КОМЕНТАРІ

  • @Edison_mm
    @Edison_mm 4 дні тому

    Buen tutorial! Gracias... ¿brindan consultorías personalizadas?¿en dónde lo puedo ubicar? gracias!!

  • @juanmi2377
    @juanmi2377 8 днів тому

    Muchas gracias por el video, una pregunta como podemos modicicar el mensaje de alerta, que me sale un a serie de letras distinitas a las escritas dentro del codigo

    • @carlosg89
      @carlosg89 6 днів тому

      Hola amigo, finalizando el código tienes una línea con lo siguiente: alert('Datos guardados exitosamente'); acá es donde modificas el mensaje de alerta, es muy importante verificar si lo que te sale es debido a la falta de las comillas que deben encerrar el mensaje, también en el archivo de script debes fijarte que la sintaxis de la función guardar datos este correcta: function guardarDatos(datos) { const hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); hoja.appendRow([ datos.nombres, datos.apellidos, datos.documento, datos.direccion, datos.fechaNacimiento, datos.email, datos.telefono, datos.pais, datos.genero, datos.contrasena ]); } recuerda que la ultima línea (datos.contrasena) no lleva coma por ser la última de la matriz

  • @TheZuge2877
    @TheZuge2877 9 днів тому

  • @jhonfranmedina7
    @jhonfranmedina7 11 днів тому

    Carlos excelente y muy importante para el manejo de script, quería preguntarte cómo funcionaria estos códigos si por ejemplo se requiere resaltar con color toda una fila dependiendo de una letra o palabra, agradezco sus valioso comentario

    • @carlosg89
      @carlosg89 6 днів тому

      Claro que sí, podemos agregar la funcionalidad para resaltar filas de acuerdo a una palabra o letra con una condición, te dejo un ejemplo de código: function resaltarFilas() { // Obtiene la hoja activa var hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Obtiene el rango de datos var rango = hoja.getDataRange(); var datos = rango.getValues(); // Matriz con los datos de la hoja // Configuración var palabraClave = "Aprobado"; // Palabra a buscar var colorResaltado = "#FFD700"; // Color dorado para resaltar var columnaBusqueda = 3; // Columna a revisar (3 = columna C, 0-indexed) // Recorre las filas de datos for (var i = 0; i < datos.length; i++) { // Si la celda de la columna específica coincide con la palabra clave if (datos[i][columnaBusqueda - 1] === palabraClave) { // Resalta toda la fila hoja.getRange(i + 1, 1, 1, datos[0].length).setBackground(colorResaltado); } } }

    • @jhonfranmedina7
      @jhonfranmedina7 6 днів тому

      @carlosg89 mil gracias por compartir sus conocimientos con el mundo

  • @JoseGonzalez-t9y
    @JoseGonzalez-t9y 28 днів тому

    Muy buen trabajo pero no consigo que me inserte los datos en la hoja, me podrias ayudar

    • @carlosg89
      @carlosg89 28 днів тому

      Hola amigo, comparteme tu código a mi correo carlosgarciavalencia9@gmail.com, para verificar y encontrar la dificultad, saludos.

  • @gustavomeza8949
    @gustavomeza8949 28 днів тому

    Excelentes Videos y la forma de enseñar Gracias Carlos , saludo desde Bogotá Colombia Gustavo Meza

    • @carlosg89
      @carlosg89 28 днів тому

      Hola Gustavo, espero sea de utilidad. Muchas gracias por el comentario. Saludos.

  • @EcoDev-Solutions
    @EcoDev-Solutions 29 днів тому

    Gracias por el buen vídeo.

    • @carlosg89
      @carlosg89 28 днів тому

      Espero les sea de utilidad. Muchas gracias por el comentario.

    • @EcoDev-Solutions
      @EcoDev-Solutions 28 днів тому

      @carlosg89 Entiendo que tienes tus planes en tus videos pero me preguntaba si tienes pensando en dar algún tutorial de como trabajar con una datatable al cual se le inserte información y que según la fila seleccionada se pueda editar o eliminar y posteriormente se registre dicha información a una hoja de cálculo?

  • @mayoralap
    @mayoralap Місяць тому

    Gracias, muy bien y excelente conocimiento 👍 Me gustaría que me ayudes a rellenar un listbox desde un rango de datos dinámicos de una hoja isando script y HTML Gracias

    • @carlosg89
      @carlosg89 28 днів тому

      Claro que sii, si deseas darnos más detalles del reto y lo trabajamos, saludos.

    • @mayoralap
      @mayoralap 28 днів тому

      @carlosg89 Gracias . Supongamos que tengas una hoja llamada "List" en ella una tabla o un rango donde se guardan nombres de personas, entonces tienes un formulario HTML5 donde hay un combobox con la lista de esas personas y un dato mas adicional que es una fecha y se guardan en otra tabla u otro rango en la misma hoja "List "

    • @mayoralap
      @mayoralap 24 дні тому

      @@carlosg89 Maestro carlos, yo he logrado rellenar la lista en el formulario, pero, todavía no he podido guardar los datos a una tabla(objeto) existente

  • @javiguerrerodiaz
    @javiguerrerodiaz Місяць тому

    Gracias por el vídeo y por compartir tus conocimientos. Podrías hacer uno complementando el formulario para hacer un CRUD con botones.

    • @carlosg89
      @carlosg89 29 днів тому

      Hola Javi, gracias por el comentario, claro que sí amigo, lo vamos a tener pronto. Saludos

  • @widman77c
    @widman77c Місяць тому

    Excelente aporte @Carlos G, te agradezo la información.

    • @carlosg89
      @carlosg89 Місяць тому

      Es con mucho gusto, saludos

  • @EduardoHernandez-md2me
    @EduardoHernandez-md2me Місяць тому

    Muchas gracias por compartir tu conocimiento

    • @carlosg89
      @carlosg89 Місяць тому

      Muchas gracias a ustedes por los comentarios, la idea de este canal es que podamos aprender juntos y que podamos resolver los desafíos de día a día en nuestros flujos de trabajo, por eso me encanta enseñar, Saludos.

  • @chimboterex
    @chimboterex Місяць тому

    Gracias y bendiciones.. por su conocimiento en web. Y google sheets

    • @carlosg89
      @carlosg89 Місяць тому

      Muchas gracias a ti por los comentarios y enseñar es una de las mejores cosas que podemos hacer por los demás y por nosotros mismos, resolver desafíos en nuestros flujos de trabajo mientras aprendemos es nuestro sentido.

  • @enriquefacundo511
    @enriquefacundo511 Місяць тому

    hola, no me quiere funcionar, parece que no encontrara la carpeta o la hoja de exel pero ya he intentado de todo y nada, por fa ayudame

    • @carlosg89
      @carlosg89 Місяць тому

      Hola Enrique espero te encuentres muy bien. Te agradezco por favor me compartas el código que has construido para revisar que puede estar pasando y poder verificar cuales son los ajustes que se deben hacer. Mi correo: carlosgarciavalencia9@gmail.com.

  • @armandoparedes4077
    @armandoparedes4077 Місяць тому

    Buenos dias una pegunta de que manera puedo hacer para que con una data en un excel que a partir de tipiar el email puedo consultar el excel y llenar otros campos como nombre y departamento por ejemplo

    • @carlosg89
      @carlosg89 Місяць тому

      Buenos días Armando, espero te encuentres bien. Lo primero que se debe hacer es que se debe tener una google sheet(Hoja de cálculo de google) con los datos, para poder crear el código. Vamos suponer que tenemos una sheet que tiene una pestaña que se llama datos y ahí esta la información, vamos a crear un archivo en el editor de secuencia de comandos que se llame Code.gs y ahí ponemos este código: function doGet() { return HtmlService.createHtmlOutputFromFile("index").setTitle("Consulta por Email"); } function buscarPorEmail(email) { // Obtén la hoja de "Datos" const hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Datos"); const data = hoja.getDataRange().getValues(); // Obtener todos los datos // Busca el email en la hoja y recupera los datos correspondientes for (let i = 1; i < data.length; i++) { // Empieza en 1 para omitir los encabezados if (data[i][0] === email) { // Asumiendo que el email está en la primera columna (índice 0) return { nombre: data[i][1], // Columna de nombre departamento: data[i][2] // Columna de departamento }; } } return null; // Si no se encuentra el email } Luego creamos otro archivo tipo HTML que se llame Index (lo puedes nombrar como quieras, solo asegurate de que ese nombre sea el mismo del createHtmlOutputFromFile, ahí ingresamos el código HTML este es un ejemplo simple, pero puedes poder el del video si es el que estas utilizando: <!DOCTYPE html> <html> <body> <h3>Consulta por Email</h3> <label>Email:</label> <input type="text" id="email" oninput="buscarYCompletar()"> <br><br> <label>Nombre:</label> <input type="text" id="nombre" readonly> <br><br> <label>Departamento:</label> <input type="text" id="departamento" readonly> <script> function buscarYCompletar() { const email = document.getElementById("email").value; if (email) { google.script.run.withSuccessHandler(mostrarDatos).buscarPorEmail(email); } } function mostrarDatos(datos) { if (datos) { document.getElementById("nombre").value = datos.nombre; document.getElementById("departamento").value = datos.departamento; } else { document.getElementById("nombre").value = ''; document.getElementById("departamento").value = ''; } } </script> </body> </html> Me cuentas si te sirve, saludos

    • @armandoparedes4077
      @armandoparedes4077 Місяць тому

      @@carlosg89 entiendo lo que dices el problema o la dificultad esta en que tengo un formulario que no esta en html es un form de google que pasa los campos departamento y nombre ellos quieren que cuando ingreses al formulario ya el email lo capturó poder consultar el excel(lo hago en el archivo gs ) esos datos q obtengo mediante el correo poder colocarlos de forma automatica en forms de google

    • @armandoparedes4077
      @armandoparedes4077 Місяць тому

      function buscarPorParametros() { var ss= SpreadsheetApp.openById("1jipmctt6e3RHV-8gcrGhMMAvjrMdoeXPbHA33MDBlfc"); var sheet= ss.getSheetByName("oct-24"); var values = sheet.getSheetValues(1,1, sheet.getLastRow(), sheet.getLastColumn()); email=Session.getActiveUser().getEmail(); console.log(email); for(i=0; i <= values.length-1; i++){ if (email==values[i][5]){ nombre=values[i][1]; console.log(nombre); departamento=values[i][4] console.log(departamento); } } esta es mi funcion en el archvo gs

  • @mariafernandalicea5232
    @mariafernandalicea5232 Місяць тому

    Hola! Muchas gracias por el video. Me encantan tus tutoriales. Me queda una duda sobre cómo hacer un botón para que los correos se envíen fila por fila manualmente ¿eso sería posible?

    • @carlosg89
      @carlosg89 Місяць тому

      Hola Maria Fernanda, espero te encuentres bien y gracias por el comentario, lo que puedes hacer es modificar el código es de la siguiente manera (Te dejo comentarios en el código para que te quede fácil ir comprendiendo): function enviarEmailFilaSeleccionada() { // Acceder a la hoja de "Consolidado pedidos" const hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Consolidado pedidos"); const filaSeleccionada = hoja.getActiveCell().getRow(); // Obtiene la fila seleccionada // Verifica que no sea la primera fila (por ejemplo, si ahí están los encabezados) if (filaSeleccionada <= 1) { SpreadsheetApp.getUi().alert("Por favor selecciona una fila válida."); return; } // Obtener los datos de la plantilla y de la fila seleccionada const plantillaTexto = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Platilla Email").getRange(1, 1).getValue(); const actualEmail = hoja.getRange(filaSeleccionada, 11).getValue(); const pedido = hoja.getRange(filaSeleccionada, 3).getValue(); const cliente = hoja.getRange(filaSeleccionada, 1).getValue(); // Reemplazar los valores en la plantilla const emailTexto = plantillaTexto.replace("{name}", cliente).replace("{pedido}", pedido); const asunto = "Tu pedido #" + pedido; // Enviar el correo MailApp.sendEmail(actualEmail, asunto, emailTexto); // Mostrar una alerta de confirmación SpreadsheetApp.getUi().alert(`Correo enviado a ${cliente}`); } Para construir el botón lo puedes hacer por medio de la herramienta dibujo como lo hacemos en este video o lo puedes hacer de otra forma como muestra este otro video: ua-cam.com/video/Thp9kCdJXKw/v-deo.html Espero te sirva y quedo atento. Saludos.

    • @mariafernandalicea5232
      @mariafernandalicea5232 Місяць тому

      @ ¡muchísimas gracias por la ayuda!

  • @CabfamCabrera
    @CabfamCabrera Місяць тому

    Gracias por el Vidrio Si puedes ampliar mas la zona donde escribes sería de agradecer. Me encanta como lo explicas ayuda mucho, casi sin conocimientos en Sheets.

    • @carlosg89
      @carlosg89 Місяць тому

      El tema del zoom fue algo de falta de experiencia 😅😅, es uno de mis primero videos, pero los siguientes videos ya tienen la corrección, me encanta que te sirva el video y la idea es que podamos sacar el mayor provecho a las herramientas sin necesidad de ser unos expertos, saludos.

  • @CabfamCabrera
    @CabfamCabrera Місяць тому

    Muchas gracias, voy a ver voy a mirar en tu canal si hay app script de gs

    • @carlosg89
      @carlosg89 Місяць тому

      Hola y espero te encuentres muy bien, bienvenido y espero te pueda servir los videos de mi canal, la idea es aprender entre todos.

    • @spainvideo
      @spainvideo Місяць тому

      Te estoy muy agradecido por los videos. Con mi edad me cuesta algo retener pero pasito a pasito voy aprendiendo. Usaba en mi trabajo algo en los Excel pero esto cambia. Estoy intentando con un inputbox un desplegable para elegir una hoja para que el script se ejecute allí y otro que permita crear hoja y configurar todo con código. Las variables algunas no me funcionan. Esto lo hago por entretenimiento. Gracias por contestar y por el vidrio 😊😊😊

  • @evaristogonzalez2136
    @evaristogonzalez2136 Місяць тому

    Hola Carlos, desde Tenerife-Islas canarias- Españagracias facilitarnos tu gran trabajo, me podrian facilitar el Link con el codigo de este trabajo, seguramente estoy haciendo algo mal porque cuando implemento se me refleja el codigo en formulario. Gracias.

    • @evaristogonzalez2136
      @evaristogonzalez2136 Місяць тому

      Ya no es nesesario he conseguido solucionarlo, Gracias.

    • @carlosg89
      @carlosg89 Місяць тому

      @evaristogonzalez2136 buenos días espero te encuentres muy bien, me alegra mucho que pudiste solucionarlo, igualmente voy a seguir dejando un link que lleve al repositorio del código. Mil gracias por tus comentarios.

  • @dulcefajardo1428
    @dulcefajardo1428 Місяць тому

    Hola , estuve intentando hacer el código pero no me sirve que hago ??😢

    • @carlosg89
      @carlosg89 Місяць тому

      Hola espero te encuentres muy bien. Me puedes dar detalle del error que te sale o enviarme un pantallazo del error y una copia de código a mi correo?

    • @dulcefajardo1428
      @dulcefajardo1428 Місяць тому

      @@carlosg89claro dame tu correo

    • @dulcefajardo1428
      @dulcefajardo1428 Місяць тому

      @@carlosg89si claro te agradecería, envíame tu correo

    • @dulcefajardo1428
      @dulcefajardo1428 Місяць тому

      Si claro , envíame tu correo

    • @carlosg89
      @carlosg89 Місяць тому

      @@dulcefajardo1428 claro es carlosgarciavalencia9@gmail.com

  • @beytan10
    @beytan10 Місяць тому

    Buen video, a la espera de más

    • @carlosg89
      @carlosg89 Місяць тому

      Hola espero te encuentres muy bien. Claro que si, este es el primero de una serie sobre formularios, para el próximo le agregaremos funcionalidad y guardaremos datos en google sheet. Saludos

  • @chimboterex
    @chimboterex Місяць тому

    Gracias por su tiempo y conocimiento bendicioneS. Funciona para verlo celular

    • @carlosg89
      @carlosg89 Місяць тому

      Mil gracias pir el comentario, la idea es que se pueda adaptar a varios tipos de pantalla y para eso incluimos las elementos meta. Saludos.

  • @eduardodiaz4864
    @eduardodiaz4864 2 місяці тому

    Buenas, estoy realizando un proyecto en apps script, tengo un index.html que tiene un boton inventario, este debe abrir inventario.html, hasta aquí todo bien, luego alli hay un boton nuevo que se llama nuevo registro y debe abrir nuevoregistroinventario.html, pero no lo hace. He estado buscando una solucion y no la encuentro. Todos los tutoriales que hay son un index.html que puede abrir una pagina secundaria, pero no hay de secundaria a terciaria, y asi sucesivamente. Agradezco tu ayuda

    • @carlosg89
      @carlosg89 2 місяці тому

      Hola amigo, lo que quieres es que al dar en el boton de agregar registro se abra una ventana emergente con un formulario para ingresar los datos de la transacción, lo entiendo bien?

  • @PAAC6421
    @PAAC6421 2 місяці тому

    Al anotar la función for tal cual la escribes, me dice que tengo un error de sintaxis, podrias ayudarme.

    • @carlosg89
      @carlosg89 2 місяці тому

      Hola, espero te encuentres bien, claro que si, comparte tu código por favor para verificar cuál es el error. saludos

  • @leonardoquintana6465
    @leonardoquintana6465 3 місяці тому

    Super bueno, muchas gracias !

    • @carlosg89
      @carlosg89 3 місяці тому

      Me alegra mucho que sirva te sirva el contenido, saludos.

  • @elkinrodriguez9448
    @elkinrodriguez9448 3 місяці тому

    Hola Carlos, mira que al intentarlo me sale el siguiente error "Exception: Cannot call SpreadsheetApp.getUi() from this context.", este es el código que use siguiendo tu video y la funcion que ejecuta se llama actualizacion. function onOpen() { SpreadsheetApp.getUi() .createMenu('Ejecutar') .addItem('Actualizar Programacion', 'actualizacion') .addToUi(); } Me podrias orientar en que esta fallando por favor

    • @elkinrodriguez9448
      @elkinrodriguez9448 3 місяці тому

      Ya lo pude solucionar, tocaba cerrar la hoja y al abrirla de nuevo se ejecutaba, tal como lo dice el nombre de la funcion "onOpen", muchas gracias por tus videos me han servido mucho

  • @andykb95
    @andykb95 3 місяці тому

    Me ayudó muchísimo, gracias!! Se puede cambiar la fuente, color, tamaño e insertar imagenes en la macro??

    • @carlosg89
      @carlosg89 2 місяці тому

      Hola, espero te encuentres bien. Sí, puedes cambiar la fuente, color, tamaño e insertar imágenes en un correo enviado desde Google Sheets utilizando MailApp.sendEmail, para eso debemos hacer algunos cambios en el cóidigo ya que el correo lo estamos enviando desde un formato plano y debemos pasarlo a un formato HTML. function enviarEmails() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Consolidado pedidos"); const ult = sheet.getLastRow(); const plantillaTexto = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Platilla Email").getRange(1, 1).getValue(); for (let i = 2; i <= ult; i++) { const actualEmail = sheet.getRange(i, 11).getValue(); const pedido = sheet.getRange(i, 3).getValue(); const cliente = sheet.getRange(i, 1).getValue(); const condicion = sheet.getRange(i, 6).getValue(); const condicion2 = sheet.getRange(i, 12).getValue(); if (condicion === "ENVIADO" && condicion2 == "NO") { // Personalizar el contenido HTML const emailTexto = plantillaTexto .replace("{name}", cliente) .replace("{pedido}", pedido) .replace("{imagen}", '<img src="URL_DE_TU_IMAGEN" alt="Descripción de la imagen" style="max-width:100%; height:auto;">'); const asunto = "Tú pedido #" + pedido; // Enviar el correo en formato HTML MailApp.sendEmail({ to: actualEmail, subject: asunto, htmlBody: emailTexto }); } } } nota: Asegúrate de que la imagen sea accesible públicamente en la web y he añadido una línea para insertar una imagen en el correo. Debes reemplazar URL_DE_TU_IMAGEN con la URL de la imagen que quieras usar. Espero te sirva y quedo atento a tus comentarios

  • @ROSH1816
    @ROSH1816 3 місяці тому

    Muy buenos videos... Saludos desde México. Pregunta, que pasa si necesito mandar correos pero desde distintas cuentas, es decir, una desde info@correo, otro desde atencionclientes@correo y otro de caja@correo??? Hay personas de estás áreas que interactúan con el sheets y cada paso mandara correos desde distintas cuentas. Cómo se haría???

    • @carlosg89
      @carlosg89 2 місяці тому

      Hola amigo, espero te encuentres bien, el servicio MailApp solo enviará correos desde la cuenta que ejecuta el script. Hasta donde tengo conocimiento. Saludos y quedo atento

  • @betosilvirgo
    @betosilvirgo 3 місяці тому

    Muy bueno el video Carlos. Quisiera hacerte una consulta. Soy principiante en este tema. Mi pregunta es como puedo hacer para que los datos no se carguen en la última fila de la tabla sino q se inserte en la primera bajo el encabezados, por ejemplo en la fila 2 o sea que la información vaya desde la actual a la mas antigua. Muchas gracias

    • @carlosg89
      @carlosg89 3 місяці тому

      Hola Beto, si se puede, déjame las casillas que debería llevar el formulario y tu correo, para enviarte la solución.

  • @sergioomarruedaespinosa849
    @sergioomarruedaespinosa849 3 місяці тому

    Excelente video amigo, estoy en el mundo del desarrollo web y diseño gráfico mas o menos hace dos años y nunca habia escuchado el entorno de Apps Script, pero con tus videos aprendi la estructura y me resulto util esta herramienta, gracias..Nuevo Suscriptor..

    • @carlosg89
      @carlosg89 3 місяці тому

      Hola Sergio, muchas gracias por el apoyo, espero te sirva el contenido, saludos

  • @ElenaSepulveda-ec9mh
    @ElenaSepulveda-ec9mh 3 місяці тому

    Buenas tardes estimado. Estoy con el siguiente dilema. Tengo una hoja1 principal donde trabajo con nombre, origen,destino y otras columnas. Tengo otra hoja2 que trabajo con IMPORTRANGE para extraer ciertas columnas que son el nombre, origen y destino. agrego una nueva columna que se llama saldo. Anoto los gasto que tienen cada nombre. El problema que se me genera que al momento de eliminar una fila de la hoja1 principal se elimina automaticamente en la hoja2. Pero queda el saldo en la columna llamada saldo. Como puedo hacer que si borro una fila de la hoja1 tambien se borre completo en la hoja2. Quedo atento a su comentario.

    • @carlosg89
      @carlosg89 3 місяці тому

      Hola Elena, esto se debe a que el Importrange, es un espejo de datos de la hoja de origen, al eliminar los datos de origen en el destino también, ahora bien, como los datos de la columna saldo no son desde el origen si no que son propias de la hoja dos, por eso no se borra por completo, yo te recomiendo que por medio de app script copias datos de un origen a un destino, le agregas un disparador automático para que el script se ejecute solo, le configuras cada cuanto o en que momentos quieres que corra, le pones el saldo en la hoja destino y al script le agregamos un for con un condicional para que busque los datos en el origen y si no lo encuentra elinime toda la fila de la hoja 2, para esto necesitas una llave, puede ser el nombre, debe ser un dato que este en las dos hojas.

  • @CequelBravo-d9n
    @CequelBravo-d9n 3 місяці тому

    Buen video estimado. Como puedo hacer. Si borro un dato en A7. Quiero que se borre toda esa fila. Seria B7-C7-D7-E7...... ESTOY EN ESE DILEMA

    • @carlosg89
      @carlosg89 3 місяці тому

      Hola, espero te encuentres muy bien, este video te puede servir ua-cam.com/video/eO_qoZFZ5CM/v-deo.html puedes agregar una columna marcada como eliminar, esa puede ser la condición, entonces el script lo que hace es que si encuentra una celda con eliminar ejem A2 el elemina todo la fila, también puedes poner que si la celda A2 es vacía, solo pones las comillas en el if

  • @Imperialenrique
    @Imperialenrique 3 місяці тому

    Como puedo detener la función al cumplirse la función IF: por ejemplo si la celda es <=0 a otra celda hoja formulario celda G15 es <= a 0 de la hola stock en el rango F3:f41 este es mi código // Guardar celdas function Guardar() { var hojaActiva = SpreadsheetApp.getActiveSpreadsheet(); var FORMULARIO = hojaActiva.getSheetByName("FORMULARIO"); // Nombre de hoja del FORMULARIO var REGISTRO_ENT_SAL = hojaActiva.getSheetByName("REGISTRO_ENT_SAL"); // Nombre de hoja donde se almacenan REGISTRO_ENT_SAL // Celdas de donde se obtendrán los REGISTRO_ENT_SAL a guardar var valores = [[FORMULARIO.getRange("D9").getValue(), FORMULARIO.getRange("G9").getValue(), FORMULARIO.getRange("D11").getValue(), FORMULARIO.getRange("G11").getValue(), FORMULARIO.getRange("D13").getValue(), FORMULARIO.getRange("D15").getValue(), FORMULARIO.getRange("G15").getValue()]]; // Inyección de REGISTRO_ENT_SAL a hoja donde se almacenan REGISTRO_ENT_SAL REGISTRO_ENT_SAL.getRange(REGISTRO_ENT_SAL.getLastRow() + 1, 1, 1, 7).setValues(valores); // El "7" se cambia por cantidad de REGISTRO_ENT_SAL a almacenar

  • @gabrielasanchez-mq5rj
    @gabrielasanchez-mq5rj 3 місяці тому

    Puedo usarlo para el codigo en html en visual studio, se puede implementar el mismo codigo? o tiene que ser directamente desde App Script, o como puedo hacer?

    • @carlosg89
      @carlosg89 3 місяці тому

      Buenas tardes Gabriela, espero te encuentres muy bien, te envié la respuesta por email, pero si tienes dudas al respecto, por favor vuelve a escribirme. Saludos

  • @nico_9419
    @nico_9419 4 місяці тому

    Me salvaste la chamba jaja, graciasssssssssss

    • @carlosg89
      @carlosg89 4 місяці тому

      Hola amigo, excelente, que bueno que el contenido tenga un impacto positivo, acá estamos para ayudarnos, muchas gracias por el comentario.

  • @egar.117
    @egar.117 4 місяці тому

    ¡Muchas gracias!, me ayudó bastante el tutorial. Yo buscaba leer mi arreglo para que cada que se agregue una nueva fila, insertar una casilla de checkBox en cierta columna y tu código me sirvió de guía y base. ¡Sigue así! Y gracias por tus contribuciones, nos ayudan bastante.

    • @carlosg89
      @carlosg89 4 місяці тому

      Excelente amigo, me alegra mucho que sea de utilidad, precisamente la idea con estos videos es poder resolver retos que se nos presenten o por lo menos que sirvan de base, muchas gracias por el comentario. Saludos

  • @camilopuentes8216
    @camilopuentes8216 4 місяці тому

    eres un crack Gracias. Pregunta como puedo seleccionar desde una tabla, es decir se puede usar llamando solo la tabla, o si o si necesito llamar la hoja. tks

    • @carlosg89
      @carlosg89 4 місяці тому

      Hola Camilo, espero te encuentres muy bien si la tabla se encuentra en un rango, se puede tomar este dentro del script, pero siempre debes activar el archivo y la hoja a la que debe apuntar el Script. Saludos y quedo atento.

  • @ignacios3992
    @ignacios3992 4 місяці тому

    Excelente, gracias por la explicación, necesitaba el formato de hora luego de enviar los datos

    • @carlosg89
      @carlosg89 4 місяці тому

      Hola, espero te encuentres bien, que bueno que te sirva. Saludos

  • @diegojesusmelgarchacon4987
    @diegojesusmelgarchacon4987 4 місяці тому

    Hola Carlos, buenos dias. Porfavor podrias hcer un video donde se elimine una fila en base a un dato duplicado en una columna. gracias

    • @carlosg89
      @carlosg89 4 місяці тому

      Hola Diego, claro que sii, sus aportes son muy importantes para que podamos construir conocimiento juntos

  • @marvinzepeda1951
    @marvinzepeda1951 5 місяців тому

    Carlos G, te cuento que a mi no me dejo ejecutar, textualmente esto me sale "Este proyecto requiere que concedas acceso a tus datos", que hago en este caso :(.

    • @carlosg89
      @carlosg89 5 місяців тому

      Hola, espero te encuentres bien, es un tema de permisos, le debes dar permiso al script para que ejecute, cuando le des ejecutar te debe aparecer una ventana que te pide los permisos, le das los permisos y el script se dede ejecutar, también ten en cuenta que debes tener permisos como editor en ambos archivos o ser el dueño

    • @marvinzepeda1951
      @marvinzepeda1951 5 місяців тому

      @@carlosg89 sii, mil gracias lo logre... gracias.... en tu canal hay algún tutorial para agregar un botón de actualización? :)

    • @carlosg89
      @carlosg89 5 місяців тому

      Super, me alegra que lo lograste, cualquier cosa me dejas el comentario para ayudarte. Existe uno video sobre como crear un menú que básicamente funciona igual que un botón y se ejecuta como opción más de la barra de opciones ua-cam.com/video/Thp9kCdJXKw/v-deo.htmlsi=FyrciEp96c6oUq1d

    • @marvinzepeda1951
      @marvinzepeda1951 5 місяців тому

      Lo veré y lo pondré en práctica, gracias... por cierto estoy suscrito 💪.

  • @DisenoParaNoDisenadores
    @DisenoParaNoDisenadores 5 місяців тому

    Eso Litos!!!!! 🥳💪✨

  • @JuanEduardoBarrientosBautista
    @JuanEduardoBarrientosBautista 6 місяців тому

    Muchas gracias estimado amigo, necesitaba tu valiosa ayuda. Un abrazo.

    • @carlosg89
      @carlosg89 5 місяців тому

      Hola, me encanta que el contenido sea de ayuda, saludos

  • @aleseverino2641
    @aleseverino2641 6 місяців тому

    Hola, tengo una planilla con varios scripts asignados a botones. Cuando uso en la PC funciona correctamente, cuando pulso el botón desde el móvil solo me seleccionar para editar el botón, nisiquiera reconoce que tenga una función asignada. Cómo puedo solucionarlo?

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola, cómo estás?. Los botones en Google Sheets están diseñados principalmente para la interfaz de escritorio. En la versión móvil de Google Sheets, la interacción con los botones no funciona de la misma manera. En lugar de ejecutar la función asignada, los botones suelen permitir la edición, lo cual es una limitación de la plataforma móvil. una alternativa que se puede hacer es crear un menú personalizado en la hoja de cálculo que permita ejecutar los scripts. Los menús personalizados funcionan tanto en la versión de escritorio como en la versión móvil de Google Sheets, te dejo el ejemplo del código para agregar el menú function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Mi Menú Personalizado') .addItem('Ejecutar Script 1', 'miFuncion1') .addItem('Ejecutar Script 2', 'miFuncion2') .addToUi(); } function miFuncion1() { // Tu código para la función 1 } function miFuncion2() { // Tu código para la función 2 } otra de las opciones es utilizar una función onEdit para que se ejecuten las macros, esa forma es la que se utiliza en el video que comentas. Saludos y espero sea de utilidad las respuestas

  • @MarthaAbigailMaciasGiler
    @MarthaAbigailMaciasGiler 6 місяців тому

    si borro un registro de la hoja donde cojo los datos, tambien se me borra en la hoja que cree del macro ? o permanece

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola Martha, espero te encuentres muy bien, disculpe pero si comprendo bien, si borras un dato en una hoja, no se debería borrar en la otra hoja, ahora bien y solo para aclarar, con el código de este video si copias datos de una hoja a otra, los datos se van a sobre escribir. Saludos

  • @alemarcano1762
    @alemarcano1762 6 місяців тому

    excelente! me sirvio muchisimo

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola, me alegra mucho que te sirvió, ese es el sentido del canal, crear contenido que les ayude a resolver las dudas, adicionalmente recuerda que tenemos otro video similiar a este, pero que consolida los datos, lo que permite guardar un historial sin necesidad de reemplazar los datos ya copiados. ua-cam.com/video/ZTu7svhIMsc/v-deo.html

  • @Hectorhernandez-jk4wq
    @Hectorhernandez-jk4wq 6 місяців тому

    Buenas tardes estimado, consulta. Como puedo eliminar toda una columna. Al momento de borrar un dato de la primera fila. Que puede ser a1, a10, etc. Lo que quiero decir que al momento de borrar un dato se elimine toda la columna.

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola Hector, para eliminar toda una columna en Google Sheets al borrar un dato en la primera fila de esa columna utilizando Google Apps Script, puedes aprovechar el disparador onEdit. Este disparador se activa cada vez que se edita una celda en la hoja. Ejemplo: function onEdit(e) { const sheetName = 'NombreDeTuHoja'; // Cambia esto por el nombre de tu hoja específica const sheet = e.source.getSheetByName(sheetName); const range = e.range; // Asegúrate de que la edición ocurra en la hoja específica if (!sheet || sheet.getName() !== sheetName) { return; } // Verificar si la celda editada está vacía (borrada) if (range.getValue() === '') { const column = range.getColumn(); sheet.deleteColumn(column); } }

  • @CatalinaLondono-cr7ip
    @CatalinaLondono-cr7ip 6 місяців тому

    Carlos buen día, quisiera saber si existe la posibilidad de que automáticamente el archivo envíe los mensajes sin necesidad de darle que ejecute. Por ej yo le puse la condición que cuando el estado sea "Pendiente de facturación", me envíe un recordatorio, pero no quisiera tener que entrar todos los días y darle que ejecute el comando de envío de correos. No sé si esto sea posible, gracias!!

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola Catalina, lo que puedes hacer es crear un activador sin necesidad de código, para eso haces lo siguiente: En el Editor de Apps Script, haz clic en el ícono de reloj (⏰) Activadores en la barra de menú a la izquierda de frente a la pantalla, luego en la parte inferior derecha vas a ver una opción llamada añadir activador, luego se te abre una venta emergente y en la primera opción pones el nombre de la función que deseas que se ejecute, en la segunda opción dejas principal, luego en la opción que se llama selecciona la fuenta del evento hay varias posibilidades, selecciona según tiempo, escoge que alternativa se te acopla mejor a tu necesidad, por ejemplo yo utilizo mucho la que dice temporizador por días y luego en la opción siguiente escojo el rango de horas que se ajusta, ejemplo entre 8:00 a 9:00 (rango de horas en formato militar), esto va a crear un activador que ejecuta el código de forma automatica sin necesidad de código, es una muy buena opción que ahorra tiempo. adicional de adjunto un video al respecto. ua-cam.com/video/bvAOQKSb5kw/v-deo.html

    • @CatalinaLondono-cr7ip
      @CatalinaLondono-cr7ip 6 місяців тому

      @@carlosg89 Genial! Ya lo pude automatizar completamente! muchas gracias por tu respuesta

  • @josegutierrez-hf8px
    @josegutierrez-hf8px 7 місяців тому

    amigo tengo un archivo con varias macros y necesito ejecutarlas desde un celular, logre ejecutar una insertando una casilla de verificación y asociandola a una funcion on edit ... necesito hacer lo mismo con otras macros pero no lo he logrado siempre se ejecuta solo una, acaso hay un limitante y solo se puede usar un on edit ? obviamente cada macro o funcion tiene su nombre distinto pero no logro llamarlas aiudaaaaaaa

    • @carlosg89
      @carlosg89 6 місяців тому

      Hola Jose, para ejecutar múltiples macros desde un dispositivo móvil utilizando casillas de verificación y la función onEdit, es importante tener en cuenta cómo funciona el disparador onEdit. El disparador onEdit se activa cada vez que se edita la hoja, pero solo puede ejecutar una función a la vez. Sin embargo, puedes diseñar tu código para manejar múltiples casillas de verificación y ejecutar diferentes macros en función de cuál casilla de verificación se ha editado. Acá un ejemplo: Supongamos que tienes 3 casillas de verificación en las columnas A1, B1, C1 // Función onEdit que maneja múltiples casillas de verificación function onEdit(e) { const sheet = e.source.getActiveSheet(); const range = e.range; const value = e.value; // Asegúrate de que solo reaccione a cambios en la hoja deseada const targetSheetName = 'Sheet1'; // Cambia esto por el nombre de tu hoja if (sheet.getName() !== targetSheetName) { return; } // Identifica la casilla de verificación que se editó y ejecuta la macro correspondiente switch (range.getA1Notation()) { case 'A1': if (value === 'TRUE') { myMacro1(); } break; case 'B1': if (value === 'TRUE') { myMacro2(); } break; case 'C1': if (value === 'TRUE') { myMacro3(); } break; } } // Ejemplos de macros function myMacro1() { // Código de la primera macro SpreadsheetApp.getActiveSpreadsheet().toast('Macro 1 ejecutada'); } function myMacro2() { // Código de la segunda macro SpreadsheetApp.getActiveSpreadsheet().toast('Macro 2 ejecutada'); } function myMacro3() { // Código de la tercera macro SpreadsheetApp.getActiveSpreadsheet().toast('Macro 3 ejecutada'); } Saludos y espero te sirva

  • @pablocar2
    @pablocar2 7 місяців тому

    Hay alguna manera de hacer una copia de una hoja de cálculo y me conserve, además de la líneas de código, los activadores?. No encuentro la manera de hacerlo por ningún lado.

    • @carlosg89
      @carlosg89 7 місяців тому

      Actualmente no hay una forma directa de copiar activadores a través de la API de Google Apps Script. Por lo tanto, tendrías que recrear los activadores en la copia de la hoja de cálculo manualmente.

  • @isabelmolinaruiz912
    @isabelmolinaruiz912 7 місяців тому

    Como se coloca una imagen

    • @carlosg89
      @carlosg89 7 місяців тому

      Hola Isa un ejemplo puede ser este: <!DOCTYPE html> <html> <head> <base target="_top"> </head </head> <body> <h1>Nombre imagen</h1> <img src="drive.google.com/uc?id=ID_DE_LA_IMAGEN" alt="Mi imagen"> </b> </body> </html> con el elemento img el código sabe que vas a poner una imagen y con src traes el link donde tieenes la imagen, asegurate que el link sea de acceso publico para garantizar que funcione. Saludos

  • @marcelovelez946
    @marcelovelez946 7 місяців тому

    Hola, Carlos! Primeramente felicitarte y agradecerte por compartir tu conocimiento. Requiero por favor tu ayuda y/o recomendación(es) con la automatización de lo siguiente: Que me recomiendas o sugieres para automatizar el proceso para la integración de Google Sheet y Excel. Necesito automatizar una base de datos de Control y Seguimiento de Pedido de Producto, para el efecto tengo el escenario siguiente: Un SOLICITANTE (Que inicia el REQUERIMIENTO mediante HOJA de Google Sheet) El RESPONSABLE (Pedido y/o Compra), que continúa el proceso mediante una HOJA de Excel. El desafío es lograr interactuar (Conectar / Integrar) la Hoja de Cálculo de Google (SOLICITANTE) Sheet y Excel (RESPONSABLE Pedido y/o Compra), que a medida que se realice un cambio y/o modificación se refleje en el otro archivo. Los campos de la Base de datos, que tengo mi desafío de automatizar el proceso (Integrar si vale el término), son los siguientes: SOLICITANTE / N° REQUERIMIENTO / ID Producto / Descripción Producto / QNT / Observación(es)_1 / Adjunto_ SOLICITANTE/ QNT Disponibilidad Inventario / Observación(es)_2 / N° PEDIDO / QNT Disponibilidad Proveedor / QNT Solicitada Proveedor / Observación(es)_3 / Adjunto_RESPONSABLE / Status_PEDIDO(Iniciado, Cotización, Pago, Conf. Embarque, Embarque, Transito, Almacén) / Observación(es)_4 / No O.C. / Observación(es)_5 / Fecha estimada Entrega / Fecha Entrega / Observación(es)_6 / Fecha Estimada de Llegada Almacén / Fecha de Llega Almacén / Observación(es)_7 / Fecha Estimada Disponibilidad Sistema / Fecha Disponibilidad Sistema/ Observación(es)_8 El SOLICITANTE, inicia el REQUERIMIENTO en la HOJA Google Sheet, registrando la información, en los campos siguientes: SOLICITANTE / N° REQUERIMIENTO / ID Producto / Descripción Producto / QNT Requerida Mínima / QNT Requerida Máxima / Observación(es)_1 / Adjunto SOLICITANTE. El RESPONSABLE de la Gestión de Pedido y/o Compra, pueda ver en su HOJA de Excel, el/los Requerimiento(s) del SOLICITANTE registrados en la Hoja Google Sheet , es decir, que con dicha información inicia la Gestión de Pedido y/o Compra. Iniciada la Gestión de Compra, el El RESPONSABLE de la Gestión de Pedido y/o Compra, tiene que ir llenando (Registrando) los Campos, siguientes: QNT Disponibilidad Inventario / Observación(es)_2 / N° PEDIDO / QNT Disponibilidad Proveedor / QNT Solicitada Proveedor / Observación(es)_3 / Adjunto_RESPONSABLE / Status_PEDIDO(Iniciado, Cotización, Pago, Conf. Embarque, Embarque, Transito, Almacén) / Observación(es)_4 / No O.C. / Observación(es)_5 / Fecha estimada Entrega / Fecha Entrega / Observación(es)_6 / Fecha Estimada de Llegada Almacén / Fecha de Llega Almacén / Observación(es)_7 / Fecha Estimada Disponibilidad Sistema / Fecha Disponibilidad Sistema/ Observación(es)_8 El registro y/o modificación que realiza el RESPONSABLE de la Gestión de Pedido y/o Compra en la HOJA de Excel, tiene que reflejarse en la Hoja de Google Sheet del SOLICITANTE. Se simplificará muchísimo si todo se manejase en una sola base de datos, ya sea Google Sheet o Excel. El motivo obedece a que tengo un problema de afinidad con las personas que interactúan y/o participan en el procedimiento . Uno es más afín a Google Sheet y el otro a Excel, lo que a la vez hace interesante el desafío.. Espero haberme dado a comprender… 😀 Quedo atento a tu comentario y/o recomendaciones para el desarrollo del presente desafío. De antemano gracias por la atención y respuesta al presente. Saludos cordiales, Vélez Marcelo