ExcelVBAで特定のブックをcloseしたい
よろしくお願いします。Excel2000ですが、2002,2003,2007でも利用できることを前提に考えています。
複数のExcelブックを開いているとき、特定のファイル名のブックを閉じる方法を考えています。
2通り考えたのですが、いずれもだめでした。デバッグ機能でステップインしながら確認したのですが、エラーにもならず、closeメソッドを通過していました。
以下のVBAはなにか誤りがあるのでしょうか?
(その1)
For i = 1 To Workbooks.Count
If Left(Workbooks(i).Name, 2) = "v3" Then
msw = Workbooks(i).Name
If msw <> "V3main.xls" Then
Workbooks(msw).Close
End If
End If
Next
(その2)
For Each wb In Workbooks
If Left(wb.Name, 2) = "v3" Then
MsgBox (wb.Name)
If wb.Name <> "V3main.xls" Then
With wb
.Saved = True
.Close
End With
End If
End If
Next wb
補足
回答ありがとうございます。 実は他にもモジュールを記述していて それらを全部、標準モジュールにまとめています。 なので出来れば、標準モジュールに書ける方法が いいなぁと思っているのですが、可能でしょうか・・・