Я создал правило для запуска сценария, когда письма имеют определенные заголовки.Мой скрипт пытается получить содержимое таблицы Excel из электронного письма и сохранить его локально для дальнейшей обработки.
Ниже приведен фрагмент, который я нашел и использовал: https://social.msdn.microsoft.com/Forums/en-US/22631e7e-53df-47c4-b625-22c9e935f02b/copy-a-table-from-body-of-an-email-to-excel-spreadsheet?forum=outlookdev
Это работаеткогда я использую Application.ActiveExplorer.Item
, то есть в электронном письме, которое открыто в момент запуска.
Однако я хочу выполнить приведенное ниже действие для электронного письма, которое его вызвало.Я пытался следовать Как ссылаться на почту, которая вызвала макрос outlook? и их логику ByRef, но у меня это не сработало.
Может кто-нибудь посоветовать, пожалуйста, как мне получитьтекст таблицы с помощью приведенной ниже логики GetInspector.WordEditor в сообщении триггера?Спасибо!
Sub getDailyCollMV(ByRef Item As Outlook.MailItem)
Dim r As Object 'As Word.Range
Dim doc As Object 'As Word.Document
Dim xlApp As Object, wkb As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set wkb = xlApp.Workbooks.Add
xlApp.Visible = False
xlApp.DisplayAlerts = False
Dim wks As Object
Set wks = wkb.Sheets(1)
For Each ItemVal In Application.ActiveExplorer.Item
Set doc = ItemVal.GetInspector.WordEditor
For x = 1 To doc.tables.Count
Set r = doc.tables(x)
r.Range.Copy
wks.Paste
wks.Cells(wks.Rows.Count, 1).End(3).Offset(1).Select
Next
Next