Простой ответ - да. Открывая документ с вашим кодом, вы делаете его активным документом, который затем закрываете в следующей строке и пытаетесь активировать в следующей, и это не удается, поскольку документ больше не открыт. VBA в целом, кажется, работает таким образом.
Важно быть осторожным с ActiveDocument, потому что не всегда очевидно, какие действия в коде или где-либо еще сделают документ «активным» (у меня нет никаких доказательств, но даже автосохранение может это сделать). Если есть какие-либо сомнения, вам лучше обратиться к документу через коллекцию Documents, хотя это также может привести к ошибкам, если документ больше не открыт, и вам, возможно, придется прибегнуть к итерации по коллекции, чтобы убедиться, что документ на самом деле, открытый. Я часто сталкиваюсь с этим в Excel VBA, и Word VBA в этом отношении функционирует одинаково.
Кроме того, VBA небрежно относится к освобождению объектов приложения. Если вы не будете осторожны, вы получите несколько процессов WINWORD, которые можно просмотреть в диспетчере задач, независимо от того, закрыли ли вы их или вышли из них в своем коде. Код, который я нашел, чтобы обойти это, сводится к моделированию процесса выбора END PROCESS в диспетчере задач. Это работает, но должно быть лучшее решение.