Si, algo oxidadillo.
No programo desde los 90s, He revisado casi toda la documentación de Excel y estoy casi al día, me falta algo de tablas dinámicas, y casi todo Power Pibot (hay poca información en castellano) Voy más o menos bien en Power Query (poca
información en castellano sobre funciones DAX y lenguaje M), VBA no ha cambiado demasiado, pero ha cambiado, siempre a tenido inconvenientes, que al parecer C# corrige. (problemas de seguridad por ejemplo), voy a medias en C#, no es muy distinto de VBA, la
evolución a Power BI (para usuarios personales) no es muy amigable que digamos, y podría seguir, ahora me encuentro desempleado y dada mi edad no me es fácil conseguir trabajo, lo que limita mis recursos.
Aclarado esto dos cuestiones:
- La pregunta es; ¿C# es una buena opción? o ¿Tengo que asumir que debo aprender JScrpt? Puagh.
HTML + CCS , gracias a los dioses es ahora el estándar y la desoxidación no va mal, a pesar de que no pienso programar páginas. de XLM no tengo casi idea.
2. ¿Por qué C#?
Un par de ejemplos:
Formato condicional:
- Consumen muchos recursos al hacer cálculos, por lo que si puedo modificar su comportamiento a nivel nativo, se puede hacer (ya se hace con VBA más o menos)
- Celdas no usadas Formato gris,
- Fórmulas Formato (mmm...) amarillo pálido,
- Rótulos me parece bien el azul de las tablas dinámicas,
- Celdas con validación de datos y seleccionables (datos introducidos por el usuario) otro color,
- Visualización de columna/fila, resaltada (guías).
- Esto permite que "mejores prácticas" facilite la interpretación de las hojas, y al ser a nivel de interfaz consumirá menos recursos.
Nombres definidos:
- Una cuestión principal e importante.
- Permitir seleccionar siempre El ámbito del nombre (libro, hoja, rango), mediante selección por cuadro combinado.
por ahora la primera vez asigna por defecto "nivel de libro"
- Uso de prefijos para los nombres.
- rngNombre = Rango
- fxNombre = Función o fórmula.
- En el caso de fórmulas permitir Argumentos.
- Esto permitirá usar las fórmulas repetitivas y agilizar la introducción de las mismas.
- Usar hoja definición de Fórmulas, Constantes y Variables para documentación. Una especie de las hojas de macros primitivas (:¬)[>
- Además facilitará la comprensión en lenguaje humano de las mismas.
- cnsNombre = Constante
- usrNombre = Usuario
- Sería una forma simple de crear fórmulas complejas y evitar en la medida de lo posible las UDFs
- Como ya es posible pegar lista de nombres definidos en una tabla no debiera ser complicado que de la Hoja Definiciones (uso varias alternativas del nombre para hoja hoja antedicha) realizar el proceso inverso, de la hoja a los nombres definidos.
Estos dos puntos (funcionalidades) a nivel de interfaz mejorarían no solo el rendimiento si no que lograrían evitar dos de los mayores problemas del gigantismo de la mayor parte de los libros.
Por otro lado, al C# poder correr en multihilo, cosa que al parecer no permite HTML+Jscript, sería mucho más eficiente.
Se podría implementar que Ms-Office 365 (con licencia) si corre en un equipo que tenga instalado el programa, abra por defecto los archivos de Ms-Office en la aplicación de escritorio en lugar de la Web.
Un saludo y un fuerte abrazo.