Foreversoft.ru

IT Справочник
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel vba скопировать файл

Управление файлами с помощью VBA

Управление файлами включает действия, такие как копирование файлов, удаление неиспользуемых файлов для освобождения области дисковой памяти, перемещение файлов с одного диска на другие и создание или удаление каталогов диска. Управление файлами включает также такие виды обработки, как просмотр списка файлов в папке для определения размера файла или даты и времени, когда этот файл был модифицирован в последний раз.

В нижеприведенной таблице указаны функции, операторы и методы управления файлами. В первом столбце таблицы находится ключевое слово VBA, во втором — указывается, предназначено ли ключевое слово для функции, оператора или объектного метода. В третьем столбце содержится краткое описание назначения каждой функции, оператора или метода.

ИмяКатегорияНазначение
ChDirОператорИзменяет текущий каталог
ChDriveОператорИзменяет текущий драйвер диска
CurDirФункцияВозвращает текущий каталог
DirФункцияВозвращает имя каталога или файла, совпадающее с определенным именем файла, передаваемым как строковый аргумент. Предназначена для нахождения одного или нескольких файлов на диске.
FileCopyОператорКопирует файл
FileDateTimeФункцияВозвращает значение типа Date, содержащее дату и время, когда этот файл был изменен последний раз.
FileLenФункцияВозвращает длину файла в байтах
GetAttrФункцияВозвращает число, представляющее объединенные атрибуты файла или каталога диска, такие как System, Hidden и т.д.
GetOpenFileNameМетодОтображает Excel-диалоговое окно Open и возвращает имя файла, выбранное пользователем. В Word не имеется.
GetSaveAsFileNameМетодОтображает Excel-диалоговое окно Save As и возвращает имя файла, выбранное пользователем. В Word не имеется.
KillОператорУдаляет файлы с драйвера диска.
MkDirОператорСоздает каталог диска.
NameОператорПереименовывает или перемещает файл.
RmDirОператорУдаляет каталог диска.
SetAttrОператорУстанавливает атрибуты файла.

Операторы, функции и объектные методы, имеющиеся в VBA, делятся на шесть различных функциональных частей:

  • Получение или изменение атрибутов файла;
  • Выборка или нахождение имен файлов;
  • Получение или изменение текущего драйвера диска и папки или создание и удаление папок диска;
  • Копирование или удаление файлов;
  • Переименование или перемещение файлов;
  • Получение информации о файлах, такой как длина файла, дата и время, когда этот файл был модифицирован последний раз.

В начало страницы

В начало страницы

Excel vba скопировать файл

И снова здравствуйте!

Пытаюсь макросом скопировать из папки «Откуда» (в т.ч. всех подпапках) в папку «Куда» файлы Excel по условию (наличию в названии символа, например «+»).

Нашел макрос который копирует все файлы Excel:
[vba]

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «C:UsersМвидеоDesktopОткуда»
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If Right(iFile.Name, 5) = «.xlsx» Then iFile.Copy «C:UsersМвидеоDesktopКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

Но он не решает 2 вопроса:

1) Необходимо копирование файлов во всех подуровнях папки «Откда», т.е. пока берет верхний уровень только.

2) Необходимо копирование файлов Excel имя файлов которые содержат символ +

Первую часть даже не смог найти что-то подходящее как исправить.

Вторую часть попытался исправить 8 строку:
[vba]

Подскажите, пожалуйста, где нужно правильно допилить?

P.S. можете подсказать полезные ресурсы (на русском) со всеми кодами и их синтаксисами для обучения. Один нашел (ссылки на внешний ресурс нельзя выкладывать) но синтаксис выложен без примеров.

И снова здравствуйте!

Пытаюсь макросом скопировать из папки «Откуда» (в т.ч. всех подпапках) в папку «Куда» файлы Excel по условию (наличию в названии символа, например «+»).

Нашел макрос который копирует все файлы Excel:
[vba]

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «C:UsersМвидеоDesktopОткуда»
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If Right(iFile.Name, 5) = «.xlsx» Then iFile.Copy «C:UsersМвидеоDesktopКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

Но он не решает 2 вопроса:

1) Необходимо копирование файлов во всех подуровнях папки «Откда», т.е. пока берет верхний уровень только.

2) Необходимо копирование файлов Excel имя файлов которые содержат символ +

Первую часть даже не смог найти что-то подходящее как исправить.

Вторую часть попытался исправить 8 строку:
[vba]

Подскажите, пожалуйста, где нужно правильно допилить?

P.S. можете подсказать полезные ресурсы (на русском) со всеми кодами и их синтаксисами для обучения. Один нашел (ссылки на внешний ресурс нельзя выкладывать) но синтаксис выложен без примеров. Anis625

Сообщение И снова здравствуйте!

Пытаюсь макросом скопировать из папки «Откуда» (в т.ч. всех подпапках) в папку «Куда» файлы Excel по условию (наличию в названии символа, например «+»).

Нашел макрос который копирует все файлы Excel:
[vba]

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «C:UsersМвидеоDesktopОткуда»
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If Right(iFile.Name, 5) = «.xlsx» Then iFile.Copy «C:UsersМвидеоDesktopКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

Но он не решает 2 вопроса:

1) Необходимо копирование файлов во всех подуровнях папки «Откда», т.е. пока берет верхний уровень только.

Читать еще:  Word 2020 справка

2) Необходимо копирование файлов Excel имя файлов которые содержат символ +

Первую часть даже не смог найти что-то подходящее как исправить.

Вторую часть попытался исправить 8 строку:
[vba]

Подскажите, пожалуйста, где нужно правильно допилить?

P.S. можете подсказать полезные ресурсы (на русском) со всеми кодами и их синтаксисами для обучения. Один нашел (ссылки на внешний ресурс нельзя выкладывать) но синтаксис выложен без примеров. Автор — Anis625
Дата добавления — 16.01.2019 в 21:53

krosav4igДата: Среда, 16.01.2019, 22:47 | Сообщение № 2

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Ответить

Anis625Дата: Среда, 16.01.2019, 22:59 | Сообщение № 3

1 и 3 рекомендацию учел. Во 2-й не нашел отличий от своего варианта.

Запускаю макрос: Object required
=(

1 и 3 рекомендацию учел. Во 2-й не нашел отличий от своего варианта.

Запускаю макрос: Object required
=( Anis625

1 и 3 рекомендацию учел. Во 2-й не нашел отличий от своего варианта.

Запускаю макрос: Object required
=( Автор — Anis625
Дата добавления — 16.01.2019 в 22:59

krosav4igДата: Среда, 16.01.2019, 23:15 | Сообщение № 4

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Anis625Дата: Среда, 16.01.2019, 23:25 | Сообщение № 5

Крутяк. С «+» скопировал как надо. Я пока чайник по макросам. Пока не очень могу читать правильно макросы. Спасибо за правку.

Только макрос срабатывает на указанную папку. Внутри в подпапках не ищет макрос. Уровней может много.

Можете подсказать? В интернете подходящее не нашел

Крутяк. С «+» скопировал как надо. Я пока чайник по макросам. Пока не очень могу читать правильно макросы. Спасибо за правку.

Только макрос срабатывает на указанную папку. Внутри в подпапках не ищет макрос. Уровней может много.

Можете подсказать? В интернете подходящее не нашел Anis625

Крутяк. С «+» скопировал как надо. Я пока чайник по макросам. Пока не очень могу читать правильно макросы. Спасибо за правку.

Только макрос срабатывает на указанную папку. Внутри в подпапках не ищет макрос. Уровней может много.

Можете подсказать? В интернете подходящее не нашел Автор — Anis625
Дата добавления — 16.01.2019 в 23:25

Anis625Дата: Среда, 16.01.2019, 23:25 | Сообщение № 6

Упс не заметил вашу ссылку

Упс не заметил вашу ссылку Anis625

Упс не заметил вашу ссылку Автор — Anis625
Дата добавления — 16.01.2019 в 23:25

Anis625Дата: Среда, 16.01.2019, 23:33 | Сообщение № 7

Круууууто. Вот эту часть
[vba]

Dim coll As Collection, ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%

ПутьКПапке$ = [c1] ‘ берём из ячейки c1
МаскаПоиска$ = [c2] ‘ берём из ячейки c2
ГлубинаПоиска% = Val([c3]) ‘ берём из ячейки c3
If ГлубинаПоиска% = 0 Then ГлубинаПоиска% = 999 ‘ без ограничения по глубине

‘ считываем в колекцию coll нужные имена файлов
Set coll = FilenamesCollection(ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%)

если добавить в свою задачу было бы супер но сам поженить два макроса не смогу =(

Круууууто. Вот эту часть
[vba]

Dim coll As Collection, ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%

ПутьКПапке$ = [c1] ‘ берём из ячейки c1
МаскаПоиска$ = [c2] ‘ берём из ячейки c2
ГлубинаПоиска% = Val([c3]) ‘ берём из ячейки c3
If ГлубинаПоиска% = 0 Then ГлубинаПоиска% = 999 ‘ без ограничения по глубине

‘ считываем в колекцию coll нужные имена файлов
Set coll = FilenamesCollection(ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%)

если добавить в свою задачу было бы супер но сам поженить два макроса не смогу =( Anis625

Круууууто. Вот эту часть
[vba]

Dim coll As Collection, ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%

ПутьКПапке$ = [c1] ‘ берём из ячейки c1
МаскаПоиска$ = [c2] ‘ берём из ячейки c2
ГлубинаПоиска% = Val([c3]) ‘ берём из ячейки c3
If ГлубинаПоиска% = 0 Then ГлубинаПоиска% = 999 ‘ без ограничения по глубине

‘ считываем в колекцию coll нужные имена файлов
Set coll = FilenamesCollection(ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%)

если добавить в свою задачу было бы супер но сам поженить два макроса не смогу =( Автор — Anis625
Дата добавления — 16.01.2019 в 23:33

sboyДата: Четверг, 17.01.2019, 09:56 | Сообщение № 8

Яндекс: 410016850021169

Ответить

Anis625Дата: Четверг, 17.01.2019, 10:10 | Сообщение № 9

Спасибо Вам большое. Буду попробовать =)

Спасибо Вам большое. Буду попробовать =) Anis625

Спасибо Вам большое. Буду попробовать =) Автор — Anis625
Дата добавления — 17.01.2019 в 10:10

Anis625Дата: Четверг, 17.01.2019, 19:09 | Сообщение № 10

Перепробовал разные варианты. Последний вариант sboy, даже на проверке макроса как есть без изменения у меня долго макрос отрабатывал мигая и потом завис Excel

Перепробовал разные варианты. Последний вариант sboy, даже на проверке макроса как есть без изменения у меня долго макрос отрабатывал мигая и потом завис Excel Anis625

Перепробовал разные варианты. Последний вариант sboy, даже на проверке макроса как есть без изменения у меня долго макрос отрабатывал мигая и потом завис Excel Автор — Anis625
Дата добавления — 17.01.2019 в 19:09

Anis625Дата: Четверг, 17.01.2019, 19:11 | Сообщение № 11

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «D:PQКопирование между папкамиОткуда»
Dim sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 2) = Application.PathSeparator, «», Application.PathSeparator)
Application.ScreenUpdating = False
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If iFile.Name Like «*+*.xls*» Then iFile.Copy «D:PQКопирование между папкамиКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «D:PQКопирование между папкамиОткуда»
Dim sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 2) = Application.PathSeparator, «», Application.PathSeparator)
Application.ScreenUpdating = False
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If iFile.Name Like «*+*.xls*» Then iFile.Copy «D:PQКопирование между папкамиКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

Dim fso As Object, Folder As Object, iFile As Object, iPath$
iPath = «D:PQКопирование между папкамиОткуда»
Dim sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 2) = Application.PathSeparator, «», Application.PathSeparator)
Application.ScreenUpdating = False
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set Folder = fso.GetFolder(iPath)
For Each iFile In Folder.Files
If iFile.Name Like «*+*.xls*» Then iFile.Copy «D:PQКопирование между папкамиКуда» & «» & iFile.Name
Next
Set iFile = Nothing
Set Folder = Nothing
Set fso = Nothing
End Sub

=( не срабатывает Автор — Anis625
Дата добавления — 17.01.2019 в 19:11

Копирование и перенос файлов

Можно ли с помощью VBA сделать следующее:
Необходимо в папке с помощью поиска находить файл pdf формата и копировать его в другую папку.
Если не с помощью VBA, то с помощью чего можно это реализовать?

Заранее большое спасибо!

25.07.2018, 07:52

Макрос . Копирование и перенос Листов из чужой папки
Всем доброго времени На рабочем столе есть папка «Papka1» В этой папке есть excel-книга.

Копирование и перенос значения ячейки через специальную вставку
Имеется сумма значений столбца, прописанная в ячейке I24 как =СУММ($I$4:$I$23) нужно при.

Копирование вложенный файлов из писем
Добрый вечер. Есть скрипт, который выдергивает вложения из писем, дальше идет поиск по содержимому.

Копирование ТХТ файлов с определенным текстом
Всем доброго времени суток! Подскажите, пожалуйста, задача такая: в папке найти все тхт файлы в.

25.07.2018, 08:372
Visual Basic
25.07.2018, 09:14 [ТС]3
25.07.2018, 10:294
Visual Basic
25.07.2018, 10:49 [ТС]5
25.07.2018, 11:236
25.07.2018, 11:52 [ТС]7
Visual Basic
25.07.2018, 12:018

тогда замените ее на это

If Right(iFile.Name, 4) = «.pdf» Then iFile.Copy «c:имя папки» & «» & iFile.Name

Visual Basic
25.07.2018, 12:02 [ТС]9
Visual Basic
25.07.2018, 12:1910

внимательно смотрите
слеш между путем к папке и ifile .name

Добавлено через 44 секунды
еще — папка должна существовать

Добавлено через 5 минут
блин — вы чего творите

Добавлено через 26 секунд
это пипец.

Добавлено через 1 минуту
слов нет
ставите условие скопировать все pdf-файлы — вам дают код

Добавлено через 1 минуту
ДЛЯ ВСЕХ PDF ФАЙЛОВ
и вы модернизируете код под себя под конкретный файл и потом говорите что не работает
все — я пас

25.07.2018, 12:20 [ТС]11
Visual Basic
25.07.2018, 12:2012
25.07.2018, 12:23 [ТС]13
25.07.2018, 12:3314

посимвольно сравните то что вам дали и то что вы написали
и когда найдете недостающий амперсанд.

Добавлено через 1 минуту
это первое
второе
почему изменен код
вот тут

Visual Basic
25.07.2018, 12:38 [ТС]15
Visual Basic
25.07.2018, 12:4116
Visual Basic
25.07.2018, 12:43 [ТС]17
25.07.2018, 12:4618

вы код пробовали

Добавлено через 24 секунды
папка должна быть создана до выполнения кода

25.07.2018, 12:47 [ТС]19
25.07.2018, 12:5320
25.07.2018, 12:53
25.07.2018, 12:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Копирование определенной строки из файлов в папке
Добрый день, уважаемые! Подскажите пожалуйста макрос. Есть папка, в которой лежат книги экселя.

Перенос данных из текстовых файлов в excel
Доброго всем дня! Помогите, пожалуйста с решением проблемы! Есть множество txt файлов, нужно при.

Перенос данных из файлов Word в Excel
Добрый день! В общем задача следующего типа. В папке хранятся файлы MS Word c данными о.

Поиск файлов в заданной папке и копирование посредством Excel
Здравствуйте! Нужен макрос, который будет находить файлы в заданной папке с подпапками и.

Как средствами VBA переименовать/переместить/скопировать файл

В этой статье я хотел бы рассказать как средствами VBA переименовать, переместить или скопировать файл. В принципе методы переименования, перемещения и копирования, так сказать, встроены в VBA. Это значит что можно без вызова сторонних объектов переименовать, переместить или копировать любой файл. Все это делается при помощи всего двух команд: FileCopy и Name [Исходный файл] As [Новый файл] . Притом команда FileCopy выполняет только копирование, а Name [Исходный файл] As [Новый файл] — как переименование, так и перемещение. Разница лишь в том, что при переименовании мы указываем только новое имя файла, а при перемещении — другую директорию(папку), в которую следует переместить файл. И в дополнение я приведу пример удаления файла. Теперь можно рассмотреть несложные примеры использования этих команд:

Sub Copy_File() Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя файла для копирования sNewFileName = «D:WWW.xls» ‘имя копируемого файла. Директория(в данном случае диск D) должна существовать If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub FileCopy sFileName, sNewFileName ‘копируем файл MsgBox «Файл скопирован», vbInformation, «www.excel-vba.ru» End Sub

Sub Move_File() Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя исходного файла sNewFileName = «D:WWW.xls» ‘имя файла для перемещения. Директория(в данном случае диск D) должна существовать If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub Name sFileName As sNewFileName ‘перемещаем файл MsgBox «Файл перемещен», vbInformation, «www.excel-vba.ru» End Sub

Sub Rename_File() Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя исходного файла sNewFileName = «C:WWW1.xls» ‘имя файла для переименования If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub Name sFileName As sNewFileName ‘переименовываем файл MsgBox «Файл переименован», vbInformation, «www.excel-vba.ru» End Sub

Sub Delete_File() Dim sFileName As String sFileName = «C:WWW.xls» ‘имя файла для удаления If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub Kill sFileName ‘удаляем файл MsgBox «Файл удален», vbInformation, «www.excel-vba.ru» End Sub

Вот так. Вроде ничего сложного.

Так же я хотел бы описать как можно проделать те же операции с файлами при помощи объекта FileSystemObject. Строк кода несколько больше и выполняться операции будут медленнее(хотя вряд ли это будет заметно на примере одного файла). Но раз начал разбирать эту тему — решил показать и эти методы. Прежде всего следует, я думаю, пояснить что за зверь такой — FileSystemObject.
FileSystemObject (FSO) — содержится в библиотеке типов Scripting, расположенной в файле библиотеки scrrun.dll. Объектная модель FSO дает возможность создавать, изменять, перемещать и удалять папки и файлы, собирать о них различную информацию: имена, атрибуты, даты создания или изменения и т.д. Чтобы работать с FSO необходимо создать переменную со ссылкой на объект библиотеки. Сделать это можно двумя способами: через ранее связывание и позднее. Я не буду сейчас вдаваться в подробности этих методов — тема довольно обширная и я опишу её в другой статье.
Ранее связывание: для начала необходимо подключить библиотеку Microsoft Scripting Runtime. Делается это в редакторе VBA: References-находите там Microsoft Scripting Runtime и подключаете. Объявлять переменную FSO при раннем связывании следует так:

Dim objFSO As New FileSystemObject

Плюсы раннего связывания: с помощью Object Browser можно просмотреть список объектов, свойств, методов, событий и констант, включенных в FSO. Но есть значительный минус: если планируется использовать программу на нескольких компьютерах, то есть большая вероятность получить ошибку(читать подробнее).
Позднее связывание: ничего нигде не надо подключать, а просто используем метод CreateObject(именно этот способ используется мной в примерах ниже). Методы таким образом просмотреть не получится, но зато работать будет без проблем на любых компьютерах без дополнительных действий.

Sub Copy_File() Dim objFSO As Object, objFile As Object Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя исходного файла sNewFileName = «D:WWW.xls» ‘имя файла для переименования If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub ‘копируем файл Set objFSO = CreateObject(«Scripting.FileSystemObject») Set objFile = objFSO.GetFile(sFileName) objFile.Copy sNewFileName MsgBox «Файл скопирован», vbInformation, «www.excel-vba.ru» End Sub

Sub Move_File() Dim objFSO As Object, objFile As Object Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя исходного файла sNewFileName = «D:WWW.xls» ‘имя файла для переименования If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub ‘перемещаем файл Set objFSO = CreateObject(«Scripting.FileSystemObject») Set objFile = objFSO.GetFile(sFileName) objFile.Move sNewFileName MsgBox «Файл перемещен», vbInformation, «www.excel-vba.ru» End Sub

Sub Rename_File() Dim objFSO As Object, objFile As Object Dim sFileName As String, sNewFileName As String sFileName = «C:WWW.xls» ‘имя исходного файла sNewFileName = «WWW1.xls» ‘имя файла для переименования If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub ‘переименовываем файл Set objFSO = CreateObject(«Scripting.FileSystemObject») Set objFile = objFSO.GetFile(sFileName) objFile.Name = sNewFileName MsgBox «Файл переименован», vbInformation, «www.excel-vba.ru» End Sub

Хочу обратить внимание, что при переименовании файла через FileSystemObject необходимо указать только имя нового файла — путь указывать не надо. Иначе получите ошибку.

Sub Delete_File() Dim objFSO As Object, objFile As Object Dim sFileName As String sFileName = «C:WWW.xls» ‘имя файла для удаления If Dir(sFileName, 16) = «» Then MsgBox «Нет такого файла», vbCritical, «Ошибка»: Exit Sub ‘удаляем файл Set objFSO = CreateObject(«Scripting.FileSystemObject») Set objFile = objFSO.GetFile(sFileName) objFile.Delete MsgBox «Файл удален», vbInformation, «www.excel-vba.ru» End Sub

Вот теперь вроде бы все.

Статья помогла? Поделись ссылкой с друзьями!

Ссылка на основную публикацию
Adblock
detector