либо используя механизмы совсем не предназначенные для этого.
я-бы написало обработку, которая создаёт документ и открывает его (в этот момент переходит передача управления документу) и так продолжает пока документ не будет закрыт таким образом что-бы не создавать новые (передавать через параметр, например)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший