Namazu-win32-users-ja(旧)


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

返信:[namazu−win32−use



池浦@福岡県水産海洋技術センター豊前海研究所です。

 s.takata@xxxxxxxxxxxxxxxxさんのメール
「[namazu−win32−users−」について返信します。

>ole excel filter Ver3.05を使用しています。
>規定時刻になるとmknmzを実行していますが、
>作業中のファイル(Excel, Word等)が保存されずに閉じてしまいます。
>個人PC内での使用なので気をつけていれば問題ありませんが、
>対処法ありましたらよろしくお願いします。

 namazuを走らせるマシンがサーバ専用機であればいいのですが、兼用の場合
こういう問題は確かにあると思います。

 oleexcelは、まずexcelが起動されていればそれを使用し、無ければ新しい
インスタンスを作成するようになっています。そのため、excelでファイルを
編集中だと、このexcelを使用してインデックスを作成します。インデックス
作成終了時にはexcelを終了してしまうのでこのような現象が起きるのだと思
います。

 当方のマシンはサーバ専用機ではなく、他の人が作業するマシンなので実は
この問題、解消しようとしてあれやこれやトライしてみたのですが、自分の
結論としては

 1.より安定してインデックス作成を行うためには、excelのインスタンスは
   常に新しく作る(処理は遅くなりますが)。
   (namazu-win32-users-ja Re: 返信:Excel97アベンドの件 参照)
 2.インデックス作成中は一休みする。

というところでした。

 とりあえずファイルごとに新しいインスタンスを作成するようにフィルタを
改造すればこの問題は部分的に回避できると思います。
 しかしoleexcelから作成されたexcelが存在する時に、エクスプローラなどで
excelのファイルをダブルクリックして開こうとすると、oleexcelが作成した
excelでファイルが開かれてしまうので同じような問題にぶつかると思います。

 これも回避するには、エクスプローラから ツール->フォルダオプション->
ファイルタイプ と進んでいって拡張子xlsの詳細設定でOpenアクションの
"DDEを使う"をオフにするとファイルごとに新しくexcelが起動されるように
なります。ただこれですと

 1.常にエクセルが何本も立ち上がってしまう、
 2.ブック間のコピーを実行すると、コピー内容がファイル参照になってしまうetc.

といった問題がでるため、メリットよりデメリットが大きいと思います。

 ファイルタイプの変更は、実際はレジストリの書き換えなので、インデックス
作成時のみスクリプトでレジストリを書き換えることも試したのですが、チェック
ポイントオプションを付けているとmknmzの終了を確定するのが難しいことと(mknmzの
再起動が起こる)、そこまで労力を掛ける意義が見いだせなかったので、上記の結論に
至っています。
 あまり解決方法になっていません。すいません。


		池浦@福岡県水産海洋技術センター豊前海研究所                             
                e-mail:s-ikeura_sea@xxxxxxxxxxxxxxxxxxxxxxxxxx