Namazu-devel-ja(旧)


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

win32_ole_filter



臼田です。

mknmzでフィルタの優先順位を設定できるようにする改造をWin32環境のフィルタ
も処理できるようにしようとチェックしていてはじめて気づいたのですが
(多くの環境でチェックしていなかったことがばれてしまいますね)

Win32_OLE_filter は MS-Office をインストールして
いない環境で実行するとmknmzを終了させるエラーになるのですね

C:\namazu\bin>mknmz -C
No type library matching "Microsoft Excel" found at /namazu/share/namazu/filter/
win32/oleexcel.pl line 56
Win32::OLE(0.1701): GetOleTypeLibObject() Not a Win32::OLE::TypeLib object at c:
/Perl/site/lib/Win32/OLE/Const.pm line 45.
Bareword "xlText" not allowed while "strict subs" in use at /namazu/share/namazu
/filter/win32/oleexcel.pl line 206.
Compilation failed in require at mknmz.bat line 426.

となってしまいました。

確かに過去記事を見ると filter/win32 以下を消しましたとか *.pl.tmp に
しましたというような記事があります。

use Win32::OLE::Const 'Microsoft Excel';
のあたりをevalで実行すれば何とかなるかと思ったのですが

Bareword "xlText" not allowed while "strict subs" in use at /namazu/share/namazu
/filter/win32/oleexcel.pl line 206.
の行は消えませんでした。

フィルタ側でチェックして回避することはできるのでしょうか?
あるいはインストーラの段階でMS-Officeの有無はチェックできるのでしょうか?

臼田幸生