- 343 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 16:57:28 ]
- 現在、Excelファイルが60,000ファイルほどあります。
その全ファイルから、一部分(一番上の5行ほど)だけ別のエクセルファイルにコピーするロジックを作りました。 ロジックの概要は以下の通りです。 処理の内容としては、すでに開いているブックから他のブックを開いて、必要な部分をコピー後にクローズさせています。 Set wb2 = Workbooks.Open(Filename:="aaa.xls") Set ws2 = wb2.Worksheets("Sheet1") <処理> ActiveWorkbook.Close saveChanges:=False Set newbook = Nothing 上のロジックでコピーを行っていると、最初の1,000ファイルぐらいはサクサクオープン/クローズの処理が出来るのですが、 段々オープン/クローズの時間が遅くなってきて、最期は「xxx.xlsはファイルが読み取り専用か、読み取り専用フォルダにあります(略)」 と表示され、ファイルオープンが出来なくなります。 なお、エラーが出るファイルも、一回Excelを閉じると、正常に表示できるので、ファイルが壊れているわけではなさそうです。 この場合、問題の原因がVbaなのか、ハードウェアなのか、OSなのかよく分かりません。 もし何かご存じのことがありましたら、教えていただけませんでしょうか。
|

|