Как экспортировать несколько таблиц из электронной почты outlook в excel (один и тот же лист)
Здравствуйте друзья,
У меня возникли трудности с пониманием того, как я могу экспортировать несколько таблиц из электронной почты Outlook в Excel. Куда бы я ни посмотрел, я нахожу, как это сделать для нескольких таблиц на разных листах, но я ищу способ сделать это на одном листе.
Электронные письма, для которых я хочу автоматизировать это, форматируются как две(или более) отдельные таблицы. Я хочу иметь возможность использовать этот скрипт для писем с одной и той же темой, но у меня есть разное количество строк для разных тем в файлах .msg. Некоторые письма имеют 1 Таблица из 10 строк х 2 colomns, а некоторые могут иметь 3 таблицы 2 строки X 2 colomns. Количество колонн не превышает 2.
Я хотел бы, чтобы скрипт позволял мне выбирать, из каких писем я хотел бы извлечь данные, и создавать новую книгу Excel. Пример: я выбираю 15 электронных писем и нажимаю кнопку макроса, и лист Excel получает строку заголовка с именами атрибутов на A1, B1...., а затем заполняет строки ниже значениями атрибутов.
Я постараюсь показать вам, как это выглядит, когда я получу письмо здесь:
_____________________________________________
Инфо
______________________________________________
Телефон: 9434343
Обратная связь: пачка
тема Вито
электронной почты crm@crm.com
______________________________________________
пользовательская информация
______________________________________________
браузер Firefox
ClientIP 00.00.0.0
Сайт CRM
Итак, мой идеальный лист в Excel теперь будет выглядеть так:
Phonenr | обратная связь | тема | mailto | браузер | ClientIP | сайт |
______________________________________________________________________________
9434343 пачка Вито crm@crm.com FIREFOX 00.00.0.0 CRM
Значения следующего сообщения электронной почты должны быть добавлены ниже (строка 3 в данном примере). Пожалуйста, отметьте, что меня не волнуют имена таблиц, когда они появляются в электронном письме. В этом примере "информация" и "информация о пользователе" удаляются, удаляются, удаляются! :)
Что я уже пробовал:
ТАК МНОГО!!!
Но именно сюда Google привел меня после двух недель раскопок. Этот codesnippet разделяется на разные листы и не имеет возможности форматирования в заголовок и строки. (Из-за политики работы я не могу загрузить готовую надстройку для этого(и да, я знаю, что она существует: (), так как весь код должен быть сырым и может быть обработан другими, кроме меня)
Sub ExportTablesinEmailtoExcel() Dim objMail As Outlook.MailItem Dim objWordDocument As Word.document Dim objTable As Word.Table Dim lTableCount As Long Dim objExcelApp As Excel.Application Dim objExcelWorkbook As Excel.Workbook Dim objExcelWorksheet As Excel.Worksheet Dim i As Long 'Create a new excel workbook Set objExcelApp = CreateObject("Excel.Application") Set objExcelWorkbook = objExcelApp.Workbooks.Add objExcelApp.Visible = True 'Get the table(s) in the selected email Set objMail = Outlook.Application.ActiveExplorer.Selection.Item(1) Set objWordDocument = objMail.GetInspector.WordEditor lTableCount = objWordDocument.Tables.Count If lTableCount > 1 Then 'If there is more than one table 'Copy each table into separate worksheet For i = 1 To lTableCount Set objTable = objWordDocument.Tables(i) objTable.Range.Copy Set objExcelWorksheet = objExcelWorkbook.Sheets(i) objExcelWorksheet.Paste objExcelWorksheet.Columns.AutoFit Next Else 'If there is only one table 'Just copy it into the first worksheet Set objTable = objWordDocument.Tables(1) objTable.Range.Copy Set objExcelWorksheet = objExcelWorkbook.Sheets(1) objExcelWorksheet.Paste objExcelWorksheet.Columns.AutoFit End If End Sub