I have been working on an outlook add-in for the last couple of weeks and I have been looking around for a way to get rid of the “Press F1 for add-in Help” context that is displayed when the user points the mouse on the add-in.
Now, I know that it is not possible because Microsoft does that in order to prevent users that the add-in is actually a third part component and was not provided by Microsoft and they don’t assume any responsibility of the add-in misbehavior.
My problem is: When I press F1 I don’t get the general outlook Help menu, but it gives me the Lync Help Menu. And that doesn’t make any sense for my users.
Any help, hint of how to get the F1 button to display the general Outlook Menu, and/or explanation of why is it behaving as described above are much appreciated.
Thanks.
EDIT 1: Lync's help page only shows up in Outlook 2013, on Outlook 2010, F1 displays original Outlook Help Menu.
EDIT 2: I created a new project added a ribbon and a button, I did not make any modification or set any options and added a setup project to test it on Outlook 2013 and Lync still shows up, so I am guessing that I did not do anything wrong in my first project.
First of all, you are right. The Outlook extensibility model doesn't provide anything for that.
However, you may consider setting up a keyboard hook to override the default behavior in Outlook. See Using shortcut keys to call a function in an Office Add-in for a sample code.
Related
I am not sure did they change it the way we can do it or is there any simpler way or they actually removed the option and limited us to use code instead
in vs 2019 if we double click the button we directly went to click event of a button and then from the upper right dropdown box we can easily move to any other event of a current object like double click or mouse over etc which automatically created the event handling SUB
but I am not able to do it in the VS 2022 so what happened with it?
as you can see in the attached images
I'm truly hoping that it's a bug in VS2022 because I'm really missing this function too. I've found a lot of topics in the official discussions and feeds and it seems that different older versions have the same issue, but they have already patched them. No info about 17.0.x version. :( I'll investigate further. Please report if somebody find a working solution.
Go to Options->Text Editor->(your language) and enable "Navigation Bar".
Previously answered here:
Visual Studio window which shows list of methods
This bug has been fixed in the latest version of the VS 2022 as per below post. Just tested and seems to be working as it used to!
https://developercommunity.visualstudio.com/t/event-drop-down-menu-in-the-upper-right-corner-of/1579215
well finally I found the answer to my question with thanks to mrtn
Microsoft finally found the bug and fixed the Asked Issue in question, so New update will solve this problem that was a bug from VS 2022
Additionally, I want to mention there is another way to create/edit Object's Events from Design view
Go to the design view and then click the Button with Lightning icon, a list of Events will Appear, and then go for the desired event and double click to add the event or edit it
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.
I created a few rules for Microsoft Outlook 2010, that specific mails go to specific folders. This works fine, but I don't get an alert in system tray when I have new mails.
Is there a way to fix this?
According to the sources I've listed below, this seems to not be possible, and it seems to be expected behavior of MS Office since 2007.
http://answers.microsoft.com/en-us/office/forum/office_2010-outlook/show-an-envelope-icon-in-the-taskbar-and-play-a/7c5608af-dca4-46c7-ad40-bd959a2c1402
http://www.msofficeforums.com/outlook/6140-modifying-rule-show-new-mail-envelope-task.html
http://www.howto-outlook.com/faq/missingenvelope.htm
I would love for someone to prove me wrong, because I would like to have an envelope as well. Wish MS would at least give an option to turn this setting on and off.
It is possible with an additional rule.
Open the Rules and Alerts dialog;
Outlook 2003 an Outlook 2007: Tools-> Rules and Alerts… (press OK if you get an HTTP warning)
Outlook 2010: tab Home-> group Move-> button Rules-> Manage Rules & Alerts…
Outlook 2013: File/Home -> Manage Rules and Alerts
Button New Rule…
Select "Start from a blank rule" and verify that "Check messages when they arrive" is selected.
Press Next to go to the Conditions screen.
Verify that no condition is selected and press Next.
A warning will pop-up stating that this rule will apply to all messages. Press "Yes" to indicate that that is correct.
Select the action "display a Desktop Alert".
Press Finish to complete the rule.
If needed move the "display a Desktop Alert" rule all the way to the top.
Source: https://social.technet.microsoft.com/Forums/office/en-US/df4b0309-beb0-4eb8-9e90-e06214e5c1bf/notifications-envelope-not-showing-for-subfolders-using-rule-move-to-folder?forum=outlook
I just added the Outlook 2013 part, because this old question/problem is still relevant in the current version where I use this mechanism successfully.
I followed this tutorial, but when I build then run my project in visual studio a ribbon tab does not appear. I'm using outlook 2010 if that helps.
Turns out you need to set the ribbontype property to Microsoft.Outlook.Explorer for it to show up. This is not the default value for that field, and no msdn tutorial seems to tell you to make that change.
http://msdn.microsoft.com/en-us/library/bb398246.aspx
I used this link on MSDN to fix the error.
Simply says that you need to set the RibbonType property for which occurrences you want the ribbon visible/usable.
This can also happen if your code previously used the Ribbon XML mechanism before switching to the Ribbon Designer mechanism, and you have inadvertently left a CreateRibbonExtensibilityObject override in place:
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new MyRibbon();
}
Once you remove this override, your Ribbon Designer customizations will load as expected.
Old post but it didn't give me an answer. In my case the add In was simply not showing anymore after some development time for no explicit reason.
The solution was to re-enable the AddIn in Excel. It probably happened one of the time Excel was asking me "Excel is having trouble with this AddIn, disable it ?" that appeared sometimes when deploying (F5).
To reenable it go to Excel -> File -> options -> AddIns
You have to select the correct ribbontype property, if you are mapping your ribbon to new mail compose tab then you have to select Microsoft.Outlook.Explorer.Compose, if you are mapping to reading mail then you have to select Microsoft.Outlook.Explorer.Read and so on.
If previously you run the solution resulting in an error, an office application may still run hidden and prevent showing the Add-In. Stop VisualStudio, check taskmanager for orphan Office processes, kill these.
On the right hand side you will see properties..
Select the ribbon types you intend to use.
I'm writing a COM add-in for Word, Excel and PowerPoint. This add-in has some user-configurable settings (about a page full of them actually... or perhaps even more than a single page). What is the standard way of presenting these to the user? Through a custom page under Tools->Options? (how?) Under a custom button on a custom toolbar? A specific menu for the add-in?
If it were Outlook, I would add a custom property page. I was pretty confident I could easily google something similar for the other office application, but I'm obviously not searching for the right terms. Hints to improve my searching are also very welcome!
Update:
I just realized one can figure from your question you are targeting Office versions up to and including 2003 right now, as for example the tools menu is gone in 2007.
You might still find an answer regarding your question by looking at the starting point for the mentioned migration from 2003 to 2007: access to the settings for the sample 2003 add-in is located in an add-in specific sub menu of the tools menu, as shown in Figure 7.
For current and future versions of Office (i.e. 2007 and up) your first stop regarding user interface questions should be the Office Fluent User Interface Developer Portal, specifically you'll find there the '2007 Office System Document: UI Style Guide for Solutions and Add Ins'.
Its probably worth pointing out that this guide is not on par with the Windows User Experience Interaction Guidelines (UX Guide) by a huge margin, which is unfortunate given the almost traditional friendly competition between the Office team and other Microsoft departments in setting the next de facto UI standard for 3rd party developers.
Still one can figure out initial directions from there, for example the recommendation regarding scenarios for custom task panes as suggested by Gary clearly is at odds with your need to offer user settings, citation:
Create a custom task pane if…
Your solution needs to present data
about a document that is required to
be visible, in a non-modal fashion,
use a custom task pane. [...]
You can find a good starting point regarding your question in section Simple Migration, where the migration of a simple 2003 add-in to the current 2007 release is explored step by step from a UI design perspective; not surprisingly this add-in features settings too, hence your requirements are addressed, albeit only on the side.
Reproducing this section here would be a bit lengthy plus I'm not sure whether it would be legal to reproduce the inline images used there, just look for Figure 9 in particular to get you started.
You can take it further from there depending on your particular scenario, good luck!
I'm pretty sure you cannot add a tab to Word, Excel and PowerPoint's Tools | Options dialog. I know you cannot do that in Word before 2007 at least.
I would recommend adding a menu item for your add-in somewhere, probably under the Tools menu. I assume your add-in does not already have any other menu items? I would put it in a menu item rather than a toolbar button, since most users don't need to change "settings" all the time, so they do need to look at the button on the toolbar all the time. My screen shots here show the menu in Word with Options at the bottom, though not the actual options dialog: http://www.amosfivesix.com/timken-business-stationery
If you're worried about people finding your menu item tucked away on the Tools menu, you can have a window pop-up the first time the app is started after your add-in is installed. Have it show a picture of where the menu item is, or just explain how to get there. Lots of apps have things like that the first time they run. One of my larger Outlook add-ins does have it's own menu on the menu bar (so it's fairly easy to find) but I also have a first run window that explains what/where it is. You can see an example of that here: http://www.amosfivesix.com/timken-electronic-business-card
Gary McGill's idea for a task pane might be good as well. I don't have any experience with task panes. I'm not sure it would be appropriate for "application settings" since taks panes are more like modeless dialogs that you work with while also working with the document content. Changing your add-in's settings probably doesn't work that way.
I don't know if there is a standard way. I have only created VBA add-ins, and I do not believe it is possible to add custom pages under Tools | Options.
In an Excel Add-In I created, I put a 'Settings...' button on the Add-Ins toolbar (the Add-In created a custom toolbar during the _AddInInstall event).
But this approach of course means your add-in must have a custom toolbar (or menu).
I did a quick check on an Office installation I have access to, that has a few Add-Ins:
The Adobe PDFmaker add-in has its own top-level menu, as well as a toolbar. The menu has a 'Change conversion settings' menu item
A custom add-in (eye-share, don't know what it is) also has its own top-level menu. The menu has a 'Settings...' menu item.
Hummingbird (some sort of document management system) has menu items all over the place, but no settings dialog. The installation program probably sets the necessary config values in the registry.
So my conclusion is:
You cannot add a custom page under Tools | Options (I guess Adobe would have done this if possible).
If your add-in has a custom menu or toolbar, add a 'Settings...' button or menu item (don't know if there is a standard icon for this)
If your add-in does not have a custom menu or toolbar, I would probably add a single menu item under Tools.
If you don't want to clutter the Excel interface, you could have an external program (created in .NET or whatever) installed on the Start Menu that updates the registry. This of course requires that all relevant settings can be represented as registry values, and are to be persisted. It also means that the Add-in should always look to the registry for settings values when performing operations - not read the setting at startup and cache it in a variable.