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