Теперь я пытаюсь скопировать локальный файл .msg (например, C: \ temp \ DUMMY.msg) в свою папку Outlook (например, AAA). Я могу получить entryID папки AAA с помощью MAPI, но я не знаю, как переместить локальный файл .msg в Outlook Dir с помощью VBA. (в C # я нашел эти вопросы и ответы, но похоже, что это не для VBA) Импортируйте файл .msg для просмотра пользовательской папки с помощью c # а>
Кто-нибудь знает, как это сделать?
Я уже импортировал библиотеку, написанную ниже.
- Visual Basic для приложений
- Библиотека объектов Microsoft Excel 15.0
- OLE Automation
- Библиотека объектов Microsoft Office 15.0
- Microsoft VBScript регулярные выражения 5.5
- Среда выполнения сценариев Microsoft
- Библиотека объектов Microsoft Forms 2.0
Я назначил папку назначения Outlook в MyFolder таким образом.
If argStrEntryID = "" Тогда установите MyFolder = oApp.Session.GetDefaultFolder (olFolderInbox) Иначе установите MyFolder = oApp.Session.GetFolderFromID (argStrEntryID) End If
2 ответа
Вы можете использовать Namespace.OpenSharedItem
, указав полное имя файла MSG, а затем скопировать (MailItem.Copy
) или переместить его (MailItem.Move
).
Как упоминал Дмитрий, я использовал Namespace.OpensharedItem, и это сработало.
Dim Filename As String
Filename = "C:\temp\DUMMY.msg"
Dim DestOlDirID As String
DesOlDirID = "(entry id value)"
Dim oApp
Set oApp = CreateObject("Outlook.Application")
'Get Namespace object
Dim oNamespace As Namespace
Set oNamespace = oApp.GetNamespace("MAPI")
'assign outlook folder by entry ID
Dim oFolder As Folder
Set oFolder = oApp.Session.GetFolderFromID(DesOlDirID)
Dim oItem As Object
Set oItem = oNamespace.OpenSharedItem(Filename)
'actually this move method did not delete original .msg local file. it works like copy.
oItem.Move oFolder
Set oItem = Nothing
Set oFolder = Nothing
Set oNamespace = Nothing
Похожие вопросы
Связанные вопросы
Новые вопросы
excel
Только для вопросов по программированию для объектов или файлов Excel или для разработки сложных формул. Вы можете объединить тег Excel с VBA, VSTO, C #, VB.NET, PowerShell, OLE-автоматизацией и другими тегами и вопросами, связанными с программированием, если это применимо. Общая помощь по MS Excel для функций одного листа доступна в Super User.