Я пытаюсь решить следующую проблему
У меня есть 9 папок с PROS_2010 по PROS_2019. Каждая из них имеет около 500 подпапок с именами, структурированными следующим образом, например, PROS_201001211_FIRM NAME_number. В каждой подпапке есть несколько файлов pdf с разными именами.
Я создал в VBA еще одну папку с именем sample, в которой содержится около 400 подпапок, каждая из которых названа с указанием c ИМЯ ФИРМЫ. Для этого я использовал следующий код:
Sub MakeFolders()
Dim Rng As Range
Dim maxRows, maxCols, r, c As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count
maxCols = Rng.Columns.Count
For c = 1 To maxCols
r = 1
Do While r <= maxRows
If Len(Dir(ActiveWorkbook.Path & "\" & Rng(r, c), vbDirectory)) = 0 Then
MkDir (ActiveWorkbook.Path & "\" & Rng(r, c))
On Error Resume Next
End If
r = r + 1
Loop
Next c
End Sub
Теперь я хочу переместить все pdf-файлы, которые находятся в исходных подпапках PROS_201001211_FIRM NAME_number, в папки с именем только FIRM NAME. По сути, каждая исходная подпапка содержит отчет о фирме за конкретный c год (с 2010 по 2019 год), и я хочу получить все отчеты о фирмах за все годы в одной папке с именем ИМЯ ФИРМЫ
. проще, у меня уже есть файл Excel, который в основном содержит полный список подпапок, который выглядит следующим образом:
Структура данных: название компании - это имя папки, в которую я хочу переместить файлы, которые в данный момент находятся в «папке вложений». attachment1 - это имя файла pdf (которое всегда меняется, поэтому в идеале код должен собрать все файлы в папке вложений и переместить их в файл с названием компании
Заранее спасибо,
Simon