Hola a todos!
En los últimos post hemos tratado sobre cómo podemos proteger un libro, una hoja o una celda o rango con Typescript en Excel Online. Para finalizar esta serie de publicaciones me gustaría incluir cómo podemos ocultar las fórmulas de una celda o de un rango con Typescript.
Bien, esto lo vamos a lograr con la misma lógica que lo hacemos en nuestro Excel de escritorio, es decir, necesitaremos proteger la hoja para lograrlo.
Para poder hacer un ejemplo en condiciones utilizaré una serie de fórmulas, serían las mismas que usé para escribir este post de: FÓRMULAS PARA INDICAR SI UN VALOR EXISTE EN UN RANGO.
Aquí la hoja está desprotegida y se pueden ver perfectamente las fórmulas:
Para ocultarlas utilizaremos este script:
async function main(workbook: ExcelScript.Workbook) {
var nHojas = workbook.getWorksheets();
nHojas.forEach((sheet) => {
if (sheet.getProtection().getProtected() == true) {
sheet.getProtection().unprotect("xWm1q")
sheet.getRange("A1:S24").getFormat().getProtection().setFormulaHidden(false);
sheet.getCell(21, 17).setValue('La ' + sheet.getName() + ' ' + 'está desprotegida y las fórmulas visibles');
} else {
sheet.getRange("A1:S24").getFormat().getProtection().setFormulaHidden(true);
sheet.getCell(21, 17).setValue('La ' + sheet.getName() + ' ' + 'está protegida y las fórmulas ocultas');
sheet.getProtection().protect({}, "xWm1q")
}
});
}
Como podéis ver una vez la hoja está desprotegida, ya podemos indicar que las fórmulas de un rango se oculten y luego protegeremos la hoja.
En este ejemplo hago de forma dinámica, ejecutando el script protegerá y ocultará las fórmulas y viceversa.
El resultado cuando protegemos la hoja y seleccionamos una celda con una fórmula, en la imagen selecciono la celda «O20» y en la barra de fórmulas no se muestra nada.
Y esto es todo, espero que os haya resultado interesante!
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies