Проверьте метод CopyFile и рассмотрите возможность использования аргумента overwrite
для передачи функции, чтобы сообщить ей, что если файл существует, то перезаписать его и не запрашивать.
Метод CopyFile
Синтаксис
объект.CopyFile источник, назначение [, перезаписать]
Синтаксис метода CopyFile состоит из следующих частей:
Часть: перезаписать
- Описание: опционально. Логическое значение, которое указывает, должны ли существующие файлы быть перезаписаны. Если True, файлы перезаписываются; если Ложь, то нет. По умолчанию установлено значение True. Обратите внимание, что CopyFile завершится ошибкой, если для адресата установлен атрибут только для чтения, независимо от значения перезаписи.
замечания
Подстановочные знаки могут использоваться только в последнем компоненте пути исходного аргумента. Например, вы можете использовать:
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
Но вы не можете использовать:
FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"
Если источник содержит символы подстановки или место назначения заканчивается разделителем пути (), предполагается, что место назначения - это существующая папка, в которую можно скопировать соответствующие файлы. В противном случае местом назначения считается имя файла для создания. В любом случае при копировании отдельного файла могут произойти три вещи.
- Если пункт назначения не существует, источник копируется. Это обычный случай.
- Если в качестве места назначения указан существующий файл, возникает ошибка, если перезапись имеет значение False. В противном случае делается попытка скопировать исходный код поверх существующего файла.
- Если пункт назначения является каталогом, возникает ошибка.
Ошибка также возникает, если источник, использующий символы подстановки, не соответствует ни одному файлу. Метод CopyFile останавливается на первой обнаруженной ошибке. Не предпринимается никаких попыток откатить или отменить любые изменения, сделанные до возникновения ошибки.
Источник