by Hippo2000(2000/12/25)
OLE::Storage_Lite - OLEドキュメント・インターフェースのための簡単なクラス (Version: 0.04)
use OLE::Storage_Lite;
use strict;
my $oOl = OLE::Storage_Lite->new("some.xls");
my $oPps = $oOl->getPpsTree(1); #読込みデータを取得
$oPps->save("kaba.xls", 1); #"kaba.xls"としてデータを保存
OLE::Storage_LiteはOLE構造ファイルの読込と書込を可能にします。Martin Schwartz.さんによるOLE::Storageもご覧ください。
OLE::Storage_Lite::PPSはPPSを表すクラスです。 OLE::Storage_Lite::PPS::Root, OLE::Storage_Lite::PPS::File そして OLE::Storage_Lite::PPS::Dir はOLE::Storage_Lite::PPS.のサブクラスです。
$oOle = OLE::Storage_Lite->new($sFile);
コンストラクタ。$sFileのためのOLE::Storage_Liteオブジェクトを作成します。$sFileは正しいファイル名でなければなりません。
$oPpsRoot = oOle->getPpsTree([$bData]);
OLE::Storage_Lite::PPS::Root としてPPSを返します。他のPPSオブジェクトはその子供として返されます。$bData がtrueであれば、そのオブジェクトはファイルにあるデータを持っています。
$oPpsRoot = oOle->getPpsTree($raName [, $bData]);
$raName配列で指定された名前をもつPPSをOLE::Storage_Lite::PPSとして返します。$bData がtrueであれば、そのオブジェクトはファイルにあるデータを持っています。
$oPpsRoot = oOle->getNthPps($iNth [, $bData]);
指定された番号($iNth)のPPSをOLE::Storage_Lite::PPSとして返します。$bData がtrueであれば、そのオブジェクトはファイルにあるデータを持っています。
$sUcs2 = OLE::Storage_Lite::Asc2Ucs($sAsc);
ユーティリティ関数。$sAscにあるすべての文字の後ろに0x00を加えるだけです。
$sAsc = OLE::Storage_Lite::Ucs2Asc($sUcs2);
ユーティリティ関数。$sAscにあるすべての文字の後ろに0x00を削除するだけです。
OLE::Storage_Lite::PPSはこれらのプロパティを持っています。
OLE::Storage_Lite::PPS::Rootは2つのメソッドを持っています。
$oRoot = OLE::Storage_Lite::PPS::Root->new( $raTime1st, $raTime2nd, $raChild);
コンストラクタ。
$raTime1st, $raTime2nd は ($iSec, $iMin,
$iHour, $iDay, $iMon, $iYear, $iHSec).という配列リファレンス。$iSec
は秒、$iMin は分、$iHour
は時、 $iDay は日、 $iMon は月-1、
$iYear は年- 1900、$iHSec はMath::BigInt.での秒/10,000,000を意味します。
$raChild は子供のPPSの配列リファレンスです。
$oRoot = $o<oRoot>->save( $sFile, $bNoAs);
$sFileに情報を保存します。$sFileが'-'であれば、STDOUTを使います。
$bNoAs が定義されると、保存の順序にPPSのNoを利用します。$bNoAsが未定義であれば、PPSの保存順序を計算します。
OLE::Storage_Lite::PPS::Dirはメソッドを1つ持っています。
$oRoot = OLE::Storage_Lite::PPS::Dir->new( $sName [, $raTime1st] [, $raTime2nd] [, $raChild]);
コンストラクタ。
$sName はPPSの名前。
$raTime1st, $raTime2nd は ($iSec, $iMin,
$iHour, $iDay, $iMon, $iYear, $iHSec).という配列リファレンス。$iSec
は秒、$iMin は分、$iHour
は時、 $iDay は日、 $iMon は月-1、
$iYear は年- 1900、$iHSec はMath::BigInt.での秒/10,000,000を意味します。
$raChild は子供のPPSの配列リファレンスです。
OLE::Storage_Lite::PPS::File はメソッドを1つ持っています。
$oRoot = OLE::Storage_Lite::PPS::File->new($sName, $sData);
$sName はPPSの名前。
$sData はPPSのデータ
このモジュールで保存されたVBA(いわゆるマクロ)が入っているファイルはうまく動きません。ファイルから同じ情報を取り出すことはできますが、アプリケーション(Word, Excel ...)ではエラーが発生します。
The OLE::Storage_Lite module is Copyright (c) 2000 Kawai Takanori. Japan. All rights reserved.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.
まずなによりMartin Schwartz さんと彼のモジュール OLE::Storageに感謝します。
川合孝典 GCD00051@nifty.ne.jp
OLE::Storage
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。