Я считаю, что то, о чем вы просите, возможно, но для его реализации потребуется много усилий.
Для вашего подхода я предполагаю, что информация для этих электронных писем поступает из БД.Я написал бы макрос для опроса БД, а также создавал и отправлял каждое письмо соответствующему пользователю.
В системе каждого пользователя у меня было бы правило, которое распознало бы эти письма и вызывало макрос для их обработки.Макрос извлекает содержимое письма, копирует его в форму и передает управление пользователю.Кнопка «Отправить» будет проверять выбор пользователя и сохранять результаты в глобальных переменных, прежде чем вернуть управление макросу.При восстановлении управления макрос обновит базу данных.
Этот макрос будет большим, и я уверен, что он нуждается в обслуживании.Чтобы защитить себя от вредоносных программ, Outlook не предоставляет простого способа импорта макросов.Макрос и форма должны быть вручную импортированы в систему каждого пользователя, каждый раз, когда они изменяются.Если у вас нет технически способных пользователей, именно вы будете посещать каждую систему и обновлять ее.
Я бы отверг любой подход, который требовал кода в системах пользователя.
Чтобы проверить альтернативный подход,Я вручную создал это письмо:
и отправил его себе.Когда я получил письмо, я действовал в соответствии с инструкциями.Когда я получил ответ, он выглядел следующим образом:
Текст Html для этого ответа полон информации о форматировании.Вы можете извлечь из него ответы, но я верю, что текстовое тело будет проще.Чтобы создать следующее, я начал с текстового тела, заменил каждый возврат каретки и перевод строки на [CR] и [LF], а затем добавил несколько новых строк, чтобы сделать его немного легче для чтения.
[CR][LF][CR][LF] [CR][LF][CR][LF]From: Tony Dallimore [mailto:a.j.dallimore@MyIsp.com] [CR][LF]Sent: 25 May 2018 14:22[CR][LF]To: 'Tony Dallimore' <a.j.dallimore@MyIsp.com>[CR][LF]Subject: Test email 2[CR][LF][CR][LF] [CR][LF][CR][LF]
Please:[CR][LF][CR][LF] [CR][LF][CR][LF]
1) Click Reply within the Home tab.[CR][LF][CR][LF]
2) You may find it helpful to click Pop Out.[CR][LF][CR][LF]
3) Enter “A” in the Accept column or “R” in the Reject column of every row in the following table.[CR][LF][CR][LF]
4) Click Send.[CR][LF][CR][LF] [CR][LF][CR][LF]Code[CR][LF][CR][LF]Description[CR][LF][CR][LF]Accept[CR][LF][CR][LF]Reject[CR][LF][CR][LF]
111[CR][LF][CR][LF]ABC[CR][LF][CR][LF]A[CR][LF][CR][LF][CR][LF][CR][LF]
222[CR][LF][CR][LF]DEF[CR][LF][CR][LF][CR][LF][CR][LF]R[CR][LF][CR][LF]
333[CR][LF][CR][LF]GHI[CR][LF][CR][LF]A[CR][LF][CR][LF][CR][LF][CR][LF]
444[CR][LF][CR][LF]JKL[CR][LF][CR][LF]A[CR][LF][CR][LF] [CR][LF][CR][LF]
[CR][LF][CR][LF] [CR][LF]
Вам понадобится второй макрос для обработки этих писем, извлечения ответов и обновления базы данных.В системе пользователя нет проверки, но от них не требуется ничего сложного.Если вы будете звонить по телефону и каждый раз звонить им, получая неполный ответ, они скоро поймут, что жизнь станет приятнее, если они сделают это правильно с первого раза.
Я не знаю, насколько сложно получить доступ к вашей БД из VBA.но я не верю, что что-то еще является особенно трудным.
Это не тот подход, о котором вы просили, но я верю, что его будет намного проще реализовать.Что еще более важно, весь код находится в вашей системе, что значительно упростит разработку и сопровождение.