views:

260

answers:

4

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!

A: 

Search for "Task Pane". :-)

Gary McGill
Are you suggesting to put the addin configuration options inside the task pane... or just a link to a custom configuration form? Any examples of third party addins that do things this way?
Paul-Jan
While, depending on your functionality, task panes can be a cool feature I'd consider them not to the correct solution for settings per se, as outlined in my answer (http://stackoverflow.com/questions/1167593/where-do-i-put-my-office-add-in-configuration-pages/1343664#1343664). Of course, if your add-in functionality is best offered via a task pane you should offer access to the related settings from there as shown in *Figure 4* in the mentioned *UI Style Guide for Solutions and Add Ins* (http://www.microsoft.com/downloads/details.aspx?familyid=19e3bf38-434b-4ddd-9592-3749f6647105).
Steffen Opel
My addin's functionality is mostly implicit, in that it replaces office file dialogs. Currently the configuration options are accessible through those custom dialogs. While this is rather intuitive for the user once they actually are using the dialog, it's not very "integrated". I'd expect user options to be centralized somewhere, but perhaps that's an old-fashioned way of thinking about user interfaces.
Paul-Jan
I'd say it's only partially old-fashioned in that contextual access to settings has (fortunately) been added to nowadays best UX practices, but this shouldn't remove some sort of centralized access to the very same settings. This is shown most excellent in Eclipse for example, where a centralized settings dialog exists everyone hooks into (featuring the very important incremental search box too), still you'll usually find a contextual link elsewhere to any particular setting required for the task at hand. Unfortunately both Office and Visual Studio are failing to get this right as of today.
Steffen Opel
+1  A: 

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.

Tom Winter
+1  A: 

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.
codeape
+2  A: 

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 depatments 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 perspecive; 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!

Steffen Opel
Those are some great guidelines, exactly the sort of document I couldn't find, thanks! So apparently there is no clearcut answer for 2007 (unless your addin has an explicit primary action, or a clear context to add it to - will have to think on that one, this particular addin modifies/replaces file dialogs). By any chance, do you know of a similar set of guidelines for the pre-ribbon era (2003 et al)? Are such documents still available online?
Paul-Jan
I'm afraid there are no such guidelines for the pre-ribbon era, at least not that I'm aware of. Microsoft used to just set some sort of de facto standards by means of their popular applications and encouraged developers to follow those, despite the traditional inconsistencies between Windows, Office and Visual Studio UI for example. Fortunately this has changed somewhat, the mentioned *UX Guide* for Windows is providing excellent guidance for real world scenarios without enforcing things from a pure design perspective. Hopefully the *UI Style Guide* for Office will follow suit on the long run.
Steffen Opel
Well put, and thanks!
Paul-Jan