Namazu-win32-users-ja(旧)


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

Re: 原因不明のハングアップ? ( Re: パスワード付文書のインデックス化 )



佐藤@大和鑑定です。

"Takahiko TAMURA" <takat@xxxxxxxxxxxxxxxx> wrote:

田村さん、こんばんは。
思い付きなのでいい加減ですが…

>   やたら図表の多い Excel 文書(A)が oleexcel.pl の処理対象となり、
>   その文書に対する処理は正常に終わった(ようです)。


sub getSheets ($$) {
    my ($wb, $cont) = @_;

    my $enum_a_sheet = sub {
    my $obj = shift;
        getCells($obj, $cont);
        getShapes($obj, $cont);
        return 1;
    };

    oleexcel::enum($wb->Worksheets, $enum_a_sheet, $cont);
    return undef;
}

とあるので getShapesをコメント化してみてはいかがでしょうか?
シェイプ中のテキスト検索は不可能となりますが、この処理をスキップする
ことで(A)のファイルを正常に処理できるかもしれません。
推測ですが(A)の図が複雑でWindowsのメモリが不安定な状態になった可能性が
大きいです。そして(B)でエラーが出たと…


>   仕方なく中断し、lock2 ファイルを削除して、もう一度同じことを
>   してみようと思ったのですが、その前に(A) をExcel で開いてみると
>   自動的に(B)の文書までが開いてしまい、これを閉じるとリブートするまで
>   2度とExcel が使えなくなってしまいます。具体的には Excel は開けるの
>   ですがワークシートの部分の表示がごっそりとなくなってしまうのです。
>   (透明になっている)

やはりメモリリーク等でExcelが正常に動作できないのでしょう。
NTであれば、失敗直後にCtrl+Alt+Delでタスクマネージャを呼び出して
メモリの使用量を確認してみるのが一番です。

外している可能性はありますが、一度試してみてはいかがでしょうか?

大和不動産鑑定株式会社
情報システム部
佐藤 充男
satou@xxxxxxxxxxxxxxxxx
http://www.daiwakantei.co.jp/