Перемещение файлов между папками, когда имена папок частично совпадают (в R или VBA) - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь решить следующую проблему

У меня есть 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, который в основном содержит полный список подпапок, который выглядит следующим образом:

Data structure: Company name is the name of the folder in which I want to move the files that are currently in

Структура данных: название компании - это имя папки, в которую я хочу переместить файлы, которые в данный момент находятся в «папке вложений». attachment1 - это имя файла pdf (которое всегда меняется, поэтому в идеале код должен собрать все файлы в папке вложений и переместить их в файл с названием компании

Заранее спасибо,

Simon

1 Ответ

0 голосов
/ 14 февраля 2020

ОК. Итак, с помощью помощника я обнаружил, что решить эту проблему очень просто, используя команду "command" в windows

В основном создайте текстовый файл (в блокноте), который имеет следующая структура

переместить "исходный каталог pdf-файла" "новое расположение pdf-файла \" ...

Повторить структуру для каждого файла (что требует некоторых базовых c манипуляций строк Excel)

Затем сохраните файл .txt как файл .cmd и откройте его. Сделанный

...