[Namazu-win32-users-ja 132] Re: SEARCH_FIELDの追加

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2004年 12月 9日 (木) 14:06:40 JST


寺西です。

Tetsuya Obayashi wrote:
> 
> 小文字に変えて、不要な2行を削除して、indexを作成したところ、
> NMZ.field.keywordsにプロパティのキーワードに記入している文字がちゃんと保
> 存されていました!

一歩前進ですね。
 
> そこで、単純にこれで上手く行くのでは?と思い、olemswords.pl
>     my $category = $cfile->BuiltInDocumentProperties('category')->{Value};
>     $fields->{'category'} = codeconv::shiftjis_to_eucjp($category)
>         if (defined $category);
> 
>     my $comments = $cfile->BuiltInDocumentProperties('comments')->{Value};
>     $fields->{'comments'} = codeconv::shiftjis_to_eucjp($comments)
>         if (defined $comments);
> と変更してみたのですが、NMZ.field.categoryやNMZ.field.commentsには改行の
> みしか格納されていませんでした。
> 
> 何故でしょうか。。。

これを見る限り、これでうまくいきそうですが、ダメだということは
BuiltInDocumentProperties でうまく取り出せていないのか、
取り出したものがうまく処理できていないのかどちらかでしょう。

段階を踏んで確認していきましょう。上記の部分を以下のように文字列を
決めうちで入れて、試してみましょう。

$fields->{'category'} = "category";
$fields->{'comments'} = "comments";

この時、NMZ.field.category には全ての行で category が、
NMZ.field.comments には全ての行で comments が入るはずです。
ご確認ください。これがもしそうなっていないのなら、その原因を
突き止める必要があります。(全ての行と書いていますが、処理した文書
ファイルが全て Word の場合です。Word 以外の文書は空行になります。)

次に

my $category = $cfile->BuiltInDocumentProperties('Category')->{Value};
if (defined $category) {
    $fields->{'category'} = "category";
} else {
    $fields->{'category'} = "none";
}

my $comments = $cfile->BuiltInDocumentProperties('Comments')->{Value};
if (defined $comments) {
    $fields->{'comments'} = "comments";
} else {
    $fields->{'comments'} = "none";
}

で試してみましょう。
NMZ.field.category の全ての行が category になっていれば、値はともかく
何か取り出せていることになります。none になれば、取り出せていない
ことになります。
NMZ.field.comments も同様です。

> VBAのBuiltInDocumentPropertiesを使用して、Title, Subject, Author,
> Keywords, Comments, Categoryのプロパティに書き込む事は出来ていますので、
> 取り出す事も出来ているのではないかと思っております。

VBA で書き込みことができているのなら、VBA で読み出すことも簡単に
できるかと思います。
一度、VBA で読み出せるかどうか確認してみてください。
読み出せるなら、Namazu のフィールド検索に使えるようになるとは
思います。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-win32-users-ja メーリングリストの案内