質問: excelからaccessにデータを取り込む方法 質問します。 access初心者、vba初中級者です。 vbaで、excelからaccessにデータを取り込んでいます。 ですが、excelの表はaccessのdbの型と一致していません。取り込む場合、特定の列のデータをaccessの特定のフィールドに取り込むことはできますか? (たとえば、excelのa列のデータは、accessの「品番」フィールドに入れる、b列のデータはaccessの「商品名」フィールドに入れる、というように。) 一時エリアに保存して、それを取り込む方法でもいいです。 現在transferspreadsheetを使っていますが、rangeを指定して一度に全部もってきたいわけではないので、できれば取り込み先を設定したいと思った次第です。 また、excelは使用行が決まっていないため、取り込みも、できれば 「カラ行になるまで1行ずつ取り込む」というようなコードにしたいです。 お手数をおかけしますが宜しくお願いします。
回答: #2です > こういう場合はどうしたらよいのでしょうか。 もっといい方法があると思いますが、私はタスクマネージャからexcelを終了させてます。 vbaでやろうとすると、起動しているexcelは以下の方法で得ることができます。 dim oapp as object on error resume next set oapp = getobject(, "excel.application") if (not oapp is nothing) then ' ここで、ワークブックをループするなりして閉じるとか ' end if ただ、excel起動中に set oapp = createobject("excel.application") でexcel起動すると、excelが複数立ち上がることになります。 (タスクマネージャで見るとわかると思います) なので、 set oapp = getobject(, "excel.application") で処理するのもループさせ、excelが無くなるまで処理するのでしょうか。 ※確認作業中はファイルが壊れてもいいようにコピーは取っておきます。