Low-level support for ICustomTaskPaneConsumer, IRibbonExtensibility, FormRegionStartup, etc.

I’m mostly interested in the runtime aspects of VSTO, and less interested in the RAD design-time aspects (however wonderful they are), and in this post I want to explore some of the low-level infrastructure that the VSTO runtime provides. As a developer building add-ins using VSTO, you mostly (and rightly) don’t care how the plumbing…


Multiple Instances of Custom Form Regions

In my last post, I considered the final state of the FormRegionStartup interface, with the 2 new methods introduced right at the last minute. This is barely documented (hence my post). Custom form regions in general are barely documented, and another issue that occurs to me is the problem of multiple instances. So, you’ve written…


GetFormRegionIcon and GetFormRegionManifest

The Outlook FormRegionStartup interface was enhanced right before Office 2007 was released. Two new methods were added. The existing documentation doesn’t explain these methods in any detail – not even in the developer help within Office. The existing VSTO documentation does include mention of the two new methods, but doesn’t explain how to use them….


Synchronizing Ribbon and Task Pane

The new custom task pane model in Office 2007 is interesting. It certainly opens up a wide range of opportunities for providing a better user experience than the doc-level ISmartDocument-based task pane. It’s also interesting in that it provides some challenges for Word and InfoPath developers – see previous post. The thing that’s most immediately…


The Anomalous Behavior of Custom Task Panes in Word and InfoPath

Try this: create an add-in for Excel/Outlook/PowerPoint/Access with a custom task pane. Run the solution, see the custom task pane. Open another Excel workbook, see the custom task pane. Now, create an add-in for Word or InfoPath with a custom task pane. Run the solution, see the custom task pane. Open another Word/InfoPath document/form, and… where’s…


Custom Task Panes: Doc-Level and App-Level

With VSTO 2005, you can build doc-level custom task panes (although we called them ActionsPanes). Our doc-level task panes were built on the old ISmartDocument technology – effectively, VSTO offered a streamlined RAD mechanism for building smart doc solutions.   With the upcoming “Cypress” release of VSTO 2005, you can also build app-level custom task…


Jobs in VSTO and VSTA

The industry is waking up to something the cool kids have known for a long time: you can build serious applications using Office as a base platform and Visual Studio as your toolset and runtime engine.   One consequence is that our team is rapidly expanding, and we have open positions in all roles: SDE…


Excel Interop Types in Shimmed Automation Add-ins

In my previous posts on shimming Excel automation add-in UDFs, I’ve used simple examples where the methods tended to take and return standard types such as doubles and ints. Someone asked a question recently – what about Excel types as parameters? In other words, how do you write the shim for a method that takes…


COM Shim Wizards v2

Today we release v2 of the COM Shim Wizards. These are updated versions of the wizards we released in 2004 for Visual Studio 2003. The new wizards work with Visual Studio 2005. There’s a covering article here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2005_ta/html/Office2003ShimWizard2.asp You can download the wizards here: http://www.microsoft.com/downloads/details.aspx?FamilyId=300A6CDB-84DD-4C62-B3BD-E79194D83494&displaylang=en These wizards allow you to build unmanaged shims for managed…


The Evolution of VSTO ‘v3’

We have two main reasons for releasing early builds of VSTO v3. The first is to unblock developers so that they can get started building solutions against Office 2007, ready for when it releases. The second is to get feedback on our designs and the early implementation of those designs. A case in point is…