Welcome to MSDN Blogs Sign in | Join | Help

Andrew Whitechapel

Shiny things that caught my eye

Browse by Tags

All Tags » VSTO Add-ins » VSTO   (RSS)
HLSL in Office
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 Read More...
Silverlight Deep Zoom and Office Add-ins
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 Read More...
Message Hooks in Add-ins
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 Read More...
Launching Office Apps Programmatically
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-time and compile-time Read More...
Passing Objects to Exposed Add-in Methods
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 Read More...
Implementing IMessageFilter in an Office add-in
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 Read More...
Exposing Events from Managed Add-in Objects
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 Read More...
AddInSpy - Diagnosing/Troubleshooting Office Add-ins
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, there Read More...
Version-Specific UI in Add-ins
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 Read More...
COMAddIns Race Condition
You can expose an arbitrary object from your add-in as a kind of extension to the Office host application’s object model. To do this, you set your object as the value of the Object property on the COMAddIn object that represents your add-in in the host’s Read More...
Why your COMAddIn.Object should derive from StandardOleMarshalObject
In general, it is important that any code in a managed Office add-in should execute on the main UI thread. The reason for this is that there are several components that simply will not work when executed from any other but the main UI thread – examples Read More...
Creating a PivotTable Programmatically
I received an email from a customer the other day asking how to set up an Excel pivot table programmatically. The Excel OM exposes a number of objects and methods that you can use to create pivot tables, some more sophisticated than others. I wanted the Read More...
Demand-Loading VSTO Add-ins
In an earlier post , I talked about how you could delay (or prevent) the loading of managed code using a native add-in. In that post I also listed the standard LoadBehavior settings, and I was assuming that everyone knows how these apply, but I got a Read More...
Add-ins for Multiple Office Versions without PIAs (Pt2), or _VtblGap
In my last post , I discussed how you could avoid any dependency on the Office PIAs by using ComImport to redefine the host application’s OM interfaces. Someone (A Developer) pointed out that I had actually omitted the trailing 2 members of the IRibbonControl Read More...
Add-ins for Multiple Office Versions without PIAs
In a previous post , I discussed how you could build an add-in for multiple versions of Office, and explained the problems in this approach (and why it is not officially supported). One of the reasons this is not supported is because you end up building Read More...
More Posts Next page »
Page view tracker