Disclaimer: I am not an expert in python, or even programming, for that matter....
In any case, option #2 sounds like the most theoretically sound. It sounds like you are using Excel as a database, and your worker thread as a transaction queue. Something to consider: do you really need to modify directly a spreadsheet? Can you not use another format to feed a template spreadsheet (ie. xml or csv), and then modify that file as a text file without the overhead of Excel? Just a thought.... -- http://mail.python.org/mailman/listinfo/python-list