MW211 EXIT

devlog
ExcelVBA/クローズのお作法
2014年10月07日
ファイルやデータベースをオープンした後に、クローズするお作法。

エラー等でイレギュラーな終わり方をする場合でも、しっかりクローズしたいもの。

ということで、以下のような感じとなる。
┌──────────────────────────────────────┐
│    対象.Open                                                               │
├──────────────────────────────────────┤
│    GoTo l_終了                                                             │
├──────────────────────────────────────┤
│l_終了:                                                                     │
│    If 対象.State <> adStateClosed Then                                     │
│        対象.Close                                                          │
│    End If                                                                  │
│    Set 対象 = Nothing                                                      │
└──────────────────────────────────────┘
「<> adStateClosed」でクローズ済み(もしくは未オープンでないことを確認する)。
「Nothing」の代入の方は無条件で可。

できれば終了処理のところは関数化してしまった方が見栄えがいいかも。
分類:ExcelVBA