(2006/12/14更新)
(Windows XP上のMSWin32版Ruby 1.8.5(ja)で動作確認)
Windows版Rubyでクリップボードを利用する方法としては、Daniel Berger氏によって公開されている「Win32Utils」ライブラリ内の「win32-clipboard」パッケージがあります。
(1)
RubyForgeのWin32Utilsプロジェクトのページを開くと、プロジェクト概要のすぐ下にパッケージごとの最新リリースファイルのリストがあるので、その中のwin32-clipboardの行にある「ダウンロード」リンクをクリック。
(2)
表示されたページで背景がピンク色に強調されたダウンロードリンクの行を探し(win32-clipboardの所のはず)、「win32-clipboard-x.x.x.zip」(x.x.xはバージョン番号)をダウンロード。
(RubyGem版については知識がないので、このページでは説明しません)
(3)
さらに同じページの最後にリストされている「windows-pr」パッケージもwin32-clipboardの動作に必要なため最新版zipファイルをダウンロード。
(1)
ダウンロードした2つのzipファイルを解凍。
(2)
「win32-clipboard-x.x.x\lib\win32」にある「clipboard.rb」をRubyインストールフォルダ以下の「lib\ruby\1.8\win32」フォルダにコピー。
(3)
「windows-pr-x.x.x\lib」にある「windows」フォルダをRubyインストールフォルダ以下の「lib\ruby\1.8」フォルダにコピー。
以上でとりあえずwin32-clipboardが使えるようになっているはずです。「win32-clipboard-x.x.x」フォルダにあるREADMEファイルをエディタで開き、Synopsisの項目のサンプルスクリプトをrbファイルに保存するなどして実行してみて下さい。
(2006/12/14追記)
インストール先のフォルダは、「lib\ruby\1.8」の代わりに、組み込み(?)変数の「$:」にデフォルトで含まれている「lib\ruby\site_ruby」や「lib\ruby\site_ruby\1.8」にしても大丈夫なようです。外部ライブラリをどこにインストールするのが普通なのか、私はよく知りません(^^;)
win32-clipboardリファレンス (詳しくは添付のREADMEを参照)
|
【クラスメソッド】
Clipboard.data(format=nil)
Clipboard.get_data(format=nil)
現在クリップボードにあるデータを返す。formatが指定されている場合、その形式でデータを取得しようと試みる。デフォルト形式はClipboard::TEXT。サポートされている形式については定数の項目を参照。
Clipboard.empty
クリップボードの内容をクリアする。
Clipboard.format_available?(format_number)
現在のクリップボードデータがformat_numberに該当する形式で取得できるかどうかを返す。
Clipboard.format_name(format_number)
format_numberに対応する形式名を返す。存在しない場合はnilを返す。
Clipboard.formats
現在のクリップボードデータが対応している形式について、形式番号をキーとし、形式名を値とするハッシュのリストを返す。
Clipboard.num_formats
現在のクリップボードデータが対応している形式の数を返す。
Clipboard.register_format(format)
format(文字列)をクリップボード形式として登録する。
Clipboard.set_data(data, format=nil)
指定されたdataをクリップボードにセットする。オプションとして形式を指定することもできる。デフォルトはClipboard::TEXT。
【エラークラス】
ClipboardError
通常、クリップボードのオープンに失敗したときか、無効な形式を登録しようとしたとき発生する。
【定数】
(一般)
VERSION
使用しているパッケージのバージョンを文字列で返す。
(クリップボード形式)
Clipboard::OEMTEXT
OEM文字セットを含むテキスト形式。改行コードはCRLF。ヌル文字でデータの終端を表す。
Clipboard::TEXT
テキスト形式。改行コードはCRLF。ヌル文字でデータの終端を表す。この形式はANSIテキストに対して使用する。
Clipboard::UNICODETEXT
ユニコードテキスト形式。改行コードはCRLF。ヌル文字でデータの終端を表す。この形式はWindows NT/2000/XPでのみサポートされる。