ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Threaded programming in VBA (https://www.excelbanter.com/excel-programming/343550-threaded-programming-vba.html)

Martin[_25_]

Threaded programming in VBA
 
Hi

Does VBA (Excel) offer any tools for threaded programming?

If one uses the wait for child API call, it is possible to pause a VBA
macro, while some other program runs, producing some data, for the
macro.

But if the child program takes a long time to finish its work, Excel is
blocked, waiting for the child. Just imagine the irritation of the
users.

Is there some way to use synchronization, in VBA, so part of the code
waits for the child while another keeps running with limited access to
variables, ranges and so on?

I hope this is understandable (I'm not completely sure I understand
myself). I guess what I'm trying to do is to gain control not only over
what Excel does, but also when it does it. And preferebly more than one
thing at the time.


Chip Pearson

Threaded programming in VBA
 
VBA has no support whatsoever for multiple threads. All code must
be run synchronously.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Martin" wrote in message
oups.com...
Hi

Does VBA (Excel) offer any tools for threaded programming?

If one uses the wait for child API call, it is possible to
pause a VBA
macro, while some other program runs, producing some data, for
the
macro.

But if the child program takes a long time to finish its work,
Excel is
blocked, waiting for the child. Just imagine the irritation of
the
users.

Is there some way to use synchronization, in VBA, so part of
the code
waits for the child while another keeps running with limited
access to
variables, ranges and so on?

I hope this is understandable (I'm not completely sure I
understand
myself). I guess what I'm trying to do is to gain control not
only over
what Excel does, but also when it does it. And preferebly more
than one
thing at the time.





All times are GMT +1. The time now is 07:50 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com