Vsto Addin to show on home tab - outlook

I have created a vsto Addin where I want to show a Ribbon control on Inbox window and when the user clicks reply in same window(not in pop out window).
I was able to set the addin to load on Outlook compose and reply pop out windows.
I tried to set the property controlId as TabMail and selected RibbonType property (selected everything, just tried hopping one of those will work )
Any one have a solution

Do you get any Ribbon UI errors?
By default, if an VSTO Add-in attempts to manipulate the Microsoft Office user interface (UI) and fails, no error message is displayed. However, you can configure Microsoft Office applications to display messages for errors that relate to the UI. You can use these messages to help determine why a custom Ribbon does not appear, or why a Ribbon appears but no controls appear.
To show VSTO Add-in user interface errors
1. Start the application.
2. Click the File tab.
3. Click Options.
4. In the categories pane, click Advanced.
5. In the details pane, select Show VSTO Add-in user interface errors, and then click OK.
For Outlook, the Show VSTO Add-in user interface errors checkbox is located in the Developer section of the details pane. For other applications, the checkbox is located in the General section of the details pane.
Most probably the TabMail id doesn't exist in all contexts and you get an UI error. So, a custom UI is not shown finally. Am I right?

Related

How to hide or remove a button from outlook Ribbon?

How to hide or remove button (Office Add-ins) from Ribbon? this button appears when compose a new message?
I tried all the following methods, but no one of them works (with no error raised).
Applied this registry key;
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Options\WebExt]
"StoreButtonInRibbonHomeTabAllowed"=dword:00000000
Untick option Add-ins from customize ribbon # Main Tabs.
Removed Office Add-ins from customize ribbon # Compose Tools.
I am using office 2016.
The changes in the windows registry may not apply immediately. Here is what the How To Disable GET ADD-INS Button in Outlook article states:
Close Outlook and force a replication use GPUDATE /FORCE (not as an Admin because this is a local user) or reboot and you will see that the GET ADD-INS button is not just disabled, it is removed all together. Note that we have noticed that the first time Outlook is started it takes an extra minute or two, which is very strange but acceptable.
Read more about the windows registry key in the Update adds the Store button to the Home tab ribbon in Outlook 2013 article.

Outlook 2010 VSTO Add-In Keep Current Tab Active

I have a custom xml tab in Office 2010 (using VB.net) when I press a button on my tab it takes me to the desired contact folder but the Ribbon.ActivateTab code doesn't do anything (focus switches to Home tab). Here is the code below, could you tell me what I'm doing wrong?
Public Sub GoToContacts_Click(control As Office.IRibbonControl)
'code to take me to Contact folder
ribbon.ActivateTab("MyTabId")
End Sub
Looks like the tab is activated before the folder is switched...
Try to handle the FolderSwitch event of the Explorer class which is fired when the explorer goes to a new folder, either as a result of user action or through program code. And in the event handler call the ActivateTab method of the IRibbonUI interface.
Where did you get the id of the target tab? Does it belong to your add-in?
p.s. See Ribbon Extensibility in Office 2010: Tab Activation and Auto-Scaling.

How to remove Outlook add-in load times from the registry?

According to the following article
https://msdn.microsoft.com/en-us/library/office/jj228679.aspx#ol15WhatsNew_AddinDisabling
Outlook uses the median time of 5 last runs and compares it to 1 millisecond (for add-in startup). This means that if I optimize my add-in and re-install it, I should run Outlook at least 4 more times to calculate the correct value of add-in startup.
Does anybody know where this value is stored in Outlook (I guess registry)?
I tried to remove my add-in's value from the following key:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AddInLoadTimes
but it doesn't help, it still remembers it.
Alex,
Is your add-in listed in the Disabled Items list in Outlook?
If so, you need to remove the add-in from the Disabled Items list first. To re-enable an add-in:
In the application, click the File tab.
Click the ApplicationName Options button.
In the categories pane, click Add-ins.
In the details pane, verify that the add-in appears in the Disabled Application Add-ins list.
The Name column specifies the name of the assembly, and the Location column specifies the full path of the application manifest.
In the Manage box, click Disabled Items, and then click Go.
Select the add-in and click Enable.
Click Close.

events for right click detection in Outlook and Power point

In office applications i want to get the word on which the user right clicks.
i was able to get for Excel and Word. in outlook and PowerPoint i am not able detect the right click event.
In outlook i want to detect right click on a word in mail body.
In power point i want to detect right click in a slide content.
In outlook i have tried the events:
ItemContextMenuDisplay,
AttachmentContextMenuDisplay,
FolderContextMenuDisplay,
ContextMenuClose,
StoreContextMenuDisplay,
ViewContextMenuDisplay,
In power point i have tried:
WindowBeforeRightClick,
can somebody help me with the events to be used?
I will try to answer the Outlook part.
The Outlook object model doesn't provide any events for that. The only possible solution is to add your control to the context menu and handle the getVisible or getEnabled callbacks. Thus, you will be aware when the context menu is going to be displayed. But it seems MS doesn't provide the required IDs for that menu, see Extending the User Interface in Outlook 2010 for more information.
See Office 2013 Help Files: Office Fluent User Interface Control Identifiers
In the case of PowerPoint, WindowBeforeRightClick is the correct event.
You would find that setting Cancel = True in the handler for that event only works if the right-click is on the slide itself. On a shape or within a text range this fails to work as expected.
Workaround is the lock the screen and switch to a different view and back and then update the screen to prevent the contextual menu from appearing for the shape/text range.

VSTO and Outlook 2003 Context menus

I want to have outlook 2003/2007 integration with my application using VSTO. With outlook 2007 it's OK - I have all the hooks I need but with outlook 2003 I can't find how to add context menu item to the mail items in the inbox. I didn't find any event handler for populating the context menu like the one in the 2007 version.
Do you know any workaround?
Site is still viewable in the archive: http://web.archive.org/web/20160405050041/http://www.developerzen.com/2005/04/04/adding-a-button-to-outlooks-context-menu/
To add a button to the Outlook explorer context menu you need to get the “Context Menu” CommandBar.
This command bar instance is only created when the user right clicks in the explorer so in order to know when such a bar is
created you have to listen to the OnUpdate event of the Explorer’s CommandBars collection.
Inside the OnUpdate event handler you can check if the context menu CommandBar exist:
CommandBar bar = ActiveExplorer.CommandBars[“Context Menu”];
After getting the context menu CommandBar you need to change it’s Protection property to allow customization, add your button, and change the Protection back.

Resources