Я пытаюсь настроить автоматизированную базу данных в Excel, которая отправляет электронное письмо, когда у пользователя есть оборудование, вышедшее из работы после ожидаемой даты выполнения. Я также хочу реализовать функцию, с помощью которой пользователь может ответить на электронное письмо с ключевым словом «продлить», чтобы продлить срок его выхода на 7 дней.
У меня электронное письмо работает и отправляется правильно, но когда я пытаюсьсоздать сценарий в Outlook, который связывает их ответ с открытым листом Excel, у меня возникли трудности. Идея состоит в том, что Outlook и Excel будут открываться одновременно на выделенном ПК, поэтому я не хочу открывать новый файл Excel при каждом запуске макроса Outlook.
Вот макрос Outlook:
Sub Exc_macro(Item As Outlook.MailItem)
Dim ExApp As Workbook
Dim gageID As String
Dim cap As String
If Left(Item.Body, 6) = "extend" Then 'Check for keyword in body
gageID = Mid(Item.Subject, 23) 'Get equipment ID number
Set ExApp = Excel.ActiveWorkbook
Call ExApp.Application.Run("Module2.increase", gageID)
End If
End Sub
Я хочу передать аргумент gageID
в макрос Excel здесь:
Sub increase(gageID As String)
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
For Each cell In Rng
If cell.Value = gageID Then
cell.Offset(0, 9).Value = cell.Offset(0, 9).Value + 7
End If
Next
End Sub
Мне трудно ссылаться на открытую книгу в Outlook и впоследствиизапуск макроса Excel. Любая помощь будет высоко ценится.