У меня есть стандартизированное электронное письмо, которое отправлено мне и содержит таблицу (11R x 3C), информацию о которой мне требуется только из нескольких определенных ячеек.
Формат таблицы из электронного письма выглядит следующим образом,
1 |<Empty> |<Empty> |<Empty> |
2 | <Useless info> |
3 | <Impt Info> |
4 |Name: |NameID |<Empty> |
5 |Email: |EmailID |<Empty> |
6 |Contact: |ContactID|<Empty> |
7 |Comment: |CommentID|<Empty> |
8 | <Useless Info> |
9 | <Useless Info> |
10 | <Useless Info> |
11 | <Useless Info> |
Из таблицы меня интересуют только значения <Impt Info>
, NameID
, EmailID
, ContactID
и CommentID
.
Я пробовалциклически просматривая таблицу, используя debug.print
в качестве объекта таблицы Word, но по какой-то причине она видит всю таблицу как одну ячейку.Могу ли я назначить объект таблицы неправильно или просто использовать неправильные коды?
Ниже приведен код, который я пытался использовать:
Sub test()
Dim objMail As Outlook.MailItem
Dim objWordDocument As Word.Document
Dim objTable As Word.Table
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim I As Long
Dim SavePath As String
Dim SaveName As String
'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
SavePath = "C:\Users\John.Grammaticus\Desktop\Test\"
SaveName = objMail.SenderName & " " & objMail.Subject
Set objTable = objWordDocument.Tables(1)
For Each C In objTable.Range.Cells
Debug.Print C.Range.Text
Next C
objTable.Range.Copy
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
objExcelWorksheet.Paste
objExcelWorkbook.SaveAs FileName:=SavePath & " " & SaveName
objExcelWorkbook.Close
End Sub
Текущий код экспортирует значения в Excelи я мог бы потенциально просто манипулировать из Excel вместо этого.Тем не менее, я хотел бы в конечном итоге закачать информацию непосредственно в базу данных Access.Отсюда необходимость вытягивать конкретные значения.