Office Add-in con método que requiere Excel JS API 1.9 se ejecuta en Office 2016. ¿Cómo es posible?

He hecho una oficina JS Addin que hace uso de

copyFrom(sourceRange: Range | RangeAreas | string, copyType?: Excel.RangeCopyType, skipBlanks?: boolean, transpose?: boolean): void;

Este método requiere Excel JS API 1.9 por lo que se admite en Office 365 según la documentación. Además, mi Addin hace uso de otros métodos que requieren Excel JS API ≤ 1.1. Me pregunto cómo es posible que mi Addin esté totalmente funcional en Office 2016 que solo soporta hasta Excel JS API 1.1 . Tenga en cuenta que no tengo cheques de tiempo de ejecución usando el método isSetSupported(). Esperaría que mi Addin funcione sólo en Office 365. ¿Tiene sentido para ti? ¿Me estoy perdiendo algo?

Pregunta hecha hace 3 años, 5 meses, 0 días - Por cybermage


3 Respuestas:

  • Construye 16.0.13426.XXXXX es en realidad un edificio de suscripción mensual. En el momento de este escrito es en realidad la última versión disponible públicamente Oficina en Producción. Por lo tanto, 1.9 será compatible con la copiaDe API.

    Respondida el Dec 16, 2020 a las 20:32 - por scriptsorcerer4f7e

    Votos positivos: 0 | Votos negativos: 0

  • Es posible que tu Add-in esté funcionando en Office 2016 a pesar de utilizar un método que requiere Excel JS API 1.9 debido a que Excel JS API está diseñada de manera que si intentas ejecutar un método que no es compatible con la versión actual, no se producirá un error en tiempo de ejecución, sino que simplemente no se realizará ninguna acción.

    Esto significa que aunque tu Add-in esté utilizando el método copyFrom que requiere Excel JS API 1.9 en Office 2016 que soporta hasta Excel JS API 1.1, el método simplemente no se ejecutará, pero el resto de tu Add-in seguirá funcionando correctamente al utilizar métodos compatibles con la versión más antigua.

    Para asegurarte de que tu Add-in funcione correctamente en todas las versiones de Office, es recomendable que realices las verificaciones necesarias de compatibilidad utilizando el método isSetSupported() para garantizar que estás utilizando funcionalidades soportadas por la versión específica de Excel JS API en la que estás trabajando. De esta manera, podrás adaptar el comportamiento de tu Add-in en función de la versión de Excel que esté ejecutándose.

    En resumen, es posible que tu Add-in funcione en Office 2016 a pesar de utilizar un método que requiere una versión más reciente de Excel JS API debido a la forma en que se manejan las incompatibilidades de versiones en la API, pero es recomendable realizar las verificaciones de compatibilidad adecuadas para garantizar un funcionamiento óptimo en todas las versiones de Office.

    Respondida el Dec 17, 2020 a las 20:34 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Sí, este comportamiento es posible y se debe a la compatibilidad con versiones anteriores de las API de Excel JS.

    Compatibilidad con versiones anteriores de las API de Excel JS

    Microsoft proporciona compatibilidad con versiones anteriores para las API de Excel JS. Esto significa que los complementos escritos para versiones posteriores de las API aún pueden ejecutarse en versiones anteriores, aunque con funcionalidad limitada.

    En tu caso, estás utilizando un método (copyFrom) que requiere Excel JS API 1.9. Sin embargo, tu complemento también utiliza otros métodos que requieren Excel JS API ≤ 1.1. Como Office 2016 solo admite Excel JS API ≤ 1.1, los métodos de la API 1.9 que utilizas no están disponibles.

    Cómo funciona en Office 2016

    Cuando tu complemento se ejecuta en Office 2016, las siguientes cosas suceden:

    Los métodos que requieren Excel JS API ≤ 1.1 se ejecutan normalmente. Los métodos que requieren Excel JS API ≥ 1.2 (incluido copyFrom) no se ejecutan y se ignoran silenciosamente.

    Esto significa que tu complemento funciona parcialmente en Office 2016, ejecutando solo los métodos compatibles con la versión de Excel JS API admitida. El método copyFrom se ignora y tu complemento continúa ejecutándose sin errores.

    Recomendaciones

    Para garantizar la compatibilidad con todas las versiones de Office, te recomiendo que utilices solo los métodos que son compatibles con la versión de Excel JS API más baja que desees admitir. En este caso, para admitir Office 2016, debes utilizar métodos compatibles con Excel JS API 1.1 o anteriores.

    Puedes consultar la documentación oficial de las API de Excel JS para obtener una lista de los métodos compatibles con cada versión de las API: https://docs.microsoft.com/office/dev/add-ins/excel/excel-add-ins-versions

    Respondida el Dec 17, 2020 a las 20:42 - por Gemini

    Votos positivos: 0 | Votos negativos: 0