MyPath = ActiveWorkbook.Path & "\"
'Здесь Вы мучаете документы
Kill MyPath & "*.doc*"
Как удалить файлы из директории с помощью VBA
Есть макрос в экселе который запускает ворд файлы находящиеся с ним в папке и выгружает инфу. Нужно сделать так, что бы потом все отработанные файлы удалялись. Мне уже кажется что это не возможно так как нашел я лишь одну команду за 3 дня. Kill. и ту преминить не получается((
Буду благодарен, если кто то сможет помочь.
Код:
Private Sub йцу1()
Dim i%, j%, k%, LastRow&, s$, MyPath$, MyFileName$, MyFullName$, Arr, WA As Object, oMyDoc As Object
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
Arr = Range("C1:C" & LastRow).Value ' Массив с номерами заказов
MyPath = ActiveWorkbook.Path & "" 'Файлы word ищутся в той же папке, где лежит заполняемый файл Excel
Set WA = CreateObject("Word.Application")
WA.Visible = True
For i = 3 To UBound(Arr)
Arr(i, 1) = Trim(Arr(i, 1))
Arr(i, 1) = Replace(Arr(i, 1), "/", "?")
MyFileName = Dir(MyPath & Arr(i, 1) & ".doc*")
Do Until MyFileName = ""
MyFullName = MyPath & MyFileName
Set oMyDoc = WA.Documents.Open(MyFullName)
For j = 1 To 50: DoEvents: Next
For j = 1 To oMyDoc.Tables(1).Columns.Count
s = oMyDoc.Tables(1).cell(1, j).Range.Text
s = Replace(s, Chr(7), "") 'Удаление символа конца ячейки Word
Cells(i, j + 4) = s
Next j
oMyDoc.Close 0
MyFileName = Dir
Loop
Next i
WA.Quit False
Set oMyDoc = Nothing: Set WA = Nothing
End Sub
Dim i%, j%, k%, LastRow&, s$, MyPath$, MyFileName$, MyFullName$, Arr, WA As Object, oMyDoc As Object
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
Arr = Range("C1:C" & LastRow).Value ' Массив с номерами заказов
MyPath = ActiveWorkbook.Path & "" 'Файлы word ищутся в той же папке, где лежит заполняемый файл Excel
Set WA = CreateObject("Word.Application")
WA.Visible = True
For i = 3 To UBound(Arr)
Arr(i, 1) = Trim(Arr(i, 1))
Arr(i, 1) = Replace(Arr(i, 1), "/", "?")
MyFileName = Dir(MyPath & Arr(i, 1) & ".doc*")
Do Until MyFileName = ""
MyFullName = MyPath & MyFileName
Set oMyDoc = WA.Documents.Open(MyFullName)
For j = 1 To 50: DoEvents: Next
For j = 1 To oMyDoc.Tables(1).Columns.Count
s = oMyDoc.Tables(1).cell(1, j).Range.Text
s = Replace(s, Chr(7), "") 'Удаление символа конца ячейки Word
Cells(i, j + 4) = s
Next j
oMyDoc.Close 0
MyFileName = Dir
Loop
Next i
WA.Quit False
Set oMyDoc = Nothing: Set WA = Nothing
End Sub
А ошибки при этом какие-нибудь выдаются? еще можешь попробовать через FileSystemObject (FSO)
Ещё попытайся отладить свой макрос и посмотри, какие значения у тебя получаются. Вдруг формат имени файла некорректный.
Код: