Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: win98se+msword2.plでインデックスできない
花井と申します。
──"It's me" <m_yamane@xxxxxxxxxxxxx>さんwrote:──
  On Tue, 22 Jul 2003 19:03:49 +0900
  Subject: [namazu-win32-users-ja] Re: win98se+msword2.plでインデックスできない
──────────────────────────────────
> > 変更後:
> >   my $tmpfile3 = $tmpfile;
> >   $tmpfile3 =~ s|/|\\|g;
> >   system("$wordconvpath -e $tmpfile2 > $tmpfile3");
> >
> > と変更してみてうまくいかないでしょうか?
> うまくいきませんでした。やはり、NMZ.word.tmp ができません。そこで util.pl を
別の方法を考えてみました。
私がxdoc2txt.exeのオプションを把握していなかったのが原因なんですが、
-fオプションで
「変換元文書と同じフォルダに、拡張子を.txtにしたファイルに書き出す」
という機能がありました。
(例)
D:\>xdoc2txt -e -f d:/winword/word.tmp.doc
→d:¥winword¥word.tmp.txtというファイルに書き出す
この機能を元にmsword2.plを一部書き直してみました。
まっさらな(現在webに上がっている)msword2.plからの変更点は
変換元:
*   my $tmpfile  = util::tmpnam('NMZ.word');
*   my $tmpfile2 = util::tmpnam('NMZ.word2') . $ext;
    copy("$cfile", "$tmpfile2");
*   system("$wordconvpath -e $tmpfile2 > $tmpfile");
(*の行を変更)        ↓
変換後:
    my $tmpfile0 = util::tmpnam('NMZ.word');
    my $tmpfile  = $tmpfile0 . ".txt";
    my $tmpfile2 = $tmpfile0 . $ext;
    copy("$cfile", "$tmpfile2");
    system("$wordconvpath -e -f $tmpfile2");
です。
これであればリダイレクトを使用しないので、win9x系、NT系どちらでも
動作すると思います。
この変更にてうまくいきませんでしょうか?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 NECフィールディング.東日本CSD.テクニカルサポート部
                                 花井 亮(はない あきら)
────────────────────────────