Мне нужен макрос в Excel для сканирования всех электронных писем Outlook в определенной папке моего почтового ящика, который извлекает любые данные из поля «Тема», тела электронного письма и автоматической подписи, содержащихся в скобках, и отправляет их в отдельные строки в Excel. Однако я хотел бы использовать маркеры R1, R2, R3, R4, R5, R6, чтобы данные в скобках с пометкой R1 выплевывались в строку 1 моего листа Excel, данные в скобках с пометкой R2 выплевывались в строку 2 и т.п.
Маркеры R1-R6 являются частью оригинального электронного письма.
Я совершенно неопытен в этом и пытался объединить разные фрагменты кода VBA для моего макроса Excel, чтобы все это работало, но я не очень далеко продвинулся. Я нигде не могу найти ответ на этот вопрос, как бы я ни старался. Буду очень благодарен за помощь :)
Отличный вопрос. Нет, это не просто то, что я добавляю вручную, чтобы код работал.
Итак, как вы ожидаете, что код будет знать, когда начинать резать текст и где его останавливать?
Я просто хочу, чтобы любые данные в открытых и закрытых скобках выплевывались в отдельные строки электронной таблицы, но я хочу, чтобы определенные данные отображались в определенных строках.
Я рад, что отображаются R1, R2 и R3, и я могу удалить их вручную.
Мне нужен макрос в Excel для сканирования всех электронных писем Outlook в определенной папке моего почтового ящика, который извлекает любые данные из поля «Тема», тела электронного письма и автоматической подписи, содержащихся в скобках, и отправляет их в отдельные строки в Excel. Затем я могу добавить код Йосси ниже, чтобы управлять обработкой текста. Пожалуйста, кто-нибудь может мне помочь?
Это может помочь вам в части обработки текста.
При условии, что порядок частей электронной почты фиксирован, т.е. R5 всегда первый, R3 второй и так далее.
Вы будете использовать две важные функции:
FIND
- помогает найти любой символ в текстовой строке, когда поиск можно начать с середины строки.MID
— помогает извлечь текст из середины строки.Используя функцию FIND
, мы найдем первое (
и )
после него.
Если я помещу текст в A1, формула будет выглядеть так:
=FIND("(",A1,1)
Результат 26.=FIND(")",A1,FIND("(",A1,1))
результат 56.Теперь R5 можно полностью извлечь с помощью функции MID:
=MID(A1,FIND("(",A1,1)+1,FIND(")",A1,FIND("(",A1,1))-FIND("(",A1,1)-1)
Результат: R5 Производство фильмов о Джеймсе Бонде
И так вы продвигаетесь вперед, каждый раз ища следующий (
, когда начинаете поиск там, где закончился предыдущий )
.
Удачи
Являются ли маркеры R1-R6 частью оригинального письма?