OLE (Open Linking and Embedding)とは、Windowsにおいて、複数アプリケーション間での透過的なデータ転送やデータの共有を行なえるようにする仕組みのこと。OLEを使うことによって、あるアプリケーションソフトで作成している文書の中に、別のアプリケーションソフトで作成したデータを埋め込んだり、別のアプリケーションソフトの機能をあたかも自分の機能であるかのように提供することができるようになる。たとえばワードプロセッサの文書の中に、スプレッドシートのシートやグラフを組み込んだり、ペイントツールの絵などを組み込んだりできるようになる。このような文書は、コンパウンドドキュメントと呼ばれる。 OLEでコンパウンドドキュメントを作成するには、大きく2つの方法がある。1つはエンベッド(embedding、組み込み)と呼ばれる方法で、この場合には、コンパウンドドキュメント内に各アプリケーションのデータが組み込まれる。ユーザーから見ると、このエンベッドは通常のカット&ペーストでデータを文書に張り付けた場合とあまり変わりはない。ただしコンパウンドドキュメント中に表示された異なるアプリケーションのデータをマウスでダブルクリックすると、対応するアプリケーションが起動され、そのファイルが自動的に読み込まれ、編集できるようになる。 もう1つはリンク(linking)と呼ばれる方法で、この場合コンパウンドドキュメントに張り付けられた他のアプリケーションのデータは、実際には文書中には組み込まれず、そのデータを指すポインタだけが記録される。このためリンクで構成されたコンパウンドドキュメントでは、それに組み込まれた元のデータを変更すると、コンパウンドドキュメント中のデータも自動的に更新される。1991年に登場したOLE 1.0はWindows 3.1に搭載された。大幅に機能を拡張したOLE2が1993年に登場し、Windows 95に搭載された。1996年にはインターネットに対応するための機能を追加したものが登場し、名称もActiveXに改められた。