vba 1048576行の制限(1つの独立したシートに1048576行ごとに)で大きなサイズのtxtファイル(約300mbと1000万行)を分割しようとしています。私は、コードのこの部分を使用しています:オブジェクト 'ITextStream'のメソッド 'ReadAll'でエラーが発生しました。
Mytext= CreateObject("Scripting.FileSystemObject").OpenTextFile(filepath).ReadAll
問題は一部のコンピュータでは、私はこのエラーを取得していますということです。
Run-Time error '-2147417848 (80010108)':
Method 'ReadAll' of object 'ITextStream' failed
私はこの問題を解決する方法を知りません。 アイデア
内部エラーはRPC_E_DISCONNECTEDです - 呼び出されたオブジェクトはクライアントから切断されています。私はそれがファイルのサイズと関係があると推測しています。なぜ地球上で一度に1000万行を読む必要がありますか?残りのコードでは何をしていますか? – Comintern
エクセルはこの種の義務を果たしていません。各シートに2^20の行数があっても、それらのすべてを実際に使用することはできません。より良い方法は、ファイルをAccessテーブルに読み込むことです。 – Rosetta
テキストファイルの文字セットとは何ですか? 'Scripting.FileSystemObject'が' TextStream'として正しく処理できない文字シーケンスがいくつかあります。 'ADODB.Stream'、' SAPI.spFileStream'、または 'MSXML2.XMLHttp'を使って、ファイルの内容を' Scripting.FileSystemObject'ではなくバイナリデータとして読み込みます。注意 'spFileStream'は、コンテンツをチャンク単位でロードし、メモリ使用量を減らすことを可能にします。 – omegastripes