Ich hab nochmal Zeit in das engere Thema hier investiert.
Das OLE ist sehr langsam, wenn z.B. in PM Zellenweise größere Bereiche abgefragt werden. Ich habe schon Abstürze erlebt, weil ich dachte das Skript wäre längst fertig als ich munter an der Datei weiterarbeitete.
Auch mit Screenupdate = False kann man noch in PM (und TM?) währen des Skriptablaufs herumfuhrwerkeln. Die "Selection" einem Objekt zuzuweisen verhindert ebenfalls nicht dessen Inhalte währenddessen über die Anwendung zu verändern.
Die Bearbeitungsroutine des Skripts in eine Dialogfunktion zu packen hilft auch nicht, weil der Dialog in den Hintergrund verschwindet beim Klicken auf die Anwendung. Auch wenn der Dialog ständig reaktiviert wird, wieder sichtbar wird, hindert es nicht daran die Anwendung gleichzeitig zu bedienen.
Es gibt nur einen mir bekannten Ausweg:
Application.Visible = False, und das wohl besser mit
On Error Routine, und natürlich mit einem, während des Skriptablaufs offenen Anti-Schreck-
Dialog (mit Dialogfunktion) gegen das verständliche "Huch!!?? Wo ist jetzt mein Dokument?"

Ergo: User-"Fehler" aufzufangen ist momentan etwas sehr aufwändig für ein paar Zeilen Skript die wirklich etwas "machen".
Könnte da mittelfristig vielleicht etwas geschehen, bitte?