Pokud pracujete s Excelem VBA a narazíte na zprávu "Microsoft Excel čeká, až jiná aplikace dokončí akci OLE", pak pro vás bude tento text užitečný. Tato zpráva se zobrazí, když během provádění makra dojde k oslovení externí aplikace a Excel nemůže pokračovat, dokud nedostane odpověď z této aplikace.
Existuje několik způsobů, jak tento problém vyřešit. Pokud používáte funkce nebo metody, které způsobují jiné aplikace, můžete zkontrolovat, zda je cesta k těmto aplikacím správná. Ujistěte se, že je cesta uvedena zcela a správně, bez překlepů. Vyplatí se také zajistit, aby aplikace, se kterou Excel pracuje, byla otevřená a přístupná pro provádění operací.
Pokud se problém nevyřeší, zkuste před oslovením jiné aplikace použít zpoždění. K tomu lze použít metodu Application.Wait. Nastavte několik sekund jako argument, abyste nechali Excel čekat na dokončení operace externí aplikace. To může pomoci vyhnout se chybě.
Pokud žádná z výše uvedených metod nepomůže, pak je možná problém v samotné externí aplikaci. Zkontrolujte jeho dostupnost a správnost instalace. Je možné, že aplikace byla přesunuta nebo odstraněna a Excel ji již nemůže najít pro provádění operací. Proveďte kontrolu a v případě potřeby přeinstalujte nebo aktualizujte externí aplikaci.
Jak opravit problém "Excel VBA Microsoft Excel čeká, až jiná aplikace dokončí akci OLE"
Problém "Excel VBA Microsoft Excel čeká, až jiná aplikace dokončí akci OLE" může nastat při pokusu o spuštění makra v Excelu, když již probíhá jiná akce OLE (Object Linking and Embedding). K tomu může dojít, například když je v okamžiku spuštění makra otevřena jiná aplikace, která používá OLE.
Existuje několik způsobů, jak tento problém vyřešit:
1. Zkontrolujte, zda jiná aplikace dokončila svou práci
Pokud jiná aplikace, která používá OLE, stále provádí nějakou akci, počkejte na její dokončení nebo ji zavřete před provedením makra v Excelu.
2. Zkontrolujte a povolte automatickou aktualizaci souvisejících dat
Pokud vaše makro v Excelu používá přidružená data z jiné aplikace, ujistěte se, že jste povolili automatickou aktualizaci těchto dat. Chcete-li to provést, přejděte do nabídky Data → vlastnosti souvisejících dat → aktualizace automatická.
3. Vložte zpoždění mezi akce
Vložení zpoždění před provedením makra může pomoci vyhnout se problému s konfliktem akcí OLE. K tomu lze použít funkci "Application.Wait, " uvádí v ní čas zpoždění v sekundách. Například:
Sub MyMacro () ' vložit zpoždění o 1 sekundu Application.Wait Now + TimeValue("00:00:01") ' váš makro kód End Sub
4. Změňte pořadí akcí
Pokud je to možné, zkuste změnit pořadí akcí v makru. Než budete pracovat s OLE objekty, ujistěte se, že nejsou prováděny žádné další akce, které by mohly způsobit konflikt.
Podle těchto pokynů budete moci opravit problém "Excel VBA Microsoft Excel čeká, až jiná aplikace dokončí akci OLE" a úspěšně provede makro v Excelu.