Не удалось получить Excel для создания электронной почты
Когда я запускаю свой макрос для создания электронной почты, он останавливается на первом шаге, который я проверил, и проверяются MS Office и MS Outlook,
С кодом;
Dim OutApp As Outlook.Application
Я получаю ошибку, определяемую пользователем, не определен
- Отправка электронной почты от Excel с помощью VBA - Outlook, добавляющий цвет фона
- Excel VBA для поиска в почтовых сообщениях Outlook
- Добавьте адрес электронной почты в сообщение электронной почты Outlook, если значение ячейки равно 1
- Вставить содержимое ячеек в Outlook, поддерживая форматирование
- Экспорт данных электронной почты Automail в Excel и обратно
и с кодом;
Dim OutlookApp As Object Set OutlookApp = CreateObject("Outlook.Application")
Я получаю
active x не может создать объект
Я пробовал работать как администратор, и с закрытием и открытием Outlook, все еще не могу заставить его создать беспорядок.
- Программно подавить сообщение электронной почты электронной почты Outlook с помощью Excel VBA
- Вставка таблицы Excel в электронном письме Outlook: он оглядывается назад
- Ссылка в другой учетной записи
- Извлечь данные из электронной почты Outlook в Excel
- Извлечение информации электронной почты Outlook в Excel со специфических дат vba
- Копировать диапазон ячеек в почтовый адрес
- что вызвало изменение файла вложений при отправке электронной почты Python
- Отсканируйте почтовый ящик не по умолчанию для электронной почты?
Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Dim Email As String, Subj As String Dim answer As Integer Dim Msg As String, body As String, URL As String Dim OutApp As Object, OutMail As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = Email .CC = vbNullString .BCC = vbNullString .Subject = Subj .body = body .Display End With On Error GoTo 0
Вот два рабочих решения для вас:
Public Sub UsingEarlyBinding() 'A reference to the Microsoft Outlook XX Object Library is 'necessary to run this code (as mentioned by @gizlmeier) Dim OutlookApp As Outlook.Application Dim objEmail As Object Set OutlookApp = New Outlook.Application Set objEmail = OutlookApp.CreateItem(olMailItem) objEmail.Display End Sub
,
Public Sub UsingLateBinding() 'No references are necessary to run this code Dim OutlookApp As Object Dim objEmail As Object Set OutlookApp = CreateObject("Outlook.Application") Set objEmail = OutlookApp.CreateItem(0) objEmail.Display End Sub
Преимущество использования первого решения заключается в том, что вы видите раскрывающееся меню в VBE (при написании кода), предлагающее автозаполнение. Это связано с тем, что VBE распознает (со ссылкой) библиотеку Outlook и может предлагать автозавершения из этой библиотеки. Пример: