12. 終了処理
 最後の最後です。CSVファイルやマクロ入りのエクセルワークブックなど、必要のないワークブックを閉じます。閉じた後に最終的に残るのは店舗別売り上げ一覧表です。
プロシジャ「終了処理」の作成
 7. リスト作成処理と初期処理で終了処理とうプロシジャを呼び出してますが、今度はこの部分を作ります。本当に、これがラスト!です。

Sub 終了処理()

  Workbooks("uriage.csv").Close
  Workbooks("Excel Smile01.xls").Close

End Sub

 ワークブックを閉じるには、ワークブックに対してCloseというメソッドを実行します。閉じるときは、CSV、マクロ入り本体の順で行います。逆だと、本体がクローズされてマクロがそこで止まってしまい、CSVが出たままになってしまうことが・・・・あったような、なかったような。。。(いい加減だな、オレも)

 というわけで、動かしてみましょう。またまた「リスト作成」を実行[アイコン]してみよう!でも、その前に「必ずマクロ入りの本体」を保存してください。保存を忘れると、せっかく作ったマクロが消えてしまい今までの苦労が水の泡・・・なんて悲惨な結果になるおそれがあります。まぁ、それが原因で人生に挫折したなんてことは無いと思いますが(笑)

 で、これでワークブックは閉じる…はずですが、猫やイルカが暴れたり、または左図のような保存しますか?なんてダイアログが出ませんでしたか?


 保存せよって言われてもねぇ・・・CSVなんて使い捨てだしねぇぇぇ・・・てなわけで、ここはとりあえずキャンセルボタンを押してください。実はいい手がありますよ、お客さん!
保存の確認を行わずにワークブックを閉じる
 終了処理に一行だけ呪文を追加して、最終的には、次の形になります。

Sub 終了処理()

  Application.DisplayAlerts = False
  Workbooks("uriage.csv").Close
  Workbooks("Excel Smile01.xls").Close

End Sub

 Application.DisplayAlerts = Falseというのは、保存の確認やその他の警告などを一切表示しないでくださいという意味です。
(警告を表示する場合はTrueを指定します)

 で、実行前には必ず保存してください。マクロ入りの本体をです。保存が完了したら、またまた「リスト作成」を実行してみてください。今度はどうですか?
 うまくいけば、マクロで作った店舗別売り上げ一覧表だけが残り、他のワークブック(CSVやマクロ入りの本体)が画面から消えます。
おつかれ!
 というわけで、帳票の作成は終了です。24才OLの香織さんの悩みもこれで解消されることでしょう。でも、今度は毎日マクロを起動するのが面倒だと言われそうだな。。。まっ、いっか。そんときゃ、また別なネタあるし(笑)
Copyright(C) 1999-2006 結城圭介。 All rights reserved