¡Buen día a todos!
Después de haber realizado algunas pruebas con diferentes versiones y métodos de TExcelApplication, como SendKeys y Activate (los cuales no me fueron útiles en este caso), llegué a la determinación de implementar una solución al viejo estilo
: El cada vez más típico truco de cambiar de hilo y simular presión de teclas programáticamente.
Código:
Uses
GHTareas, GHVentan, GHTecl, Windows;
...
{ Si Excel está abierto y hay una celda activa (probablemente
esa celda se encuentra en estado de edición) }
If AEAplicacion.Visible [Localidad] And
(AEAplicacion.ActiveCell <> Nil) Then
Begin
ActivHiloVent(VentaClas ('XLMAIN')); { Activar Excel }
SimulTecl (vk_Escape); { Simular la presión de la tecla Esc }
{ Esperar a que Excel la procese. Cierra posible caja de
diálogo o... }
Sleep (250);
{ Dos Esc más }
SimulTecl (vk_Escape); { Segunda caja de diálogo o... }
Sleep (250);
SimulTecl (vk_Escape); { ...cancela edición de la celda }
End;
De cualquier forma, sería conveniente encontrar una solución más segura y elegante.
Espero esto sea de utilidad. Seguimos en contacto.
Al González
.