Custom View for my plugin in Outlook 2010 / 2007 - vsto

I'm working to load my WPF control into outlook as a plugin. The only way it allows me to do is to add a custom task pane (which works perfectly fine), which is kind of hard at the UI. To maintain Outlook consistency, I would like to add my own view in the right-view of Outlook, so if the user clicks on some item in the navigation pane, I show my view. This would allow me to show Outlook data in my custom implementation to enhance the UX.
Can someone please let me know how to do this?
-Fahad

Fahad,
Please google up "outlook form region". This sounds like exactly what you need - create your own form region (using outlook's developer tab) and re-register a specific mail for that.
example:
reg.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Office\\Outlook\\FormRegions"))
Best of luck!
Nili

Related

How to access "message bar" in Outlook?

When I enable "Out Of Office" automatic messages in Outlook 2010, the "message bar" is filled in with a warning text. I would like to use such a feature to inform the user of my own feature being enabled.
I cannot find any reference to programmatic access to this bar. I found something about the statusbar, but it is not usable in VBA in Outlook.
I am not even sure the proper English name of this feature is "message bar"; I am referring to the same bar which in Word is used to inform user that a document is "dangerous" because coming from internet.
Is this message bar exposed in VBA for Outlook?
I tried finding other methods to inform the user, so I started studying the Ribbon: if I could make my own tab visible I could use it as a "message bar", but Ribbon is managed by Outlook differently from other Office programs, so most of examples available around are not applicable/working in Outlook.
I was able to programmatically create a tab and add a button to it, but then I can't make the tab visible.
I also tried using property "position" of the commandbar: not just msoBarTop but also msoBarBottom or msoBarPopup, but Outlook ignores my efforts.
But maybe managing the Ribbon in Outlook with VBA should be addressed in a separate question (there are some questions about it here, but I could not find useful tips for me; I have no access to VB VSTO).
The area you are referring to is used to implement Mail Tips. Although you can create custom ones through the Exchange Admin Center , they cannot be interacted with via code.
Manipulating Ribbon controls to show states or user messages is not really recommended, as the Ribbon is generally a static thing (except in case of menus, dropdowns and Galleries).
If your goal is to show a transient alert, a better approach would be to use the Windows SDK to show Windows notifications. If having your alert hosted in Outlook is of the utmost importance, then look into using Form Regions or an add-in with Task Panes to display your messaging. Or even a simple VBA MessageBox or User Form.
Also note that your usage of the CommandBar is really only applicable to Outlook 2007 and earlier - there are no more CommandBars in newer versions, just the Ribbon.

Outlook Web Add-in: Can we add an entry into context menu?

I didn't find this functionality in Outlook web add-in documentation. But it's worth to ask...
We want to add a new entry into Outlook right click menu (context menu), so that it can open a hyperlink (url is different based on what you highlighted) to integrate with our web portal.
I understand contextual outlook add-in is the closer solution.
But it's not the user experience we want.
Instead of highlight everything based on RegEx, we would like to support users to intentionally trigger the add-in by highlighted keyword and right click on the context menu.
Wondering if it's possible today for the latest Outlook desktop app.
User scenario:
User highlights a keyword in email reading/writing mode
User right click the mouse
The context menu shows up with having our custom menu item
When user clicks on our custom menu item, it opens a browser with an url based on what user highlighted.
Outlook context menu cannot be extended at the moment. Available extension points are:
MessageReadCommandSurface
MessageComposeCommandSurface
AppointmentOrganizerCommandSurface
AppointmentAttendeeCommandSurface
Module (Can only be used in the DesktopFormFactor.)
MobileMessageReadCommandSurface
Events
DetectedEntity
You probably should add your business case into Office development user voice request: Outlook Web Add-in: Add Context Menu Mail Item Extension Point or at least upvote it.

Displaying information bar in outlook application

I have developed an outlook plugin using atl. I want to show some information to user using yellow bar which comes just below ribbon of application.
I have found one class for that in interop, but dont know how to use it. Its olkinfobar
If i create its instance than how to i bound it to application.
https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olkinfobarclass.aspx
You need to create a custom form to use this control.
Instead, you need to develop an Outlook form region or create an adjacent window. See Adjacent Windows In Outlook for more information about subclassing Outlook windows using Windows API functions.

VBA when user clicks Send as Attachement

My company has an issue with Outlook when it is triggered to open by Excel that causes Outlook to hang indefinitely when loading (an issue which cannot be easily fixed). We have a few workbooks with custom ribbons where we now check that Outlook is open first before allowing the user to send via email. The problem is that this doesn't account for users that still use the File > Save & Send > Send as Attachment.
I would like to know if anybody knows about a process by which I can add on a routine to the existing button that we could save as an Excel Add In on everyone's Excel that checks first if Outlook is open? I have the Outlook check written so I'm just needing help with finding a way to run it.
Any help is appreciated.
Alternatively you could disable Send as Attachment.
I wouldn't know what is important so I won't copy parts here.
How do you disable “Save and send” in Excel 2010 (in the File ribbon (called backstage in Office 2010)?
Disable the Send button in the Office Menu
You may consider repurposing the ribbon controls. See Temporarily Repurpose Commands on the Office Fluent Ribbon for more information.
Unfortunately the Backstage UI doesn't allow to repurpose controls from the XML markup. You may consider hiding the built-in UI and rebuilding it fully with custom commands. Thus, you will be able to handle the commands on your own. You can read more about that in the Introduction to the Office 2010 Backstage View for Developers article. Also see the Customizing the Office 2010 Backstage View for Developers article.

Modify Outlook Form Code programmatically

How to programmatically get at outlook form code?
To clarify from one of the comments - Outlook form code is the VBA code that sits behind the form - it can be customised in the form design mode to do pretty much what the user needs to do.
Our product relies heavily on form code, but certain bits of it need to be customised per installation. We are looking for some way to automate this process, as we have upwards of 30 custom forms it is a tedious process to do it manually...:-)
Use a configuration file (use ReadFile etc)
Or put the configuration information in a "special" item in a public shared folder
You can also use the "Office Profile Wizard" to package it up with a custom vba module iwht the configuration information in that
You should never write out customised code, that is a big can of worms