Scripts de Office: trabajar con hojas de trabajo
- Usando esta publicación
- Refiriéndose a las hojas de trabajo
- Contando hojas de trabajo
- Recorrer las hojas de trabajo.
- Comprobar si existe la hoja de trabajo.
- Agregar hojas de trabajo
- Eliminar hojas de trabajo
- Copiar hojas de trabajo
- Nombrar hojas de trabajo
- Cambiar la posición de la hoja de trabajo
- Visibilidad de la hoja de trabajo
- Protección de la hoja de trabajo
- Activar hojas de trabajo
Algunas de las acciones de automatización de Excel más comunes implican la gestión de hojas de trabajo. Ahora que tenemos Office Scripts como herramienta de automatización dentro de Excel Online, es hora de aprender a usar hojas de cálculo dentro de este nuevo entorno.
Si ha escrito macros VBA anteriormente, muchos de los principios se transferirán directamente a Office Scripts. Hay una nueva sintaxis que aprender, pero esta guía de referencia le ayudará a iniciar la transición.
Si es la primera vez que automatiza Excel, esta guía de referencia será un buen comienzo para comprender el modelo de objetos del documento de la hoja de cálculo.
Si bien no es esencial leer esta publicación de principio a fin, hacerlo le brindará una base sólida. También puede resultar útil responder otras preguntas que surgirán más adelante.
Usando esta publicación
Esta publicación pretende ser una guía de referencia que le ayudará a crear sus propios scripts de Office. El objeto Hoja de trabajo es enorme; Hay tantas cosas que podríamos hacer que simplemente no podemos cubrir todas las opciones. Usar y adaptar el código en esta publicación debería cubrir el 99% de las acciones que alguna vez necesitarías usar.
Para la mayoría de los ejemplos, el código se ha estructurado de forma estándar. Primero, las variables se declaran en hojas de trabajo que se les asignan; entonces se utilizan esas variables. Esta coherencia debería ayudar a adaptar el código a sus propias necesidades.
Algunos ejemplos utilizan el registro de la consola para generar un resultado. En el mundo real, es poco probable que utilices este enfoque. Se utiliza aquí como una forma sencilla de proporcionar un resultado para un código que de otro modo no proporcionaría ningún resultado visual.
Refiriéndose a las hojas de trabajo
En esta sección, veremos cómo hacer referencia a hojas de trabajo y asignarlas a una variable. Hacer referencia a hojas de trabajo no proporciona ningún resultado visible; Sin embargo, es el punto de partida de la mayoría de los ejemplos del resto de la publicación. Entonces, lo que aprenderemos aquí se utilizará una y otra vez.
Todas las variables en esta sección se declaran con el nombre de ws y se pueden usar en lugar de cualquier otra variable de ws creada en el resto de la publicación.
Hacer referencia a una sola hoja de trabajo por nombre
El siguiente código asigna una única hoja de trabajo llamada Hoja1 a la variable ws utilizando el método getWorksheet. El parámetro dentro de getWorksheet debe ser la cadena de texto que contiene el nombre de la hoja de trabajo.
//Asigne la hoja de trabajo "Hoja1" a la variable ws let ws = workbook.getWorksheet( "Hoja1" );
Acerca de getWorksheet
Propósito: Obtiene una hoja de trabajo usando su nombre o ID.
Sintaxis: ExcelScript.workbook.getWorksheet();
Parámetros: Ninguno
Devuelve: ExcelScript.Worksheet
Hacer referencia a una sola hoja de trabajo por posición
Para hacer referencia a una hoja de trabajo por posición, use su número dentro de la colección de hojas de trabajo. getWorksheets es el método utilizado para obtener la colección de todas las hojas de trabajo dentro del libro.
Como Office Scripts tiene una base cero, la primera hoja de trabajo es [0], la segunda hoja de trabajo es [1], y así sucesivamente.
//Asigne la primera hoja de trabajo a la variable ws let ws = workbook.getWorksheets()[ 0 ];//Asigne la segunda hoja de trabajo a la variable ws let ws = workbook.getWorksheets()[ 1 ];
Acerca de getWorksheets
Propósito: Representa la colección de hojas de trabajo asociadas con el libro de trabajo.
Sintaxis: ExcelScript.workbook.getWorksheets();
Parámetros: Ninguno
Devuelve: ExcelScript.Worksheet[]
Haga referencia a la hoja de trabajo activa
La hoja de trabajo activa es la hoja actualmente seleccionada en la interfaz de Excel. getActiveWorksheet es el método utilizado para hacer referencia a la hoja de trabajo activa.
//Asigna la hoja de trabajo activa a la variable ws let ws = workbook.getActiveWorksheet();
Al momento de escribir este artículo, no es posible seleccionar más de una hoja de cálculo dentro de la interfaz en línea de Excel; por lo tanto, la hoja de trabajo activa siempre es la misma que la hoja de trabajo seleccionada. Esto es diferente a la versión de escritorio de Excel, donde es posible seleccionar varias hojas al mismo tiempo.
Acerca de getActiveWorksheet
Propósito: Obtiene la hoja de trabajo actualmente activa en el libro.
Sintaxis: ExcelScript.workbook.getActiveWorksheet();
Parámetros: Ninguno
Devuelve: ExcelScript.Worksheet
Haga referencia a la primera hoja de trabajo.
Como se muestra en el código siguiente, podemos hacer referencia a la primera hoja de trabajo usando la posición [0] dentro de la colección de hojas de trabajo.
//Asigne la primera hoja de trabajo a la variable ws let ws = workbook.getWorksheets()[ 0 ];
Sin embargo, existe una forma mejor: utilizar el método getFirstWorksheet.
//Asigne la primera hoja de trabajo a la variable ws let ws = workbook.getFirstWorksheet();
El método getFirstWorksheet tiene un parámetro opcional para incluir solo la primera hoja de trabajo visible. El siguiente código demuestra este parámetro.
//Asigne la primera hoja de trabajo visible a la variable ws let ws = workbook.getFirstWorksheet( true );
Acerca de getFirstWorksheet
Propósito: Obtiene la primera hoja de trabajo de la colección de hojas de trabajo.
Sintaxis: ExcelScript.Workbook.getFirstWorksheet(¿solo visible?);
Parámetros: visibleonly : verdadero/falso: un parámetro opcional para determinar si se hace referencia a la primera hoja de trabajo visible (verdadero) oa todas las hojas de trabajo (falso).
Devuelve: ExcelScript.Hoja de trabajo
Haga referencia a la última hoja de trabajo.
Al igual que al hacer referencia a la primera hoja de trabajo, podríamos usar la posición dentro de la colección de hojas de trabajo. Sin embargo, como la cantidad de hojas de trabajo puede variar, usar el método de recopilación se vuelve más complicado porque primero debemos contar las hojas de trabajo.
El siguiente ejemplo muestra cómo contar las hojas de trabajo y luego hacer referencia a la última.
//Cuenta las hojas de trabajo let wsCount = workbook.getWorksheets().length;//Asigne la última hoja de trabajo a la variable ws let ws = workbook.getWorksheets()[wsCount - 1 ];
Si utiliza este enfoque, recuerde que los scripts de Office comienzan a numerar los elementos de la colección en 0, pero la propiedad de longitud comienza a contar en 1. Por lo tanto, debemos usar menos 1 del recuento de la hoja de trabajo para obtener el número correcto de posición de la hoja de trabajo.
Para hacer referencia a la última hoja de trabajo, es mucho más fácil utilizar el método getLastWorksheet, como se muestra a continuación.
//Asigna la última hoja de trabajo a la variable ws let ws = workbook.getLastWorksheet();
Al igual que getFirstWorksheet, el método getLastWorksheet también tiene un parámetro opcional para incluir solo hojas de trabajo visibles. El siguiente código demuestra cómo hacer referencia a la última hoja de trabajo visible.
//Asigna la última hoja de trabajo visible a la variable ws let ws = workbook.getLastWorksheet( true );
Acerca de getLastWorksheet
Propósito: Obtiene la última hoja de trabajo de la colección.
Sintaxis: ExcelScript.Workbook.getLastWorksheet(¿solo visible?);
Parámetros: visibleonly : verdadero/falso: un parámetro opcional para determinar si se hace referencia a la última hoja de trabajo visible (verdadero) oa todas las hojas de trabajo (falso).
Devuelve: ExcelScript.Hoja de trabajo
Contando hojas de trabajo
En los ejemplos anteriores, ya hemos visto que hay ocasiones en las que es posible que necesitemos contar el número de hojas de trabajo. Para ello, podemos utilizar la propiedad de longitud de la colección de hojas de trabajo.
contar hojas de trabajo
El siguiente código muestra la cantidad de hojas de trabajo en el registro de la consola.
//Asigne la colección de hojas de trabajo a la variable wsArr let wsArr = workbook.getWorksheets();//Muestra el número de elementos de la variable wsArr en el registro de la consola console.log(wsArr.length);
Las colecciones comienzan su número de posición con una base cero, pero la propiedad de longitud comienza a contar desde cero. Por lo tanto, si usa la longitud para referirse a una posición dentro de la colección, recuerde restablecer 1.
Acerca de la longitud
Propósito : Obtiene la cantidad de elementos en la colección/matriz de la hoja de trabajo.
Sintaxis : MatrizExcelScript.Hoja de trabajo.longitud;
Parámetros: Ninguno
Devuelve: número
Recorrer las hojas de trabajo.
La mayoría de las acciones sólo se pueden completar una hoja a la vez. Por lo tanto, para realizar la misma acción en varias hojas, debemos recorrer y ejecutar el mismo código en cada una.
En esta sección, analizamos el bucle For y el bucle forEach como dos opciones.
Para recorrer todas las hojas de trabajo.
El siguiente código comienza asignando la colección de hojas de trabajo a una variable llamada wsArr. Luego usamos un bucle para recorrer cada hoja de trabajo de la colección utilizando su posición.
El código entre las dos llaves es la acción aplicada para cada hoja de trabajo. En este ejemplo, el nombre de cada hoja de trabajo se muestra en el registro de la consola.
//Asigne la colección de hojas de trabajo a la variable wsArr let wsArr = workbook.getWorksheets();//Recorre todas las hojas de trabajo de la colección wsArr for ( let i = 0 ; i wsArr.length ; i++) { / /Mostrar el nombre de la hoja de trabajo en el registro de la consola console.log(wsArr[i].getName()); };
El bucle para consta de tres partes, que están separadas por punto y coma (;).
- i = 0 : el primer parámetro es el inicializador. Se utiliza como variable numérica.
- i wsArr.length : el bucle se ejecuta mientras esta condición siga siendo verdadera.
- i++ : el argumento final se incrementa a través de la variable i en intervalos específicos. i++ agrega 1 a la variable i cada vez.
Como podemos controlar cada uno de los tres parámetros, el bucle para nosotros nos brinda mucha flexibilidad.
forEach recorre todas las hojas de trabajo
El bucle forEach realiza la acción contenida entre llaves en cada elemento de la colección de hojas de trabajo. No importa cuántos elementos haya en la colección, todos están cubiertos dentro del alcance del bucle.
En este ejemplo, el nombre de cada hoja de trabajo se muestra en console.log.
//Asigne la colección de hojas de trabajo a la variable wsArr let wsArr = workbook.getWorksheets();//Recorre todas las hojas de trabajo de la colección de hojas de trabajo de wsArrwsArr.forEach(ws = { //Mostrar el nombre de la hoja de trabajo en el registro de la consola console.log(ws.getName()); });
Comprobar si existe la hoja de trabajo.
Con Office Scripts, si hacemos referencia a una hoja de trabajo que no existe, no generará un error automáticamente. En su lugar, se devuelve un valor indefinido.
El siguiente ejemplo asigna una hoja de trabajo a una variable. Luego, el código usa la lógica para determinar qué hacer si el valor de la variable no está definido (es decir, la hoja no existe). Se puede lograr mucho más con la lógica de Office Scripts, pero eso está fuera del alcance de esta publicación. Este ejemplo es para ilustrar el concepto.
//Asigne la hoja de trabajo "Hoja1" a la variable ws let ws = workbook.getWorksheet( "Hoja1" );//Comprueba si la variable ws no está definida. Si la hoja de trabajo indefinida no existe. //Si está definido, existe una hoja de trabajo if (ws == undefinido ) { //Muestra un mensaje si la hoja de trabajo no existe console.log( "La hoja de trabajo no existe" ); //usa retorno; para detener cualquier ejecución adicional de código return ;} demás { //Inserte código si la hoja de trabajo existe console.log( "La hoja de trabajo existe" );};
Agregar hojas de trabajo
Para agregar una nueva hoja de trabajo, usamos el método addWorksheet.
Acerca de addWorksheet
Propósito : Agrega una nueva hoja de trabajo al libro. La hoja de trabajo se agregará al final de las hojas de trabajo existentes.
Sintaxis: ExcelScript.Workbook.addWorksheet(¿nombre?);
Parámetros: nombre : cadena: un parámetro opcional utilizado para establecer el nombre de la nueva hoja de trabajo. Si se utiliza, el nombre debe ser único. Si no se utiliza, Excel determinará el nombre de la hoja de trabajo.
Devuelve: ExcelScript.Hoja de trabajo
Agregar una hoja de trabajo
Los siguientes son ejemplos básicos de cómo agregar una hoja de trabajo.
//Agregar una hoja de trabajolibro de trabajo.addWorksheet();//Agregar una hoja de trabajo y asígnala a la variable ws let ws = workbook.addWorksheet();
Agregar hoja de trabajo con un nombre
El siguiente fragmento de código utiliza el parámetro opcional del método addWorksheet. La nueva hoja de trabajo recibe el nombre de la cadena contenida entre corchetes.
//Agregar una hoja de trabajo con el nombre workbook.addWorksheet( "NewSheetName" );//Agregar una hoja de trabajo con un nombre y asígnela a la variable ws let ws = workbook.addWorksheet( "NewSheetName" );
Crear múltiples hojas de trabajo
Las hojas de trabajo se crean una a la vez, por lo que para crear varias hojas de trabajo, podemos usar un bucle para . El siguiente ejemplo crea 3 nuevas hojas de trabajo.
//Usando un bucle for para crear múltiples hojas de trabajofor (let i = 0; i = 2; i++) { workbook.addWorksheet();}
Eliminar hojas de trabajo
Para eliminar una hoja de trabajo, utilizamos el método deleteWorksheet.
Acerca de deleteWorksheet
Propósito: Elimina la hoja de trabajo del libro. Tenga en cuenta que si la visibilidad de la hoja de trabajo está configurada en veryHidden, la operación de eliminación fallará con una excepción de operación inválida. Primero debes cambiar su visibilidad a oculta o visible antes de eliminarla.
Sintaxis: ExcelScript.Worksheet.delete(posición);
Parámetros: Ninguno
Devuelve: nulo
Eliminar una hoja de trabajo
El siguiente ejemplo elimina la Hoja1 del libro de trabajo.
//Asignar la hoja de trabajo "Hoja1" a la variable ws ws = workbook.getWorksheet("Hoja1");//Eliminar la hoja de trabajo wsws.delete();
Eliminar todo excepto una hoja específica
El siguiente fragmento de código elimina todas las hojas de trabajo excepto la Hoja1.
El bucle for se utiliza para eliminar todas las hojas de trabajo. Dado que las hojas de trabajo muy ocultas no se pueden eliminar, el siguiente código incluye una acción para ocultar las hojas de trabajo antes de eliminarlas.
//Asigne la colección de hojas de trabajo a la variable wsArrlet wsArr = workbook.getWorksheets();//Asigne la hoja de trabajo "Hoja1" a la variable wsToKeepletwsToKeep=workbook.getWorksheet("Sheet1");//Recorra todas las hojas de trabajo en la colección de hojas de trabajo para (let i = wsArr.length - 1; i = 0; i--) { //Compruebe si el elemento de la colección wsArr es igual a la variable wsToKeep //Continúe solo si no es igual a if(wsArr[i]. getName() != wsToKeep.getName()) { //Ocultar la hoja de trabajo antes de eliminarla para eliminar el riesgo de error wsArr[i].setVisibility(ExcelScript.SheetVisibility.hidden) //Eliminar la hoja de trabajo wsArr[i].delete( ); };}
Copiar hojas de trabajo
En Excel en línea, copiar hojas de cálculo no es tan potente como en la versión de escritorio. Esto se debe a que Excel en línea tiene un alcance de libro de trabajo, lo que significa que solo podemos copiar hojas de trabajo dentro del mismo libro.
Para copiar una hoja de trabajo, utilizamos el método de copia.
about copy
Propósito: Copia una hoja de trabajo y la coloca en la posición especificada.
Sintaxis: ExcelScript.Worksheet.copy(positionType?, relativoTo?);
Parámetros:
- positionType: ExcelSript.WorksheetPositionType: un parámetro opcional para establecer la ubicación de la hoja de trabajo recién creada en el libro. El valor predeterminado es "ninguno", que inserta la hoja de trabajo al principio del libro.
- relativo a: ExcelScript.Worksheet: requiere un objeto de hoja de trabajo que determina la posición relativa de la hoja de trabajo recién creada. Esto sólo es necesario si positionType se establece en antes o después
Devuelve: ExcelScript.Hoja de trabajo
Tenga en cuenta que existe un tratamiento inconsistente entre el método addWorksheet y el método de copia. addWorksheet coloca la nueva hoja de trabajo al final de la colección, mientras que copycrea la hoja de trabajo al principio de la colección.
Copiar una hoja de trabajo
El siguiente código copia la Hoja1 y la coloca en la primera posición.
//Asigna la hoja de trabajo "Hoja1" a la variable wslet ws = workbook.getWorksheet("Sheet1");//Copia una hoja de trabajo en la primera posiciónletwsNew=ws.copy();
Copiar una hoja de trabajo a una posición específica
El siguiente código copia la Hoja1 y coloca las nuevas hojas en todas las posiciones disponibles. Cuando utilizamos las opciones antes y después, requerimos un argumento adicional: la hoja de trabajo para la cual la hoja copiada debe colocarse antes o después. El código usa Sheet4 como posición relativa cuando se usan opciones antes o después.
//Asigne la hoja de trabajo "Hoja1" al variablelet ws ws = workbook.getWorksheet("Hoja1");//Asigne la hoja de trabajo "Hoja4" al variablelet relativoWs relativoWs = workbook.getWorksheet("Hoja4"); //Copiar la hoja de trabajo de ws, con la versión copiada colocada antes //de la hoja de trabajo de relativaWs newWs = ws.copy(ExcelScript.WorksheetPositionType.before, relativaWs);//Copiar la hoja de trabajo de ws, con la versión copiada colocada después de //de relativaWs hoja de trabajo newWs = ws.copy(ExcelScript.WorksheetPositionType.after, relativoWs);//Copiar la hoja de trabajo de ws, con la versión copiada colocada al principiolet newWs = ws.copy(ExcelScript.WorksheetPositionType.beginning);//Copiar la hoja de trabajo de ws , con la versión copiada colocada en el final newWs = ws.copy(ExcelScript.WorksheetPositionType.end);//Copie la hoja de trabajo de ws, con la versión copiada colocada en la posición predeterminada, //que es el comienzo newWs = ws.copy (ExcelScript.WorksheetPositionType.ninguno);
Nombrar hojas de trabajo
Todas las hojas de trabajo tienen nombres. Para obtener el nombre de una hoja de trabajo, utilice el método getName; para cambiar el nombre, utilice el método setName.
Obtener el nombre de una hoja de trabajo
El siguiente script muestra el nombre de la primera hoja de trabajo en el registro de la consola. Cambie el número entre corchetes para recuperar los nombres de otros elementos de la colección de hojas de trabajo.
//Asigna la hoja de trabajo a la variable ws según positionletws=workbook.getWorksheets()[0];//Muestra el nombre de la hoja de trabajo ws en la consola logconsole.log(ws.getName());
Acerca de getName
Propósito: Devuelve el nombre de la hoja de cálculo
Sintaxis: ExcelScript.Worksheet.getName();
Parámetros: Ninguno
Devuelve: cadena
Nombra una hoja de trabajo
Para nombrar una hoja de trabajo, usamos el método setName. El siguiente ejemplo cambia el nombre de una hoja de trabajo de Hoja1 a Hoja4.
//Asignar la hoja de trabajo "Hoja1" a la variable ws ws = workbook.getWorksheet("Hoja1");//Cambiar el nombre de la hoja de trabajo wsws.setName("Hoja4");
Acerca de setName
Propósito: Cambia el nombre para mostrar de la hoja de trabajo.
Sintaxis: ExcelScript.Worksheet.setName(nombre);
Parámetros: nombre: cadena: el nombre que se utilizará para la hoja de trabajo. Se aplican las reglas normales de denominación de hojas.
Devoluciones: nulas
Cambiar la posición de la hoja de trabajo
Ya hemos visto que las hojas de trabajo tienen una posición dentro de la colección de hojas de trabajo. Para recuperar la posición de una hoja de trabajo, use el método getPosition y para cambiar la posición, use el método setPosition.
Obtener la posición de la hoja de trabajo
El siguiente ejemplo de código utiliza el método getPosition para mostrar la posición de la hoja de trabajo de Sheet1 en el registro de la consola.
//Asigna la hoja de trabajo "Hoja1" a la variable wsletws=workbook.getWorksheet("Sheet1");//Muestra la posición de la hoja de trabajo ws en la consola logconsole.log(ws.getPosition());
Acerca de getPosition
Propósito: Recupera la posición de base cero de la hoja de trabajo dentro de la colección de libros.
Sintaxis: ExcelScript.Worksheet.getPosition();
Parámetros: Ninguno
Devuelve: número
Cambiar la posición de la hoja de trabajo
El método setPosition se utiliza para cambiar la posición de una hoja de trabajo. El siguiente código mueve la Hoja1 a la segunda posición. El 1 contenido entre corchetes es la segunda posición porque la numeración de la colección comienza en cero.
//Asigne la hoja de trabajo "Hoja1" a la variable ws ws = workbook.getWorksheet("Sheet1");//Establezca la hoja de trabajo ws en la segunda posiciónws.setPosition(1);
Acerca de setPosition
Propósito: Mueve una hoja de trabajo a la posición especificada dentro del libro.
Sintaxis: ExcelScript.Worksheet.setPosition(posición);
Parámetros: posición: número: la posición basada en cero de la hoja de trabajo
Devuelve: nulo
Visibilidad de la hoja de trabajo
Usando la interfaz estándar de Excel, podemos ocultar y mostrar hojas de trabajo. También hay una opción especial que no está disponible en la interfaz estándar. Esta opción especial nos permite hacer una hoja de trabajo muy oculta; esto significa que la hoja de trabajo está oculta y no se muestra en la lista para mostrar. Por lo tanto, los usuarios habituales ni siquiera saben que la hoja de trabajo existe. Esta opción es excelente para ocultar hojas de trabajo que contienen configuraciones y datos de backend.
Obtenga visibilidad de la hoja de trabajo
El siguiente ejemplo muestra la configuración de visibilidad (visible, oculta o muy oculta) como una cadena de texto en el registro de la consola.
//Asigne la hoja de trabajo "Hoja1" a la variable ws ws = workbook.getWorksheet("Sheet1");//Obtenga la visibilidad de la hoja de trabajo wsconsole.log(ws.getVisibility());
about getVisibility
Propósito: Devuelve el estado de visibilidad de la hoja de trabajo.
Sintaxis: ExcelScript.Worksheet.getVisibility();
Parámetros: Ninguno
Devuelve: ExcelScript.SheetVisibility (cadena: “oculto” | “visible” | “muyHidden”)
Cambiar la visibilidad de la hoja de trabajo
El siguiente ejemplo demuestra el código para las 3 opciones de visibilidad.
//Asigne la hoja de trabajo "Hoja1" a la variable ws ws = workbook.getWorksheet("Sheet1");//Establezca la visibilidad de la hoja de trabajo ws en hidews.setVisibility(ExcelScript.SheetVisibility.hidden);//Establezca la visibilidad de la hoja de trabajo de ws en visiblews.setVisibility(ExcelScript.SheetVisibility.visible);//Establezca la visibilidad de la hoja de trabajo de ws en veryHiddenws.setVisibility(ExcelScript.SheetVisibility.veryHidden);
acerca de setVisibility
Propósito: Establece la visibilidad de la hoja de trabajo.
Sintaxis: ExcelScript.Worksheet.setVisibility(visibilidad);
Parámetros: visibilidad: ExcelScript.SheetVisibility (contiene las tres configuraciones para configurar una hoja de cálculo como oculta, visible y muy oculta.
Devuelve: vacío
Protección de la hoja de trabajo
La protección de la hoja de trabajo tiene como objetivo evitar que los usuarios cambien accidentalmente fórmulas u otras partes críticas de nuestro libro.
Hay muchas opciones de protección disponibles, por lo que esta sección solo contiene una descripción general de la configuración básica. Para obtener más ejemplos de protección, consulte mi guía de protección de Office Scripts .
Comprobar si la hoja de trabajo está protegida
El siguiente código utiliza el método getProtected para comprobar si una hoja de trabajo está protegida. El resultado que se muestra en el registro de la consola puede tener un valor de verdadero o falso.
//Asigne la hoja de trabajo "Hoja1" a la variable wsletws=workbook.getWorksheet("Sheet1");//Obtenga el estado de protección de la hoja de trabajo wsconsole.log(ws.getProtection().getProtected());
about getProtected
Propósito: Devuelve el estado de protección de una hoja de trabajo.
Sintaxis: ExcelScript.WorksheetProtection.getProtected();
Parámetros: Ninguno
Devuelve: booleano (verdadero/falso)
Proteger y desproteger hojas de trabajo
Para proteger y desproteger una hoja de trabajo utilizamos los métodos de protección y desprotección. Los siguientes fragmentos de código demuestran cómo utilizar esos métodos con y sin contraseñas.
//Asigne la hoja de trabajo "Hoja1" a la variable wsletws=workbook.getWorksheet("Sheet1");//Proteja la hoja de trabajo ws sin contraseñaws.getProtection().protect();//Desproteja la hoja de trabajo ws sin contraseñaws.getProtection( ).unprotect();//Proteja la hoja de trabajo de ws con contraseñaws.getProtection().protect("myPassword");//Desproteja la hoja de trabajo de ws con contraseñaws.getProtection().unprotect("myPassword");
acerca de proteger
Propósito: Protege una hoja de trabajo. Falla si la hoja de trabajo ya ha sido protegida.
Sintaxis: ExcelScript.WorksheetProtection.protect(¿opciones?, ¿contraseña?);
Parámetros:
- ¿opciones?: ExcelScript.WorksheetProtectionOptions – configuración de protección de hoja opcional
- ¿contraseña?: cadena – parámetro opcional para establecer la contraseña a utilizar
Devoluciones: nulas
acerca de desproteger
Propósito : Desprotege una hoja de cálculo
Sintaxis: ExcelScript.WorksheetProtection.unprotect(contraseña?);
Parámetros: ¿contraseña? : cadena: contraseña requerida para desproteger la hoja de trabajo. Este es un argumento opcional ya que sólo es necesario si se ha aplicado protección con una contraseña.
Devoluciones: nulas
Activar hojas de trabajo
Rara vez es necesario activar una hoja de trabajo antes de ejecutar un script para cambiarla. Sin embargo, después de la ejecución de un script, es posible que queramos enviar al usuario una hoja de trabajo específica. Para ello podemos utilizar el método activar.
acerca de activar
Propósito : Activa la hoja de trabajo en la interfaz de Excel.
Sintaxis: ExcelScript.Worksheet.activate();
Parámetros: Ninguno
Devuelve: nulo
Activar una hoja de trabajo
El siguiente fragmento de código activa Sheet1.
//Asigne la hoja de trabajo "Hoja1" a la variable ws let ws = workbook.getWorksheet( "Hoja1" );//Activar la hoja de trabajo ws ws.activate();
Deja una respuesta