Как извлечь электронные письма из списка папок, где электронная почта находится в имени папки в Windows? - PullRequest
0 голосов
/ 01 марта 2011

У меня есть список папок с этими вариациями имен: (там около 700 папок, так что вручную это не вариант)

 name name name - email@email.com
 name name name - email@email.com + email@email.com + email@email.com + email@email.com

позаботьтесь об этом: между именем и адресом электронной почты всегда существует:

 " - "

между электронными письмами, когда существует, всегда существует:

 " + "

Я бы хотел взять

«имя имя имя» и назначьте все электронные письма для каждого имени в листе Excel.

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

Затем из текстового файла я должен преобразовать в файл Excel.

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 01 марта 2011

В VBA для Excel вставьте это:

Option Explicit

Sub GetFileNames()
Dim i As Integer
Dim fso As Object, folder As Object, subfolder As Object
i = 0


Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Users\****\Desktop\****")

For Each subfolder In folder.SubFolders
    ActiveCell.Offset(i) = subfolder.Name
    i = i + 1
Next subfolder

Конец Sub

  • Выберите первый столбец, первую строку
  • Затем нажмите «Выполнить», чтобы запуститькоманда VBA
  • Это создаст все строки с именами папок
  • Затем в B используйте следующую формулу: "= LOCALIZAR (" - "; A2)"
  • В C: "= NÚM.CARACT (A2)"
  • В D: "= SEG.TEXTO (A2; 1; B2)"
  • В E: "= SEG.TEXTO (A2; B2 + 3; C2) "
  • In F:" = SUBST (E2; "+"; ",") "

В D вы получитеимя, и в F вы получите все электронные письма, разделенные ",".Вот и все!

1 голос
/ 01 марта 2011

Запустите эти две команды из командной строки в каталоге, где начинается ваша директория tre.

for /D   %a in (*.*) do @echo %a >> dlist.txt

for /F "tokens=1,2* delims=-" %a in (dlist.txt) do @echo "%a" ; "%b" >> emails.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...