https://stackoverflow.com/questions/319 ... ar-process
which lead me to
https://support.microsoft.com/en-us/hel ... l-studio-n
Although this is for C#/.net, the idea is the same. If you're passing your COM Obj around between functions, or using global vars, microsoft essentially keeps a counter of the times you called it. Hence, when you call ".Quit()" it kills the COM Obj, but NOT the program itself.
To resolve, Here's what I did:
Just wanted to save someone the frustration I went through
Code: Select all
global ppt := "" ;First, set your ComObj to null, this will reset microsoft's stupid counter. ppt := ComObjActive("PowerPoint.Application") ;reconnect to your COM obj ppt.Quit() ;It dies.