Learning Center - Add-in Express for Office and .net
Add-in Express™
for Microsoft® Office and .net
Office General - Articles
- Add-in Express and Office add-ins: Getting startedPieter van der Westhuizen explains the key features of Add-in Express when creating an Office add-in that is shared among Excel, Word and Outlook. The article covers entry points, Add-in module, UI, accessing Office objects, Office events, etc.
- 100% version neutrality for your Office extensionsFrom this article you can learn the basics of version-neutrality, which is one of the key features of the Add-in Express architecture.
- Office Advanced Task panes - Basic conceptsThis page explains the basic concepts of advanced Office task panes, an enhanced alternative to native Office custom task panes introduced in Office 2007. In contrast to custom Office task panes, the advanced task panes are version-neutral and work for all Office versions, from 2000 to 2021.
- Smart Tags and Add-in ExpressThe post demonstrates how smart tags can still play a role in building an integrated system that provides users with up to date real-time data, and describes creating a sample smart tag to display product information within Excel, Word and Outlook.
- Complete Guide: Getting started with Add-in Express for Office and .netEnd-to-end samples from the Developer's Guide will show you how to get started with programming your Office extensions. All sample projects, such as Office COM add-in, Outlook add-in, RTD server, smart tag, XLL add-in and Excel Automation add-in, are illustrated with screenshots and code examples.
Office General - Videos
- Add-in Express for Office architecture and programming modelTy Anderson provides a comprehensive and complete overview of the Add-in Express architecture and programming model while showing how to build an Outlook add-in project. The video explains how to work with the Add-in Module to create common items like ribbons, task panes, keyboard shortcuts, etc.
- Version neutrality for Office extensionsIf you need to support several Office versions and develop an add-in shared among several Office applications, it may be a big challenge. Fortunately for all of Office developer-types, Add-in Express provides something known as version neutrality. Watch this video to find out how it works.
- Create an Office shared add-in - building the GUIThis video is the first in the 4-part series that gives a solid end-to-end example of building a shared add-in for Outlook, Excel, Word and PowerPoint. The first part covers building the GUI: ribbons, toolbars, menus and context menus.
- Create an Office shared add-in - building advanced task panes and advanced Outlook regions, using advanced controlsThis is the second part of the 4-part "Create an Office shared add-in" series that completes the UI for the shared add-in by building advanced Outlook form region and advanced task panes for Excel, Word & PowerPoint.
- Create an Office shared add-in - interacting with Office object models In this video, part 3 of our end-to-end demo, Ty Anderson extends the work he has done in Part 1 and Part 2 to interact with the Office object models and Office events.
- Create an Office shared add-in - connecting business logic to Office eventsPart 4 of the end-to-end demo shows how to write code that connects the custom Ribbon and custom CommandBar to Office objects. Of course, the glue that holds it all together is the add-in's custom business logic.
- Create an Office shared add-in - building a custom Click Twice deployment packageThis video, Part 5, is the last of the series. In this 15 minute video, you will learn how to build a ClickTwice deployment package for your Office shared add-in.
- Build and control Advanced Task Panes in Add-in ExpressIn this video Ty Anderson explains the advanced task pane features provided by Add-in Express for Excel, Word, and PowerPoint. He also provides a demo that shows how to build an advanced task pane and how to control it via code.
- Add-in Express in-place GUI designersThis video presents Add-in Express' in-place GUI designers and how to use them to customize the Outlook ribbon and command bars.
Microsoft Outlook - Articles
- Outlook add-in development for beginnersThis multi-part tutorial explains the main aspects of creating Outlook add-ins with Visual Studio and Add-in Express.
- Customize Outlook Ribbon and command bars in a single add-inThe article accompanied with short videos shows how to create custom ribbon tabs and command bars in a single add-in with one code base. Sample VB.NET add-in for Outlook is available for download.
- Outlook Advanced Regions - Basic ConceptsThis page describes the key features of Advanced Outlook Form and View Regions. Using this truly unique technology, you can extend any built-in views and forms as well as views and forms delivered with any Outlook-based clients such as Outlook Business Contacts Manager or Microsoft CRM Outlook Client.
- Outlook Advanced Region TypesOn this page you will find a complete overview of all Outlook region types and Outlook panes supported by Add-in Express.
- Outlook context sensitivityAdd-in Express makes it possible to display your custom UI elements based on various Outlook components. Developers can control what UI elements to show based on the folder content and/or the various Outlook item types (Mail, Appointment, Contact, etc.). This post demonstrates how to use this powerful feature in a sample Microsoft Outlook add-in.
- Outlook Advanced Inspector Regions and Add-in ExpressThis post shows how to add extra functionality to the Outlook Inspector objects using advanced Outlook form and view regions.
Microsoft Outlook - Videos
- Add-in Express for Office architecture and programming modelTy Anderson provides a very accessible explanation of the Add-in Express architecture and programming model while building a sample Outlook add-in project. The video shows how to work with the Add-in Module to create common items like ribbons, task panes, keyboard shortcuts, etc.
- Build and control Advanced Outlook Regions in Add-in ExpressNo matter how good a program like Outlook is, it doesn't meet every need and people start wondering how they might customize it. Situations like these is why Add-in Express exists - it allows you to customize Outlook's user interface while also giving you tools for incorporating "your own way of doing things" (aka your custom processes or workflows, data needs, etc.). In this video, Ty explains how to do this with advanced Outlook regions.
- Outlook context sensitivityMaking your Outlook add-ins "context aware" is a pain-free endeavor with Add-in Express. You don't need to write any code to do it. In typical, Add-in Express fashion, it can be done by configuring a few properties in your add-in's Visual Studio project. Watch the video to see it in-action.
- Outlook Solution ModulesIn Office 2010, Microsoft introduced the Outlook solutions module to give us, developers, the capability to create custom modules for Outlook. The video shows how to use Add-in Express to build an Outlook add-in that utilizes the Outlook Solution Module.
Microsoft Excel - Articles
- Excel add-in development in Visual StudioThis series of articles explains the basics (and more!) of Excel add-in development.
- Writing Excel COM add-insThe article demonstrates how to create a world-class add-in for all versions of Excel with a single code base.
- Writing COM add-ins for ExcelThis article concentrates on the components and tools Add-in Express gives you when developing COM add-ins for Excel.
- Building integrated Excel extensions: COM Add-ins, RTD Servers and XLLThe article will take you through the steps of creating a single Visual Studio project that contains an Excel COM add-in, RTD server and XLL add-in.
- XLL Add-ins and Add-in ExpressUsing Add-in Express and user-defined functions in an XLL add-in, Pieter van der Westhuizen demonstrates how you can easily build your own Excel formulas to check custom rules and validations.
- Building a Real-Time Data server for Excel: 12-part tutorialThis series of posts written by our customer, Maurice Calvert, describes the techniques necessary to build an RTD server for Microsoft Excel. It is based on what Maurice learned whilst coding GeodesiX, an Excel add-in that uses the GoogleMaps APIs to provide some Excel formulas.
- RTD Servers and Add-in ExpressThe article shows how to develop a real-time data server on an example of a sales dashboard in Excel that updates sales figures and targets dynamically by reading order information from a sales database.
Microsoft Excel - Videos
- Creating Excel add-ins The video shows how the Excel add-in developer can quickly create a COM add-in for Excel, build a custom ribbon and a toolbar, create advanced task panes, add custom keyboard combinations and more.
- Creating managed Excel UDFsAdd-in Express for Office and .NET supports two methods for building custom UDFs: Automation Add-ins and XLL add-ins. Each have their pros and cons and this video provides some guidance for when to choose an XLL.
- Building an Excel RTD server Using Add-in Express you have the tools you need to rapidly start building a Real-Time Data (RTD) Server for Excel. This video shows you how to use Add-in Express for Office and .NET to create a simple RTD.
- Developing Excel Automation Add-insThis video explains the differences between an UDF built with an Automation Addin and one built as an XLL. If you are looking to extend Excel with custom functions, watch this video.
Other Office Applications - Articles
- Word add-in development for beginnersThis is a multi-part series that covers the main aspects and specificities of creating COM add-ins for Microsoft Word.
- PowerPoint add-in development in Visual StudioPowerPoint is often underappreciated as an add-in target. In this series of articles we will give PowerPoint some love and attention by explaining its base objects and providing code samples.
- Programming for Microsoft ProjectMicrosoft Project, as with all the applications in the MS Office suite, provides developers with a rich object model. This, combined with the power of Add-in Express, makes Microsoft Project a prime candidate for customization.
- Microsoft Office Project and Add-in ExpressThis post demonstrates how you can write an add-in to integrate Microsoft Office Project and Outlook and vice versa.
- Microsoft Office Access and Add-in ExpressThis post shows how you could leverage your clients' current MS Access systems' functionality whilst simultaneously introducing some of the new systems' features. It describes building an add-in that gives the user additional functionality depending on the form they have open in MS Access.
- Microsoft Office Visio and Add-in ExpressThe beauty about Add-in Express is that it allows you to write add-ins for those Microsoft Office applications that you wouldn't even have thought it possible. In this post we create an add-in for MS Visio that automatically builds an Organizational chart.
Deployment - Articles
- Deploying Office extensions - step-by-step guideAdd-in Express allows deploying your Office extension using Windows Installer, ClickOnce and ClickTwice :) This 8-part series of articles explains what features are supported by each of the three technologies and provides step-by-step guidance on how to deploy your extensions.
- Deploying your Add-in Express solutionsPieter van der Westhuizen gives a quick overview of three deployment methods supported by Add-in Express: ClickOnce, MSI based installer and ClickTwice :) (aka web-based MSI installer).
Deployment - Videos
- Add-in Express deployment models - ClickOnce and ClickTwiceA short explanation of the ClickOnce and ClickTwice deployment models and their benefits, he also shows two demos explaining how to build ClickOnce and ClickTwice deployment packages.
- Implementing a custom UI for Office add-ins with ClickOnceWith ClickOnce, Add-in Express installs a program in the Windows Start menu that allows your users to update your add-in, register your add-in and unregister it. But what if you wanted to customize it just a little bit? You have options... just watch the video!
- Customizing a ClickTwice deployment package of your Office add-inThis video shows how you can create a ClickTwice installation package that includes the correct name and description of your add-in, displays an EULA and is capable of installing missing pre-requisite components required by your add-in.
Office General
- Graphics formats for Microsoft Office add-ins
- Working with the Global Address Book
- Creating a shared ribbon for Office 2013-2007: Word, Excel and PowerPoint
- How to merge several Office add-ins into one binary
- How to create modular Office add-ins with Add-in Express
- Programming Office 2010 plug-ins on Windows 8 with Visual Studio 2012
- Windows Forms controls smack down (for MS Office)
- How to allow a user to choose target MS Office applications during installation
- Customizing Office 2010 Ribbon UI
- Creating integrated Office solutions
- How to localize your Office COM add-in
- Creating an Office COM add-in: getting started for VB developers
- How to install multiple Office add-ins using one setup project
- New designers for region and task pane managers
- On using threads in managed Office extensions
- From VB6 to .NET. At last...
- Insight of Add-in Express Loader
- Windows Presentation Foundation, Office 2010 and Add-in Express 2010
- Office 2010 as development platform
- MS Office toolbar and Ribbon UI images style guide
- .Net Framework 4, NoPIA and Add-in Express 2010
- Office 2010 Backstage View and Add-in Express 2010
- Why not to use Visual Studio 2003 (.NET Framework 1.1) for developing Office extensions
- Supporting several Office versions in an add-in. Interop assemblies and late binding.
- Converting existing Office COM add-in projects to Add-in Express
- Migrate the code of your Office solution from Win32 and VBA code to .NET
- When to release COM objects in Office add-ins developed in .NET
- Office add-in localization: ribbon and commandbar controls, task panes etc.
- Give the look-and-feel of Microsoft Office colors to your custom .NET controls
- Make the Office 2007 Ribbon work easy
- Shims, Loader and Add-in Express .NET Setup projects
- Microsoft Office PIAs (Primary Interop Assemblies) and Add-in Express .NET
- A bit about Microsoft Office PIA
Outlook
- Working with Outlook HTMLBody ?Â?Ð?ã a guide for Office developers
- Using Outlook Recipient and Recipients collection ?Â?Ð?ã guide for developers
- Outlook Address Book ?Â?Ð?ã complete guide for developers
- Customizing Microsoft Outlook 2013 and Outlook 2010 Ribbon
- Customizing Outlook main menu and context menus
- Doing more with Outlook objects and events
- Creating Outlook task, appointment, note from email
- How to work with Outlook Items in meaningful manner
- Outlook 2010 Solutions Module revisited
- Outlook NewMail unleashed
- Programming for Outlook Business Contact Manager (BCM)
- Show Containing Folder Outlook Add-in
- Navigation Pane+ Outlook Add-in
- Customizing Outlook calendar programmatically: C# sample
- Build an Outlook Northwind Connector with Add-in Express 2010
- MS Outlook Advanced Regions, Folder Views and Add-in Express 2010
- Microsoft Dynamics CRM and Add-in Express 2010
- Outlook Events Logger Add-in - release version
- Novel way to handle Outlook 2010 Fast Shutdown
- Controlling Outlook region's state and form's size in Add-in Express
- Outlook Fast Shutdown: under the yellow hood
- Office 2010 Solutions Module and Add-in Express 2010
- Get insight of Outlook event chains with Events Add-in for Outlook
- How to show an Outlook.MailItem in PrintPreview mode programmatically
- Outlook 2010 Fast Shutdown feature
- When Outlook add-ins collide: things far-fetched and real
- Don't stumble over a stone working with the PropertyAccessor and StorageItem classes in Outlook 2007
- Handling NewMail, NewMailEx and ItemAdd Outlook events in .NET
- Build Outlook add-in in .NET to manage Outlook templates
- Why Outlook is not closing when I run my add-in?
Deployment
- Deploying Microsoft Office extensions - step-by-step guide
- Deploying per-user Office extensions via an MSI installer
- Deploying per-machine Office extensions via an MSI installer
- Deploying per-user Office extensions via ClickOnce
- Redeploying per-user Office extensions via ClickOnce
- Deploying per-user Office extensions via Group Policy
- Deploying Office extensions via ClickTwice
- Redeploying Office extensions via ClickTwice
- Add-in Express MSI-based web deployment: ClickTwice :)
- Add-in Express MSI-based web deployment: Publishing the application
- Add-in Express MSI-based web deployment: Managing updates
- Office 2010 Admin Templates and Add-in Express
- Setup project events for add-in solutions based on Add-in Express
- How to implement auto-updates for Office add-ins
- How to convert your vdproj to WiX
- Modifying an existing setup project to support Office 2010, 32-bit and 64-bit, in Add-in Express 2010
- Windows Installer Error 2908 when installing bulky setup projects
Office General - Articles
- Drag and drop onto a minimized Outlook Region and Word Task Pane
- Work with threads in Microsoft Office COM add-ins
- Install a COM add-in automatically using Windows Server Group Policy
- Create add-ins for Office 2007, 2010 and 2013 with a shared ribbon tab
- How to load your Office COM add-in on condition
- How to navigate through the Microsoft Office Command Bar system
- Customize Office 2010 and 2007 Ribbon with your own tabs or controls
- How to intercept clicking an Office Ribbon control or command bar button
- Communicate with a COM add-in from a standalone application
- Support Office 2007 color schemes in your custom forms and task panes
- Store Microsoft Office documents in your custom data storage
- Add new items to your add-in project
- How to learn what version of Add-in Express you use
- Add-in Express Toys sample add-ins
- How-to sample add-ins in VB.NET
- How-to sample add-ins in C#
- How-to sample add-ins in C++
Microsoft Excel - Articles
- Create a COM add-in, XLL UDF and RTD server in one assembly
- Create a status report generator using Excel and Outlook
- How to import contacts and appointments from Excel into Outlook and vice-versa
- How to find the last used cell (row or column) in Excel
- How to convert an Excel column number to a column name or letter: C# and VB.NET examples
- Working with Excel pivot tables: VB.NET code examples
- Developing with Excel 2013 Timeline control
- How to customize context menu of Excel 2013-2000
- Excel shapes events: getting notified about user actions
- Get the actual type name behind System.__ComObject with Visual C# or VB.NET
- How to create a custom event when Excel calculation mode changes
- How to add PivotTables and Slicers to MS Excel programmatically
- How to add sparklines and charts to MS Excel programmatically
- How to check programmatically if the user is editing an Excel cell
Microsoft Outlook - Articles
- How to determine when a user has read an Outlook message
- Working with Outlook attachments programmatically
- How to get unread mail in Outlook
- How to access Outlook from HTML and JavaScript based add-ins
- How to integrate Outlook with a web-service
- How to work with custom Outlook properties
- How to dynamically bind Outlook add-in UI elements to the context
- How to create custom Outlook rules and execute them programmatically
- How to replace built-in Outlook dialogs with custom forms
- How to customize the context ribbon of Outlook 2013 inline response
- Set a custom icon for an Outlook folder in the Navigation Pane
- How to customize Outlook views programmatically
- Outlook, custom task pane and drag-drop problem
- Attach files from SharePoint to Outlook E-mail programmatically
- Save Outlook e-mails and attachments to SharePoint Online programmatically
- How to handle Outlook item's Reply event: replying from a context-menu
- How to handle Outlook item's Reply event: tracking Inspector.Activate
- How to handle Outlook mail item's Reply event
- How to handle events of an Outlook item
- Outlook and Word Toolbars mixed: problem and solution
- Replace the standard Outlook Task UI
- Outlook Items and Folders Events explained
- Outlook Item Events explained
- Display your own header for an advanced Outlook region
- Advanced region events: how to know that the user expanded your form?
- How to highlight Outlook regions
- Design Outlook form regions with Add-in Express 2010
- Get an attachment size in Outlook 2000 - 2007
- Avoid limitations of Microsoft Outlook ItemAdd event
- Convert Exchange-based email address into SMTP email address
- Hint: How to completely reset Outlook regions
- Identify the state and location of an Outlook form
- Customize Outlook Navigation Pane
- Get properties of an Outlook email item drag-and-dropped onto a .NET form
- Use the View.XML property to filter Outlook items
- Search in Outlook items programmatically
- Deal with the Recipients collection in Outlook
- Handle the Outlook ItemSend event
- Exchange Data using the Outlook Attachments collection
- How to customize Outlook Today page programmatically?
- How to get access to hidden Outlook items via Extended MAPI?
Microsoft Outlook - Videos
- Extending Outlook Business Contact Manager
- Outlook Inspector regions - InspectorRegion region (VB.NET)
- Outlook Inspector regions - RightSubpane region (VB.NET)
- Outlook Inspector regions - LeftSubpane region (VB.NET)
- Outlook Inspector regions - CompleteReplacement region (VB.NET)
- Outlook Explorer regions - ReadingPane region (VB.NET)
- Outlook Explorer regions - BottomReadingPane region (VB.NET)
- Outlook Explorer regions - RightReadingPane region (VB.NET)
- Outlook Explorer regions - TopReadingPane region (VB.NET)
- Outlook Explorer regions - LeftReadingPane region (VB.NET)
- Outlook Explorer regions - WebView region (VB.NET)
- Outlook Explorer regions - FolderView region (VB.NET)
- Outlook Explorer regions - LeftSubpane region (VB.NET)
- Outlook Explorer regions - RightSubpane region (VB.NET)
- Outlook Explorer regions - BottomTodoBar region (VB.NET)
- Outlook Explorer regions - BottomNavigationPane region (VB.NET)
- Support Office command bars and Ribbon UI in one add-in project (VB.NET)
- Customize Outlook Inspector using Advanced Outlook Regions (VB.NET)
- Customize Outlook Inspector toolbars (VB.NET)
- Customize Outlook Inspector in a VB.NET COM add-in
- Customize Outlook Inspector menu (VB.NET)
- Customize Outlook Explorer using Add-in Express regions (VB.NET)
- Create Outlook COM add-in: ribbon controls and keyboard shortcuts
- Create Outlook COM add-in: object model, task panes, events
- Create Outlook COM add-in: Explorer and Inspector command bars
- Customize Outlook Explorer toolbars (VB.NET)
- Customize the Outlook Explorer menu (VB.NET)
- Develop a plug-in for Outlook 2000 - 2007 in VB.NET