Checking Version Compatibility with NetOffice
Take advantage of the open-source NetOffice project on GitHub to look up version compatibility for the Access/Office/Word/Excel object models.
tl;dr: Use the search box below to get version compatibility for any member of the Access/Excel/Office/etc. object model. The search will take you to the NetOffice GitHub repository and show source code matches near the SupportByVersion
attribute.
NetOffice Version Compatibility Search
Version Reference
16.0
: Office 2016+15.0
: Office 201314.0
: Office 201012.0
: Office 200711.0
: Office 200310.0
: Office 2002/XP9.0
: Office 2000
What's This All About?
You can use newer versions of Access to develop applications that will run on older versions of Access or the Access Runtime.
The biggest landmine is the Access object model. If you reference a member of the object model that exists in your development version of Access but not in your user's older version of Access, the application will halt or crash. Unfortunately, the official Microsoft documentation does not include version compatibility for any of the members of the Access object model.
Luckily for us, we can use the NetOffice project's source code to check version compatibility for all of the object models in the Office suite:
- Access
- Excel
- Word
- Outlook
- PowerPoint
- Office itself
- And many, many more
NOTE: The NetOffice project itself is targeted at .NET Framework development, so it is of no direct use to us as Access developers. I've used the library for my .NET development in the past, and its version compatibility data is top notch. In fact, I used to keep a dummy .NET project around that I would edit just to look up compatibility for Office object model members.
Checking Compatibility
To check the compatibility of an object model member, you use the repository search box on the NetOffice project's GitHub page and search for:
SupportByVersion {ObjectModelMember}
Alternatively, you can copy and paste the URL below into your browser and then type the name of the object you want to search for at the end of the URL:
https://github.com/NetOfficeFw/NetOffice/search?q=SupportByVersion+
Or, just use the search box I created at the top of this article (adapted from HTML/CSS/JavaScript code I found here).
Sample Usage
This whole concept is a bit of a kludge, so you'll have to read between the lines a bit to make sense of the search results.
As an example, let's search for the XlConstants
enumeration, which has been supported by various Office applications over the years:
- Excel: versions 9, 10, 11, 12, 14, 15, 16
- Office: versions 12, 14, 15, 16
- Word/PowerPoint: versions 14, 15, 16
- Access: hah! you wish...
If you enter XlConstants
into the search box above, it will take you to the following URL: https://github.com/NetOfficeFw/NetOffice/search?q=SupportByVersion+xlConstants
When you arrive, you should see something like this:
You'll need to pay close attention to the file names (e.g., Source/Excel/Enums/Constants.cs
) and you may need to jump into the file to review the surrounding source code for additional context.
It's not a perfect solution, but it's a whole lot better than nothing.