|
▼neptune さん:
こんにちは。
お返事ありがとうございます。
お礼が遅れまして申し訳ありません。
>小僧 さんが既に書かれているようにExcel Applicationのインスタンスが
>消えてないんでしょう。
>
>>Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
>恐らく、↑の後始末が出来てないからでは?
>
>先ずは、キチンと閉じて、参照を停止する処理を追加してみて下さい。
>xlsWkb.close
>xlsWkb =nothing
>
>xlsWkb が残っているから、xlsAppの幽霊が残ってしまっているような気がします。
最初に投稿した、10445では、
xlsWkb.close
xlsWkb =nothing
を記述していたのですが、この処理を行うと、
同じコマンドの中で、エクセルを開くということができなかったのです。
で、アドバイスを受けて、
>>MyFile = "D:\My Documents\2008\社会保険届出関連\WT_社保資格喪失.xls"
>>Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
>>Set rst = CurrentDb.OpenRecordset("Q_社保エクスポート用", dbOpenDynaset)
>>xlsWkb.Worksheets("T_社保資格喪失").Range("A11.M100").ClearContents
>>xlsWkb.Worksheets("T_社保資格喪失").Range("A11").CopyFromRecordset rst
>>
>>Set rst = Nothing
>>xlsWkb.Close True: Set xlsWkb = Nothing
>>xlsApp.Quit: Set xlsApp = Nothing
>>このあとエクセルを開くコードを記述したけど、エラー。
↓
>>Excelを閉じずに利用
>>MyFile = "D:\My Documents\2008\社会保険届出関連\WT_社保資格喪失.xls"
>>Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
>>Set rst = CurrentDb.OpenRecordset("Q_社保エクスポート用", dbOpenDynaset)
>>xlsWkb.Worksheets("T_社保資格喪失").Range("A11.M100").ClearContents
>>xlsWkb.Worksheets("T_社保資格喪失").Range("A11").CopyFromRecordset rst
>>xlsApp.UserControl = True
>>xlsApp.Visible = True
>>AppActivate "Microsoft Excel"
のように直したのでした。でもこの記述だと、前に記載したように、読み取り専用で開くことがたびたびありまして・・。
今いろんなヘルプを見たり、質問したりしながら、試行錯誤中です。
また、お気づきの点等ありましたら、教えてくださるとありがたいです。
|
|