Предварительно написанное тело Excel в Outlook VBA
У меня постоянно меняется список инвентаря (часто делаются новые добавления), для которых я пытаюсь написать подраздел, который будет работать с Outlook, чтобы отправить предварительно написанный ответ электронной почты. Из информации, которую я нашел в Интернете (например, полезный опыт Рона де Бруина), кажется, что это должно быть возможно, но я застрял в попытке выяснить, можно ли выполнять код всякий раз, когда гиперссылка электронной почты нажата в пределах Столбец H.
Например, у меня есть имя человека в столбце A, начинающемся в строке 3, и их электронная почта в столбце H, начиная с строки 3, которая автоматически форматируется как гиперссылка, которая открывает новое пустое сообщение в Outlook. Я хотел посмотреть, можно ли применить макрос, который будет автоматически заполнять строку Subject и сообщение Body каждый раз, когда будет выбрана гиперссылка. Вот что я имею до сих пор:
Sub SendEmail() Dim olApplication As Outlook.Application Set olApp = CreateObject("Outlook.Application") Dim olMail As Outlook.MailItem Set olMail = olApp.CreateItem(olMailItem) olMail.To= olMail.Subject = "Subject Line" olMail.Body = "This is the body of the e-mail" olMail.Display End Sub
То, что у меня до сих пор не работает, потому что я не уверен, что мне нужно ссылаться на поле «.To =» как диапазон (столбец H), или если мне нужно придерживаться условного оператора там, чтобы он выполнялся на основе того, выбрана гиперссылка.
- Excel VBA Поиск в Outlook Несколько критериев (идентификатор и дата)
- Запуск макроса Excel из Outlook, запущенный на основе темы электронной почты
- Вызов макроса Excel из Outlook 16
- Ограничение символов ячейки Excel VBA
- Добавление подписи, состоящей из изображений в Outlook, с использованием excel VBA
- Параметры безопасности Excel при открытии из Outlook
- Отправка обновленного листа Excel Каждый рабочий день с использованием VBA Excel / Outlook
- Ошибка при утверждении If после нескольких исполнений
- Создание электронной почты из Excel по строке с прикрепленными элементами на основе соответствия получателей в каждой строке
- Как я могу программировать Excel для работы с Outlook?
- Ссылка Общая папка Outlook в VBA
- Отображение открытых временных интервалов для календаря Outlook в Excel
- Таблица Outlook в Excel с использованием VBA
Ответ на ваш вопрос – да.
Что вам нужно сделать, так это получить недавно открытый объект Inspector в Outlook.
Помните, что когда вы нажимаете на ссылку, она автоматически создаст MailItem.
Вам нужно завладеть вновь созданным объектом MailItem, чтобы вы могли манипулировать им.
Что-то вроде:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) On Error GoTo halt Application.EnableEvents = False Dim olApp As Outlook.Application Dim olMail As Outlook.MailItem Set olApp = GetObject(, "Outlook.Application") Do While olApp.Inspectors.Count = 0 DoEvents Loop Set olMail = olApp.Inspectors.Item(1).CurrentItem With olMail .Subject = "I was able to change the subject" .Body = "Dear " & Target.Range.Offset(0, -1).Value .Display End With forward: Application.EnableEvents = True Exit Sub halt: MsgBox Err.Description Resume forward End Sub
Обратите внимание, что вам необходимо привязать Outlook к Excel , указав его правильно.
Также обратите внимание, что Outlook должен быть открытым, иначе вам нужно добавить обработчик.
Это просто указывает на то, как вы получите доступ к новому созданному mailitem после гиперссылки. НТН