|
▼あおぎんさん、kohjiさん
こんにちは。
Workbook.Close は Excel のメニューから
[ファイル] → [閉じる] の動作、
Application.Quit は Excel のメニューから
[ファイル] → [終了] の動作と同意です。
Set xx = Nothing については
以前に同じ様な事を回答した事があるので
ご参考までに紹介させて頂きます。
h tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=9646;id=access
> Set qdf = DB.QueryDefs("Q_社保エクスポート用")
> qdf.SQL = str
> qdf.Close
>
> 'レコードセットを開く
> Set rst = DB.OpenRecordset("Q_社保エクスポート用")
何回かレコードセットを開きなおしているようですが、
QueryDef オブジェクトをそのまま使って
qdf.OpenRecordset なんて使い方もできますよ。
また、3回目にセットしている箇所も
Dynaset タイプで開く必要がなさそうですので、
1回だけ開けば問題なさそうですね。
> オブジェクトがないというエラーメッセージが出ます。
上の方にある
> xlsApp.Quit: Set xlsApp = Nothing
という箇所で、変数:xlsApp への参照を切ってしまったために
xlsApp.Workbooks.Open (MyFile)
がうまくいってないですね。
kohjiさんご指摘の通り、Excelを閉じないのが一番の回避策ですが、
Quit を後にすればもう一度開く事もできるかと思われます。
|
|