Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: win32_ole_filter



寺西です。

Yukio USUDA wrote:
> 
> 自宅ではOpenOfficeで足りてしまうので
> MS-Officeは入れていません。
> win32以下のフィルタのみにしてmknmz -C を試してみましたが他のole*.plは
> ワーニングもなく読み込めています。
> oleexcel.plだけの問題だったようです。

なるほど。わかりました。
よく調べもせずにいろいろ書きましたが、

use Win32::OLE::Const 'Microsoft Excel';

の形式を使っているのは oleexcel だけなんですね。他のは

use Win32::OLE::Const;

という形式だったので、問題がおきないということのようです。
(oleexcel だけ上記の形式になっているのは xlText を使いたかったから
ということでしょうか。)

# これに限らず、微妙に ole*.pl は内容が異なっているのが嫌なところ
# です。しかし、合わせると不具合が出たり、謎も多いですね。
 
> > あと、eval で囲む必要もなくなったということでしょうか。
> > それなら、かなりシンプルな修正になりますね。
> 最初はWin32/OLEモジュール読み込み時の問題かと思いevalを試しましたが
> 直りませんでした。
> ActivePerlにはWin32/OLEのモジュールが最初から入っているので
> evalで囲まなくても問題はないようです。

なるほど。
use Win32::OLE.... で Office が入っていないとエラーが
でるのかと思いましたが、さすがにそんなことはないわけですね。
(前者の形式は Type Library を指定しているからエラーになっても
不思議ではないけど。)

ところで、use Win32::OLE を eval '' で囲むと UNIX 環境でも
(eval '' に囲まれた内容に関係しない他の部分の)文法チェックぐらいは
できるので、便利かなとふと思いました。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E