Namazu-devel-ja(旧)


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

Re: ole フィルタ修正<<第一弾>>



寺西です。

Yukio USUDA wrote:
> 
> ・MS-Wordで作業中にmknmzを動かしても、文書の保存を促されたり、
>  画面に処理中の文書が出てくることがなくなったので動作に対する
>  不信感が減りました。

修正しようと思った動機もここですので、少しは使えるようになったのでは
ないかと思います。

修正箇所が多くなったので、とりあえずレビューしましたが、まだ、修正
したい箇所は多々あります。

> ・filename_to_titleはフィルタ内で行わずにフィルタから返った後のmknmz内の
>  ルーチンに任せてしまうとよいのではないでしょうか?

これについては以前にもそういう意見があったかと思います。
HEAD では、将来そうしたいと思っています。また、これらについては
OLE フィルタ以外にもあてはまるものかと思いますので、まとめて
対応を考えたいと思います。

なお、stable に関しては、Namazu Project が提供していないもの(自作
されているものなど)に影響がでないよう、互換性を保つために基本的な
処理の流れは変えないのが良いかと思っています。

> ・拡張子はdoc,xls,ppt,ppsしか無いと思われるのでGetExtを使わず決めうちでも
>  よいかも(ppsはpptにリネームしてしまっても処理できるようです)

これに関しては、きちんと拡張子を取り出して使いたいと思っています。
また、対応する拡張子(メディアタイプ)を増やすことも考慮しています。

# .pps を .ppt にリネームしても処理できるのは知りませんでしたが、
# あえて行うほどのメリットことはないものと思います。むしろ、何かの
# トラブルを引き起こす可能性は否定できません。

> ・コメントアウトされているコードも修正していますがこれは活かすか
> 捨てるかしたほうがよいのでは?

とりあえず修正しましたが、基本的には必要ないものと思っています。

> ・修正前と同じですが、powerpointの起動で失敗することがあり、いく
> つかのテストでfailになることがありました。ALL PASS になることもあります。

PowerPoint97 でのチェックがまだできていないのですが、PowerPoint2000
では、同時実行時に問題が生じました。おそらく PowerPoint97 の問題
なのだろうと思います。今回の修正では olepowerpoint.pl にはあまり手を
加えていません。その理由も、PowerPoint だけすこし動作が怪しいため
でした。

なお、PowerPoint XP(2002), 2003 では比較的安定して動作するようです。

>  しかし、表示に残るエラーメッセージが前より詳細になっていますね。

エラーメッセージが取得できることがわかりましたので、エラーメッセージ
を出力するようにしました。
また、この部分にはテンポラリファイル名が出力されているので、多少
手を加えたいとは思っています。
 
> マクロのチェックは無害なファイルを別名保存する自動実行マクロを作って
> 試せばよいのかと思って、MS-ExcelでAuto_Openという名のマクロを作って
...
> のはどの程度高度なものなのか知りませんが、oleexcel.plでは自動実行マクロ
> は動かないようだとみてよいのでしょうか?

はっきりとは断言できるほどの知識を持っていません。

「OLE フィルタに関する注意」の修正版に少し書きましたが、Excel では
Auto_Open マクロが含まれていても実行されません。このことは確かな
ようです。(つまりは、自動実行マクロは動かないということなのかも
しれません。)

ただし(というか補足というか)、xlstart に既に仕込まれたもの
(既に感染済みで、発症していない状態)は、実行してしまうような気は
しますし、ファイルをクローズする時に走るものもあるらしいので、
oleexcel.pl が 100% 安全かというと、そうでもないようです。

更に、Word, Excel, PowerPoint のどれかで、他のものに感染するものが
あったり、OLE を使って Excel の中に Word ファイルを埋め込んだりも
できるので、oleexcel.pl から Word 等が感染する可能性もあったりするの
かもしれません。(Word の古いものや、セキュリティをぐんと落として
あったりすると)
なお、Excel 4.0 マクロはわざわざ実行しない限り走らないみたいなので、
おそらくこちらは大丈夫だろうと思います。
-- 
=====================================================================
寺西 忠勝(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