How to add locations to the locations box in VSTO add-in - location

I have an application which has its own locations specified. When adding a new meeting in Outlook, how do I add these to the locations box in the add-in code?

You can't.
"Outlook appointments show a drop-down list for Location, populated with the most recently used locations added to appointments. You cannot populate this list with your own preferred locations..."
I'm guessing it's possible to edit this value to add your own... So yet one more supposedly impossible thing which is possible.

Related

Adding work item id by default in the related work items

Every time when I check-in the code in Visual Studio, I need to provide the product backlog item's work item id (task id) in the pending changes window's Related Work Items section.
If I'm working on a module for a week, on each check-in I need to provide the same work item id (at least 5 to 6 check-in in a day). It seems repeating of work.
Is there any possible way to add the work item id by default in the "Related Work Items" section in the Visual Studio settings?
I'm using Visual Studio 2017 and TFS 2012.
Sorry, it's not able to do this. It will not cached the ID you previous entered.
Instead of entering ID, you could also drag work items here to link work item to check in.
Or you could do it the other way around, open the work item and add a link to your previous changeset.
Get the changeset ID by looking at the History of one of the changed files
Open the relevant work item
Select the Links tab
Click the Add button
Select "Changeset" from the Link type dropdown
Enter the changeset ID (from step 1) into the Changeset field, and click OK
Save the work item
After this the work item will also appear in the changeset's list of associated work items.
No, that`s not possible. You may add all your changes to work item after your work will be done:
You may try to use a custom tool with TFS API like that: How to checkin source code with work item associated using TFS API.

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.

Where do I put my Office Add-In configuration page(s)?

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.

Why does a Form Region in Outlook 2007 Plugin keep a reference to the underlying object open?

I've created an empty Outlook 2007 Plugin Project in Visual Studio 2008 (SP1). Then I added a new Form Region (Contact type, Adjoined, otherwise defaults) and then I run the project.
Outlook opens, I go to a contact change a couple of things, then click on the close button. Outlook asks if I want to save, I choose No.
My understanding is that this should reset all changes I made. But if I re-open that same contact all my changes are still there. If I close the whole outlook it will re-prompt me to save the contact I changed.
This leads me to thinking that the default Form Region template actually keeps a reference to the Contact it is being shown for and not disposing of it after the form region is closed. This causes the contact to be in memory and not simply disposed after closing the form.
Can anyone reproduce, or is it a feature? Any way to get around this?

Resources