This article may be confusing or unclear to readers. Please help clarify the article. There might be a discussion about this on the talk page. (June 2012) (Learn how and when to remove this template message)

ActiveX Document (also known as DocObject or DocObj[1]) is a Microsoft technology that allows users to view and edit Microsoft Word, Excel, and PDF documents inside web browsers.[2] It defines a set of Component Object Model coding contracts between hosting programs like Internet Explorer or Microsoft Office Binder[3] and hosted documents from programs like Microsoft Word, Microsoft Excel and Adobe Reader. This allows them to negotiate communications about commands like save and navigate, as well as merging user interface elements such as menu,[4] to provide a unified user experience.

Initially designed for compound documents based on COM Structured Storage, the technology allows one single hosting program like Office Binder to contain unlimited type of documents.[3] The server program that provides an ActiveX document can be an EXE or a DLL server.

Code contracts

There are a few code contracts that ActiveX documents and their container need to implement in order to communicate about their capabilities and requirements.

An ActiveX document server application needs to implement the following code contracts that are expected by an ActiveX document container that is going to host the document:[5]

An ActiveX document container application needs to implement the following code contracts[6]

Developer Support

Microsoft has ActiveX Document support in its developer tools to help programmers in creating ActiveX Document applications.

In Visual C++, programmers can include Microsoft Foundation Classes's support for ActiveX Documents in the MFC project wizard. A programmer can choose to add ActiveX document server and/or container support to the new program by checking a checkbox during the project creation process.[7]

In Visual Basic, ActiveX Document Migration wizard helps programmers to convert VB forms into ActiveX documents.[8]

In Visual FoxPro, The ActiveDoc Base Class supports development for ActiveX document servers.[9]


  1. ^ Definition of ActiveX Documents
  2. ^ Microsoft readies DocObject; technology will allow document editing in Web browsers, InfoWorld, April 29, 1996, page 49
  3. ^ a b Microsoft promises compound documents. (Win95 Suites Set to Clash) by Greenberg, Ilan, InfoWorld June 5, 1995
  4. ^ Menus in Active Documents, Visual FoxPro 7.0 documentation, by Microsoft
  5. ^ The Visual Programmer Puts ActiveX Document Objects Through Their Paces, by Joshua Trupin, Microsoft Systems Journal, June 1996,
  6. ^ Active Document Containers, Visual Studio 2012 documentation, by Microsoft,
  7. ^ Compound Document Support, MFC Application Wizard, Visual Studio 2012 documentation, by Microsoft,
  8. ^ You can't go there today. (ActiveX application development; Microsoft's Visual Basic 5.0 and Visual C++ 5.0, Borland's Delphi 3.0) by Blumenthal, Holly, InfoWorld | May 19, 1997
  9. ^ Creating an Active Document, Visual Studio 7.0 documentation, by Microsoft