#c# #excel #vba
#c# #excel #vba
Вопрос:
У меня есть длительное вычисление на C #, вызванное из Excel VBA, и я хотел бы разрешить пользователю прерывать вычисление с помощью CTRL-C. Может кто-нибудь предложить чистый метод для обработки этого? Код C # скомпилирован в виде библиотеки классов, доступной для просмотра, и его назначение — просто обработка чисел.
(Также важно, чтобы сеанс Excel не мешал выполнению других задач, если пользователь — например, ушел читать свою почту во время ожидания).
Ответ №1:
Вы могли бы выполнить вызов асинхронно и использовать ManualResetEvents из вашего кода C #, чтобы проверить, нужно ли вам останавливать вычисление или нет в определенных точках вашего кода. Для этого потребовалась бы дополнительная функция, позволяющая установить это ManualResetEvent из VBA.