|
「開かれている任意のExcelブックを閉じる」ということがしたいです。
開かれている任意のExcelブックをAccessから閉じることはできましたが、
複数のExcelアプリケーションが起動している場合にうまく動作しません。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
flg = True 'フラグ初期化
'重複オープンのチェック
On Error Resume Next
Set xls = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Err.Clear ' Errをクリア
Else
'同名のブックは閉じる
For Each wkb In xls.WorkBooks
If wkb.Name = Dir(fName1) Then
wkb.Close SaveChanges:=False
ElseIf wkb.Name = Dir(fName2) Then
wkb.Close SaveChanges:=False
Else
flg = False
End If
Next wkb
'他にExcelファイルが開いていない場合
If flg = True Then
xls.Quit '"Excel.application"を閉じる
End If
End If
Set xls = Nothing
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
Set xls = GetObject(, "Excel.application")
をループ文か何かでまわせればうまく動きそうな気がしますが、
その方法がわかりません。
どなたか教えて下さい。よろしくお願いします。
|
|