Excel автоматизация записи ответов - PullRequest
0 голосов
/ 07 января 2020

У меня есть лист Excel, который содержит некоторые данные, относящиеся к управлению изменениями.

Пользователи открывают лист Excel и дают свое одобрение комментариям, записанным в определенном столбце.

Есть ли способ, где мы можем вызывать почту для людей на основе данных в Excel с помощью ссылки одобрения / отклонения и автоматически записывать их ответы в Excel?

Я пытался работать с веб-формами, но мне не помогло

1 Ответ

0 голосов
/ 07 января 2020

Вы можете разработать надстройку для Excel, где вы можете автоматизировать Outlook для отправки электронных писем и обработки новых электронных писем. См. Пошаговое руководство. Создайте свою первую надстройку VSTO для Excel , чтобы быстро приступить к работе. Или просто автоматизируйте Outlook из макросов Excel VBA.

Как: создать и отправить сообщение Outlook программным способом В статье объясняются необходимые шаги для отправки электронной почты программно:

using System.Runtime.InteropServices;
// ...
private void CreateSendItem(Outlook.Application Application)
{
     Outlook.MailItem mail = null;
     Outlook.Recipients mailRecipients = null;
     Outlook.Recipient mailRecipient = null;
     try
     {
          mail = Application.CreateItem(Outlook.OlItemType.olMailItem)
              as Outlook.MailItem;
          mail.Subject = "A programatically generated e-mail";
          mailRecipients = mail.Recipients;
          mailRecipient = mailRecipients.Add("Eugene Astafiev");
          mailRecipient.Resolve();
          if (mailRecipient.Resolved)
          {
              mail.Send();
          }
          else
          {
              System.Windows.Forms.MessageBox.Show(
                  "There is no such record in your address book.");
          }
     }
     catch (Exception ex)
     {
         System.Windows.Forms.MessageBox.Show(ex.Message,
              "An exception is occured in the code of add-in.");
     }
     finally
     {
         if (mailRecipient != null) Marshal.ReleaseComObject(mailRecipient);
         if (mailRecipients != null) Marshal.ReleaseComObject(mailRecipients);
         if (mail != null) Marshal.ReleaseComObject(mail);
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...