Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
Access側でExcelを閉じると空のBookが残る
投稿日時: 20/10/16 15:35:31
投稿者: おばちゃん

教えてください。
Access側でExcelを開き、処理をして、Excelを閉じるというコードを書きましたが、
ファイルは閉じたのですが、空のBookが残っている状態になってしまっています。
書き方が悪いのでしょうか?

Private Sub Test(strFile As String)

Dim objExcel As New Excel.Application
Dim wbR As Workbook
Dim wsR As Worksheet

   '読み取り専用で開く
    Set wbR = objExcel.Workbooks.Open(strFile, False, True)
    
    '表示
    objExcel.Visible = True
    'メッセージ非表示
    objExcel.DisplayAlerts = False

    Set wsR = wbR.Worksheet(1)
    
    
    '処理
    
    'メッセージ再表示
    objExcel.DisplayAlerts = True
    
    'ファイルを閉じる
    wbR.Close False
    objExcel.Quit
    
    Set wsR = Nothing
    Set wbR = Nothing
    Set objExcel = Nothing
    
End Sub

回答
投稿日時: 20/10/16 17:26:16
投稿者: sk

本当に掲載された通りのコードを実行されているのであれば、
標題の現象とは別の不具合として)下記のステートメントで
実行時エラーが発生するはず。
 

引用:
Set wsR = wbR.Worksheet(1)

Set wsR = wbR.Worksheets(1)
 
引用:
ファイルは閉じたのですが、空のBookが残っている状態になってしまっています。

そのコードを実行しようとしている時点で、
既に別の Excel のインスタンスが起動されている
というわけではないのでしょうか。

回答
投稿日時: 20/10/16 19:00:08
投稿者: なと

原因は

Dim objExcel As New Excel.Application

です。
 
Dim objExcel As Excel.Application
Set objExcel = New Excel.Application

として試してみてください。
[/quote]

投稿日時: 20/10/19 10:02:52
投稿者: おばちゃん

皆様、すみません。
Testバージョンでコードを書いたときにコンパイルしていなかったため、間違えました。
 
今実行しましたが、普通にExcelも終了していました。
ご迷惑をおかけ申し訳ありません。