(←その他の「できないこと」も書いてあります。「あえて削除しない」ことも結構あります。不正対策や整合性維持のためです。基本、削除フラグを立てるだけでも対応できます。読み込みだけに使っても構いません。※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。はじめに「32bitの」Excelファイルの値を、そのExcelファイルを開かずに読みに行ったり書き換えたりする方法です。(「64bitの」ExcelではDAOは使えないかもしれません(未確認です。)その場合はADOでやる方法があります。→こちら、でテストしましたが、これは32bitExcelでやったテストですので、64bitだとまた微妙にちがうかもしれません。ご参考にとどめるだけにしてください。)閉じたままのExcelファイルのデータを取得するには、「ExecuteExcel4Macro」を使ったり、「Excel.Application」などで読み込む方法があるようなのですが、以下のサイトによりますと、データの量が多いと速度が遅くなる?みたいです。http://excel-ubara.com/excelvba5/EXCELVBA242.htmlというわけで、DAOとかADOなどのミドルウェアを使う方法で試してみました。今回は「読み込み」だけではなく「書き込み」も、操作対象のExcelファイルを「閉じたまま」できるかをテストしてみました。その結果、以降のようになりました。Queryやピボットテーブルを使えるようにするために』のような作表がしてあることが前提です。2.1~2.5)」(修正先のファイルがxls。操作側(操作元)はxlsmやPersonal.xlsb(≒xlsxファイル)でも可。Properties」の設定値は「Excel8.0」。8.0;HDR=YES;IMEX=1」だと読み取り専用になってしまうっぽいです。※DAOでは、Editメソッド+Updateメソッド、あるいは、SQLでの書き換えができます。(SQLの実行は、recordsetではなくdatabaseオブジェクトのExecuteメソッドで。Excelの場合はSQL文の中でのシートの指定には、$付きのシート名を「`」=バッククォートで囲むことが必要。「xlsx・xlsmファイル」を使うならDAOはやめて、ADOで、しかも「ACEエンジン系構文」でやる(JETエンジン系の構文は不可)。(修正先のファイルがxlsx・xlsmの場合です。操作元はxlsmやPersonal.xlsb(≒xlsxファイル)でも可。