• ベストアンサー

VBAでエクセルファイルをオープンした際、異常現象

こんにちは。 エクセルVBAで、エクセルファイルを連続して100本あまりを「オープン、データ取得(200k程)、クローズ」と単純な処理中、タスクバー内のデスクトップ切り替えボタンを押すと、スタートアップ内に登録されているアプリケーションが全て最小化状態でデスクトップ上に現れてしまいます。 デスクトップ切り替えボタンを押すタイミングとオープンが重なった時に発生している様ですが、こんな事ってあるのでしょうか? XP、2000でしか試していませんが、両方とも現象がでます。 エクセルは2000です。 困っています。すみませんが御教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.2

多分、Excel の仕様および制限の問題かと思われますが 詳細は、下記URLから Excel の仕様および制限 を参照してください。 規定は、3sheetになっています。とのことです。 < ブックのシート 使用可能メモリに依存 (既定では 3) > < ブレークを貼ると上手く動作 > は、メモリが、一時的に開放されるから? と思われます。 追加: < シートは10セル程度を使用して各セルに10文字程度の文字列 > は、効率的でないですね。 どんな理由にせよ、100あまりのシートを扱うのは、マニュアルで、 開いて 書くのも 見るのも いやになっちゃいますね。 いったい、だれが、input して だれが、評価するのでしょうか??。 データベースを作成するのなら、もっと データの配置を考え直したら どうでしょうか??。 EXCEL 2007 なら ワークシートのサイズ 1,048,576 行、16,384 列 も使用出来るのに。

参考URL:
http://office.microsoft.com/ja-jp/excel/HP100738491041.aspx?pid=CH101030621041
noname#105217
質問者

お礼

了解です、アドバイスを頂き、全面修正する決心が付きました. 御付き合いいただき、有難う御座いました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

エクセルファイルを連続して100本あまりを「オープン、データ取得(200k程)、クローズ」と単純な処理すれば、当然でしょう。 リソースとか、メモリーとかが不足してしまいます。 なぜ、そんなに多くのファイルを続けて開く必要が、あるのか解りません。

noname#105217
質問者

補足

状況説明が曖昧ですみません。1本のBookをオープンし、Book内の100あまりのシートに対してリード処理を行っています。リード後、Bookをクローズしています。シートは10セル程度を使用して各セルに10文字程度の文字列が書いてあります。そのデータをグローバル変数に読み込み、変数内から「あるデータ」を検索しています。 現象はマウスクリックによるタスクバー内のデスクトップ切り替えボタンを押した時に発生しますが、現象が簡単に発生する様に、「オープン、リード、クローズ」の直後にデスクトップを切り替える関数、CreateObject( shell.aplication ).ToggleDesktopを入れて、試してみました。 ・リード処理をやらずにオープン、クローズしただけでも発生しました。 ・オープン、クローズ後にブレークを貼ると上手く動作します。 オープンするのはBookのみなので、リソース不足、メモリー不足は考えづらく、他の原因を見つけています。 ※VBAを始めて日が浅く、見落としがあるかもしれません。 ひきつづき、アドバイスが頂ければ、幸いです。 宜しく御願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A