Namazu-devel-ja(旧)


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

Re: win32_ole_filter



臼田です。

Tadamasa Teranishi wrote:
> > >
> > 手元にはMS-OfficeがないのでMS-Office無し環境の動作確認しかできません。
> > 動作確認ができているようでしたらcommitをお願いします。
> 
> 逆に手元の環境では Office がインストールされていないマシンがないので、
> 両方のチェックができません。
> 
インストール、アンインストールを気軽にできないのでチェックしづらいですね

下記にms-officeなしでエラー終了をしなくなったものの
HEADからのdiffをつけておきます。これでms-officeありでも正常ならcommitします。

> > これは Namazu2.0.13 for Win32 でもまにあえば修正しておいて
> > もらったほうがよいでしょうね。
> 
> とりあえず 2.0.12 と同じ動作なので、そのままで良いかと思います。
> 修正しだすと、tarball で公開している 2.0.13 と異なってくるので
> それはそれでまずいかと思います。
> 
たしかにそう思いますが、これはmknmzが終了してしまうので
致命的な部類ではないかと思います。
FAQ に MS-Officeを持っていない方はfilter/win32以下を消してください
と書いておきますか?

Namazu for Win32 はコンパイル済みのモジュール等いろいろ
追加した拡張配布物なのでMS-Windows版のみで必要な修正はして
もらっても良いのではないかと思います。
2.0.11でもWindows版のみの追加がされているようですし。


> 一方で、filter/win32/xxxx.pl 関係をやっと最近中身を見るようになって
> きたのですが、多くの問題を抱えていることに気づきました。
> そのため、いろいろと修正していく必要があるかなと思っています。
> 
> 2.0.14 にはこれらをまとめて修正したものをリリースできればと思います。
> 
OLE関係はチェックが大変そうですね。


Index: filter/win32/oleexcel.pl
===================================================================
RCS file: /storage/cvsroot/namazu/filter/win32/oleexcel.pl,v
retrieving revision 1.18
diff -u -r1.18 oleexcel.pl
--- filter/win32/oleexcel.pl    10 May 2004 06:02:49 -0000      1.18
+++ filter/win32/oleexcel.pl    12 May 2004 13:45:44 -0000
@@ -1,6 +1,6 @@
 #
 # -*- Perl -*-
-# $Id: oleexcel.pl,v 1.18 2004/05/10 06:02:49 opengl2772 Exp $
+# $Id: oleexcel.pl,v 1.11.4.5 2004/03/09 17:24:54 opengl2772 Exp $
 # Copyright (C) 2001 Yoshinori TAKESAKO,
 #               1999 Jun Kurabe,
 #               1999 Ken-ichi Hirose,
@@ -54,10 +54,11 @@
 
 use Win32;
 use Win32::OLE qw(in with);
-use Win32::OLE::Const 'Microsoft Excel';
+use Win32::OLE::Const;
 
 # for Excel application start only one time
 my $excel;
+my $const;
 
 # Excel appliation destructor
 END {
@@ -73,7 +74,7 @@
 sub status() {
     open (SAVEERR,">&STDERR");
     open (STDERR,">nul");
-    my $const;
+    $const = Win32::OLE::Const->Load("Microsoft Excel");
     $const = Win32::OLE::Const->Load("Microsoft Excel 11.0 Object Library");
     $const = Win32::OLE::Const->Load("Microsoft Excel 10.0 Object Library") unless $const;
     $const = Win32::OLE::Const->Load("Microsoft Excel 9.0 Object Library") unless $const;
@@ -206,7 +207,7 @@
        $sheet->Select;
        my $ret = $excel->ActiveWorkbook->SaveAs({
            'FileName'     => &Win32_FullPath($tmpfile),
-           'FileFormat'   => xlText,  # xlText
+           'FileFormat'   => $const->{xlText},  # xlText
            'CreateBackup' => 0        # False
        });


臼田幸生