I've been working in the Office Development space for over 10 years now, and I finally decided it's time for a change. So, I'm leaving my current team and heading over to a new job in Xbox. I expect that will change the nature of my blog posts - the adventure...

HLSL is the High Level Shading Language for DirectX, documented here . I was wondering the other day how you might use shaders in Office, and this led me to build a little proof-of-concept that allows you to experiment with HLSL within the context of...

This continues my previous checklists here , here and here on getting started with Excel Services. In this post, I’ll append a walkthrough for using the Excel Web Services APIs.
6. Using Excel Web Services APIs
6.1 Create an publish a workbook ...

This continues my previous checklists here and here on getting started with Excel Services. In this post, I’ll append a walkthrough for using Excel Web Access.
5. Using Excel Web Access
5.1 Make the EWA web part available in your sub-site
a....

As part of an internal prototype I was working on recently, I had to set up a machine for Excel Services – and do this repeatedly as my prototype messed up the installation in various ways. I found lots of MSDN documentation that covered all aspects of...

In my last post , I looked briefly at MEF, and I’m wondering how this model can be applied to Office add-ins. The Office add-in model itself already achieves a level of dynamic composition, by virtue of the fact that the set of add-ins to be loaded is...

The Managed Extensibility Framework (MEF) is a new library, still under development, that provides support for composing applications dynamically. Many applications have a composite model, where the total functionality is provided by a number of component...

The eagerly-awaited update to Eric Carter and Eric Lippert’s VSTO book has been released this week. This is the definitive guide to Visual Studio Tools for Office, and this edition targets development for Excel, Word and Outlook 2007 using Visual Studio...

Having looked at Silverlight in Office client , I thought I’d round out the exercise by looking at Silverlight in Office server . It turns out that lots of people have looked at this before, and I relied heavily on information from several other people...

I had some ‘free’ time today waiting to give a demo at an MVP conference session – the session over-ran, and I found myself sitting in the hallway for an hour. So I got to thinking about Silverlight and Office. If we assume that Silverlight is more or...

I posted a while back about exposing an automation object from an add-in that fires events . That post was couched in terms of VSTO add-ins. A customer asked recently how the same technique could be used in a non-VSTO add-in. So, that’s the topic of this...

A customer (VSP) was using the COM Shim and identified a scenario where a bug in the shim code could cause the host application to remain in memory indefinitely – thanks, VSP for finding this and bringing it to our attention! Misha did some ninja debugging...

Just like my earlier post on message filters , this is an advanced scenario – so be warned: you almost certainly don’t want to do this . However, there are probably some extreme edge-case scenarios where this technique might be useful. For example, Office...

There are at least 9 different ways to start or connect to an Office app programmatically in managed code, as summarized in this table:
PIA Interop
Using the Office PIAs is the most RAD approach, with the greatest level of design...

I’ve posted a few times on the best way to expose methods from an add-in to automation clients – for example, here , here and here . So far, in my examples, I’ve described very simple exposed methods that take no parameters – but what happens if you want...

Can you use a managed usercontrol in an Office document in the same way that you can use a native ActiveX control – all without using VSTO? Some time ago, I posted about how to use native ActiveX controls within a doc-level VSTO solution, by wrapping...

First a warning: this is an advanced scenario, and you should not attempt to use this technique unless you’re sure you know what you’re doing. The reason for this warning is that while the technique described here is pretty simple, it’s also easy to get...

Here at PDC, Misha Shneerson has just delivered a talk on a couple of very interesting new features provided by .NET 4.0. He did explain up front that these features have very broad applicability, but reading the session evals it's pretty obvious that...

Following on from my recent posts on exposing add-in objects, here and here , it occurred to me that its sometimes useful to be able to expose events from these objects. Recall that you can expose your add-in through the COMAddIn.Object property in the...

Under the Hood: Advances in the .NET Type System This is one session you absolutely must not miss. It looks pretty innocuous, but it's actually a very big deal. This talk is an in-depth examination of some of the enhancements we're making in CLR v4.0...

AddInSpy is a new diagnostic tool for reporting the maximum possible information about all Office add-ins registered on a machine. This is a free (unsupported) download, available on MSDN Code Gallery here . Covering article on MSDN here .
In fact...

Continuing on from my earlier posts on building add-ins for multiple versions of Office , avoiding the PIA version conflict , and add-ins for multiple versions without PIAs , a reasonable way to design your solution would be to use the lowest-common-denominator...

We’ve released a slight update to the COM Shim Wizard. This is available as a free download here , and the covering article is on MSDN here . The differences Between v2.3.0.0 and v2.3.1.0 are summarized below.
Setup
The major difference between...

Harry 'Play It Again Sam' Miller has posted a wonderfully funny video on this topic - with a serious message. You've got to check this one out: http://blogs.msdn.com/vsto/archive/2008/08/12/activating-a-custom-tab-on-the-ribbon-when-a-document-is-opened...