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.テクニカルサポート部
                                 花井 亮(はない あきら)
────────────────────────────