открытие Outlook .msg-файла с помощью vba excel
Привет, ребята, у меня есть следующий код
Sub Kenneth_Li() Dim objOL As Outlook.Application Dim Msg As Outlook.MailItem Set objOL = CreateObject("Outlook.Application") inPath = "C:\Users\SiliconPlus\Desktop\Si+ Contact Lists\Contact_Si+" thisFile = Dir(inPath & "\*.msg") Do While thisFile <> "" 'Set Msg = objOL.CreateItemFromTemplate(thisFile) 'Or Set Msg = objOL.OpenSharedItem(thisFile) Msg.display MsgBox Msg.Subject thisFile = Dir Loop Set objOL = Nothing Set Msg = Nothing End Sub
Всякий раз, когда я использую OpenSharedItem, он дает ошибку во время выполнения. 438 Объект не поддерживает это свойство или метод.
И всякий раз, когда я использую CreateItemFromTemplate, я получаю следующую ошибку:
- Создание кнопки «Проверить имена» в Excel
- Отправка писем с помощью Outlook 2013 / Excel 2013
- Код Excel VBA выдает ошибку во время выполнения 429 при отправке электронной почты Outlook с помощью планировщика заданий
- Outlook 2010 - странная ошибка.
- Отправка электронной почты от Excel с помощью VBA - Outlook, добавляющий цвет фона
Cannot open file: AUTO Andy Low Yong Cheng is out of the office (returning 22 09 2014).msg. The file may not exist, you may not have permission to open it, or it may be open in another program. Right-click the folder that contains the file, and then click properties to check your permissions for the folder.
- Стратегия замены или миграции для Excel / Access
- Outlook изменяет размеры изображений при вставке из приложения vba excel
- VBA, Вставить подпись внешнего вида в код vba
- VBA Outlook для Excel с помощью пользовательской формы
- Как вставлять Mulple excel range в качестве изображения в Outlook одновременно
- Код Excel VBA для чтения имени пользователя из ячейки, затем отправьте электронное письмо этому пользователю
- Primefaces <p: dataExporter> не производит загрузку Excel
- Как отображать подпись в макросе, используемом для отправки почты из Outlook?
Я не на 100% на то, что вы пытаетесь получить с кодом, но попробуйте это:
Sub LiminalMsgbx() Dim outappp, outmaill As Object Dim pthh As String pthh = "C:\DeskTop\MyTemplate.oft" Set outappp = CreateObject ("Outlook.Application") Set outmaill = outapp.CreateItemFromTemplate(pthh) With outmaill .display End With Set outappp = Nothing Set outmaill = Nothing End Sub
Вы также можете использовать .send
вместо .display
.
Метод OpenSharedItem открывается объектом Namespace, а не Application.
Set objOL = CreateObject("Outlook.Application") set objNs = objOL.GetNamespace("MAPI") objNs.Logon ... Set Msg = objNs .OpenSharedItem(thisFile)
Что касается второй ошибки, это довольно однозначно – файл не может быть найден. Вы должны предоставить полное имя файла с помощью пути к папке. Вы предоставляете только имя файла.