david
Estoy lidiando con un problema con libXL
y Oficina 365. Creé un archivo de Excel con Oficina 365: una fórmula simple que muestra el contenido de una celda de otra hoja. Luego procedí a escribir algo en esa celda de origen a través de libXl
. Cuando abro el archivo de salida, la fórmula no se calcula hasta que presiono CTRL+ALT+SHIFT+F9
.
Si creo el xlsx
archivo de oficina 2013 entonces la fórmula se actualiza correctamente.
No pude encontrar nada en su sitio web si O365
es compatible o no.
Aquí está el código para reproducir el problema (puedo proporcionar los dos archivos xlsx de entrada si es necesario):
#include "stdafx.h"
#include "libxl.h"
using namespace libxl;
int main()
{
Book* book = xlCreateXMLBook();
// xlsx file created by Office 2013
if (book->load(L"office2013.xlsx"))
{
Sheet* sheet = book->getSheet(0);
if (sheet)
sheet->writeNum(2, 2, 42);
book->save(L"okay.xlsx"); // works correctly when opened
}
// xlsx file created by O365
if (book->load(L"office365.xlsx"))
{
Sheet* sheet = book->getSheet(0);
if (sheet)
sheet->writeNum(2, 2, 42);
book->save(L"bugged.xlsx"); // must press CTRL+ALT+SHIFT+F9 to see '42' in the second sheet
}
book->release();
return 0;
}
Esta es la hoja fuente (número 42 escrita por el código anterior): https://i.stack.imgur.com/hp7Ti.png
Esta es la fórmula que no funciona (escrita en Excel): https://i.stack.imgur.com/BhGW2.png
Gracias
¿Tiene el cálculo automático activado en Office 365 Excel? Revisa este artículo: https://support.office.com/en-ie/article/change-formula-recalculation-iteration-or-precision-f38c7793-0367-41ce-b892-dfe54946bd76#__toc305944076
Me han engañado en algunos vbs-script que he creado para Excel, con el cálculo desactivado de forma predeterminada para algunas instalaciones de Office 365.
Consulte formularios -> Cálculo y verifique si todo es automático en el libro de trabajo allí.
Editar: tenga en cuenta que no tengo experiencia con LibXL, pero tengo mucha experiencia en vbs para Excel. También programo c ++, pero encuentro vbs como una forma más rápida de llegar a la meta de mis proyectos 🙂
-
Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página enlazada cambia. – De la revisión
– usuario16217248
hace 2 días
debutantes
Que esto podría ayudar a configurar el cálculo con:
Calculation = xlCalculationAutomatic
Luego partiendo cuando sea necesario con:
Calculation = xlCalculationManual
-
Como está escrito actualmente, su respuesta no está clara. Edite para agregar detalles adicionales que ayudarán a otros a comprender cómo esto aborda la pregunta formulada. Puede encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda.
– Comunidad
Bot20 sep 2021 a las 0:05
No es una configuración de Excel, sino un error en la biblioteca libXL relacionado con la nueva versión de Excel. Tengo el mismo problema, pero no he encontrado ninguna solución. Todavía. Estoy mirando una recompensa…
– Redax
13 de junio de 2018 a las 8:22