[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/09/10(Sun) 00:07
投稿者名:ルフィ
Eメール:
URL :
タイトル:
オートメーションエラーについて
EXCELVBAでOpen関数を使い、XMLを一行ずつ読み込んだ後、書き込む処理をしています。
(一行ずつ読み込んでいるのは、条件分岐で置換処理をしているからです。
結果、置換した文字列をOpen関数でファイルを作成しています。)

ループを回して一行ずつ読み込んでいる最中に
「オートメーションエラーです。起動された オブジェクトがクライアントから切断されました」
とエラーがでます。

読み込むXMLは1個あたり1600行ぐらいで、100KBぐらいです。
テスト的に今はLoopを回して5個のXMLを読み込ませていますが、
デバックして試したら、1個の読み込みで「オートメーションエラー」が頻繁に発生しています。


*このエラーは出たり出なかったりします。
*エラーが出なかった場合は正常に処理が終了します。


いろいろ調べたところメモリが関係しているらしく、
Set xxx = Nothing で開放はするようにしたり、Newで不必要なオブジェクトは作らないように
修正しましたが、それでも「オートメーションエラー」がでます。


何か対策がありましたら教えてください。
お願いします。

環境は
Excel2000
OS   WindowsXP、Windows2000
メモリ 1G
になります。

投稿時間:2006/09/11(Mon) 15:29
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: オートメーションエラーについて
WindowsXP や Windows2000 では、そのような現象は改善されたはずですが。
どこかコードに問題があるのではないでしょうか?
VBからのコードではなく、Excel 上のVBAから操作しているのですよね。

どちらにしても下記のような操作を回避するようなコードにして試してみては。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP414107

投稿時間:2006/09/12(Tue) 02:57
投稿者名:ルフィ
Eメール:
URL :
タイトル:
Re^2: オートメーションエラーについて
> WindowsXP や Windows2000 では、そのような現象は改善されたはずですが。
> どこかコードに問題があるのではないでしょうか?
> VBからのコードではなく、Excel 上のVBAから操作しているのですよね。
>

はい、VBでなくExcelVBAで実行しています。

> どちらにしても下記のような操作を回避するようなコードにして試してみては。
> http://support.microsoft.com/default.aspx?scid=kb;ja;JP414107

なるほど、
確かにループを回してセルの値を取得したり、貼り付けるコードが複数あります。
セルの参照や貼り付けの回数を減らしてみます。
ありがとうございました。