Show/Get the Outlook Directory/Folder Structure

I’m currently using the Get Outlook Mail Messages to retrieve the mails of one specific folder. But I would like to give the user the choise to pick a valid folder. So I would like to lookup all available folders, like INBOX\folder1, INBOX\folder2 and so on.

I cannot find a package that is doing this. Is there something out there or a workaround?

1 Like

Hi @kwoxer

Maybe this solution will be helpful here:

1 Like

I cannot get it to work. I just run the Invoke Code activity with this code:

Dim olApp As Microsoft.Office.Interop.Outlook.Application
Dim olNs As Microsoft.Office.Interop.Outlook.Namespace
Dim olParentFolder As Microsoft.Office.Interop.Outlook.MAPIFolder
Dim olFolderA As Microsoft.Office.Interop.Outlook.MAPIFolder
olApp = New Microsoft.Office.Interop.Outlook.Application
olNs = olApp.GetNamespace("MAPI")
olParentFolder = olNs.Folders("my@mail.com").Folders("Inbox")
For Each olFolderA In olParentFolder.Folders
  Msgbox(olFolderA.FolderPath)
Next

Then I get:

The workflow has validation errors. Review and resolve them first.

No compiled code to run
error BC31539: Der Interoptyp, der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.Application" übereinstimmt, wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 1
error BC31539: Der Interoptyp, der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.NameSpace" übereinstimmt, wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 2
error BC31539: Der Interoptyp, der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.MAPIFolder" übereinstimmt, wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 3
error BC31539: Der Interoptyp, der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.MAPIFolder" übereinstimmt, wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 4
error BC31539: Der Interoptyp, der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.Application" übereinstimmt, wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 5

When I add:
<AssemblyReference>Microsoft.Office.Interop.Outlook</AssemblyReference>
manually to the project.xaml file.

The validation error is gone, but now I get:

RemoteException wrapping System.ArgumentException: No compiled code to run
error BC31539: Der Interoptyp,
der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.Application" übereinstimmt,
wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 1
error BC31539: Der Interoptyp,
der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.NameSpace" übereinstimmt,
wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 2
error BC31539: Der Interoptyp,
der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.MAPIFolder" übereinstimmt,
wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 3
error BC31539: Der Interoptyp,
der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.MAPIFolder" übereinstimmt,
wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 4
error BC31539: Der Interoptyp,
der mit dem eingebetteten Interoptyp "Microsoft.Office.Interop.Outlook.Application" übereinstimmt,
wurde nicht gefunden. Möglicherweise fehlt ein Assemblyverweis. At line 5
 
   at UiPath.Activities.System.Utilities.InvokeCode.CompilerRunner.Compile(String code,
Int32 errLineOffset,
Boolean generateInMemory)
   at UiPath.Activities.System.Utilities.InvokeCode.CompilerRunner..ctor(String code,
String className,
String methodName,
Int32 errLineOffset,
Boolean generateInMemory)
   at UiPath.Activities.System.Utilities.InvokeCode.VBCodeInvoker.GetCompilerRunner(String code,
String className,
String methodName,
Int32 errLineOffset,
Boolean inMemory)
   at UiPath.Activities.System.Utilities.InvokeCode.NetCodeInvoker.GetCompilerRunner(String userCode,
List`1 args,
String imps,
Boolean inMemory)
   at UiPath.Activities.System.Utilities.InvokeCode.NetCodeInvoker.Run(String userCode,
List`1 inArgs,
IEnumerable`1 imps,
Object[] args)
   at UiPath.Core.Activities.InvokeCode.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance,
ActivityExecutor executor,
BookmarkManager bookmarkManager)
   at System.Activities.ActivityInstance.Execute(ActivityExecutor executor,
BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,
BookmarkManager bookmarkManager,
Location resultLocation)

Have it. Just add Microsoft.Office.Interop.Outlook on the Package Explorer in section nuget. It was hard to find. After install it works properly. Can be closed.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.