Namazu-win32-users-ja(旧)


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

Excel2002 における不具合を修正した oleexcel.pl



竹迫です。

Excel2002 (Office XP) の環境にて、Namazu for Win32 の OLE filter が
うまく動作しないとのご報告を受けておりましたが、やっと Office XP の
動作環境を手に入れることができましたので、早速確認してみました。

* Excel2002 (Office XP) にて、oleexcel.pl が正常に動作しない
  http://www.namazu.org/ml/namazu-win32-users-ja/msg01121.html
  http://www.namazu.org/ml/namazu-win32-users-ja/msg01193.html
  http://www.namazu.org/ml/namazu-win32-users-ja/msg01238.html
  http://www.namazu.org/ml/namazu-win32-users-ja/msg01289.html

上の記事でご報告いただいた通りの現象を確認することができ、
各セルの値がインデックスの対象となっていませんでした。

詳細を調べてみたところ、ご指摘の通り、SaveAs メソッドが正常に
動作していないようでしたので、以下の変更を加えてみたところ、
Excel2002 で期待通りの動作をさせることができました。

RCS file: namazu/filter/win32/oleexcel.pl,v
--- oleexcel.pl 2002/03/27 05:58:25     1.11.4.3
+++ oleexcel.pl 2002/03/27 12:54:19     1.11.4.4
@@ -201,7 +201,8 @@
        my $sheetName = $sheet->Name;

        # SaveAs xlText FileFormat
-       my $ret = $sheet->SaveAs({
+       $sheet->Select;
+       my $ret = $excel->ActiveWorkbook->SaveAs({
            'FileName'     => &Win32_FullPath($tmpfile),
            'FileFormat'   => xlText,  # xlText
            'CreateBackup' => 0        # False

手元にある下記の環境で動作確認を行いました。

* Excel2002 (Office XP SP-1)   / Windows 2000 SP2
* Excel2000 (Office 2000 SP-2) / Windows NT4.0 SP6a

その他の環境で問題なく動作するようでしたら、
次回 Namazu 2.0.11 for Win32 の配布に含めようと思いますので、
どなたか動作チェックをしていただけると、とても有難いです。

* Excel2002 における不具合を修正した oleexcel.pl
  http://cvs.namazu.org/~checkout~/namazu/filter/win32/oleexcel.pl?rev=1.15

以上、よろしくお願いいたします。

--
  広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
     竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>