●ソフト同士のデータのやりとり(クリップボード/DDE/OLE)
忘れてはならない Windows の大きな特色のひとつに、「アプリケーション間で、データの受渡しが自由にできる」という点があります。
たとえば、データベースソフトで検索したデータをワープロ文書にそのまま引用したり、通信ソフトの画面に表示されたデータを、そのままマウスで指定してテキストエディタに貼り込んだり、逆にエディタの側で作ったメッセージを直接通信ソフトに送り込んだり……。
既存の MS-DOS アプリケーションでこれをやるには、たとえば一度テキストファイルに保存し、他のソフトにそれを読み込ませる……といった手続きをとるのが一般的です。ただし両方のソフトがその機能を備えていなければならないわけですが。
一方、 Windows ではこうしたデータのやりとりのために、「クリップボード」というデータの中継タンクみたいなものが用意されています。
たとえばワープロで文書を入力中、ある行を別の行に移動したり転写したい場合がよくありますね。
この場合 Windows 上のワープロでは、まずマウスで範囲を指定し(またはシフトキーを押しながらカーソルキーで範囲指定する)、「シフト+DEL
」または「 Ctrl+INS 」という操作を行ないます。
こうすると、前者では指定した範囲の文字は画面上では削除され、後者では……一見なにも起きたように見えませんが、そのあと、移動したい位置にカーソルをあわせて「シフト+INS
」キーを押すと、先ほどの文字列がその位置に転送されます。
こうした機能は、具体的な操作の手順は違うにしても、 Windows に限らずワープロソフトやテキストエディタ一般におなじみのもの……ですが、実はこのとき
Windows 上のワープロソフトでは、先ほど触れた「クリップボード」の機能を利用しています。
つまり、プログラム自身の内部に転送用のデータ記憶領域を持つのではなく、
Windows のシステムが提供する「共用の」データ領域を利用することができるのです。
すべての Windows 対応ソフトが同じように「クリップボード」を利用しているわけですので、「カット」したデータをどのソフトのどの位置に「ペースト」するかは、ユーザー次第です。同じワープロソフトの別の位置にペーストするのも、別のソフトに転送するのも、本質的な違いはなにもないのです。
ちなみに Windows 上で MS-DOS のアプリケーションを動作させている場合、なにかと細かい制約はありますが、やはり同じように
DOS アプリケーションからクリップボードへのデータの複写、逆にクリップボードからのデータのはりつけが原則としては可能です。
ただしというか、しかもというか、クリップボードは文字列のデータだけではなく、たとえばグラフィックのデータなど、さまざまな種類、さまざまな形式のデータの中継タンクを兼ねています。一方、
Windows に標準でついてくる「メモ帳(ノートパッド)」などは、テキストのデータ専用のソフトですので、グラフィックのデータをペーストすることはできません。
そういうわけで、同じ種類のデータを扱えるソフトに限った話になりますが、とにかく
Windows では、同一のウィンドウ内でも別のウィンドウ間でも、まったく同じ感覚でデータのやりとりができる……そして、その中継役をつとめているのが「クリップボード」なのだ、というふうにご理解ください。
なお、このクリップボードの機能はつねに Windows のシステム内部で作動していますが、どのようなデータがクリップボードに入っているか確認したり、一時的にそのデータをファイルとして保存し、あとから再利用したい、という場合もあるでしょう。こういうときにはクリップボードのプログラム(CLIPBRD.EXE)を起動しておけば、逐一クリップボードの内容を確認しながら作業を進めることが可能です。
さて実は Windows では、クリップボードのような単純なカット&ペーストだけでなく、もっと高度な「アプリケーション間のデータのやりとりの仕組み」がサポートされています。
それは「 DDE 」(Dynamic Data Exchange)「 OLE 」(Object Linking Embadding)と呼ばれるもの。これらの機能を活用すると、たとえていえば、こんな使い方が可能となります。
→ A という表計算ソフトのデータファイルに、今月の売上げのデータを入力する。
→ B というワープロソフトで、今月の売上げの報告書を書く。
→報告書の売上げデータ欄に、表計算ソフトでの計算結果を引用する。
→データの修正が必要になったので、表計算ソフトに戻ってデータの一部を入力し直す。
→ワープロに戻ると、あら不思議。表計算ソフトのデータ修正結果が、ちゃんと報告書に反映されている。
……例えばマルチプランなど、同じ 1 つのソフトのデータファイル同士で「データのリンク(連動)」の機能を持ったソフトは以前からありますが、それをもっとダイナミックに、異なるアプリケーション同士でもやってしまえるような仕掛け。それが
DDE や OLE なのです。
※ただし残念ながらこの機能、今のところ対応ソフトそのものが多くなく、まだ「可能性」の段階にとどまっていますが、とにかく将来の発展が望まれる機能ではあります。
←BACK →NEXT →目次に戻る
本日の当サイト表示回数(主要ページ合計)回 訪問者数人 |
|