見出し画像

一定時間経過後に自動で閉じるexcelブックの作り方

課題

複数人で編集をしているexcelブックがある。共有機能を使用していたが度々不具合が発生するので、共有設定を外し「編集をしたらすぐに閉じる」というルールで運用することにした。しかし、ブックを閉じ忘れる人がいて、他の人が編集できなくなることがままあるため、vbaで一定時間経過後に自動でブックを閉じる機能を追加することとした。

対応方法

①ThisWorkbookをダブルクリックして、以下の記載をする。

TimeValue("hh:mm:ss")には任意の値を入れる。(例は15秒)

②標準モジュールに、以下の記載をする。

Application.Quitを書かないと空のexcelが残る。
"savechanges:=True"として保存して閉じることとした。

サンプルコード

Private Sub Workbook_open()
    Application.OnTime Now + TimeValue("00:00:15"), "closeThisWorkbook"
End Sub
Sub closeThisWorkbook()
    Application.Quit
    ThisWorkbook.Close savechanges:=True
End Sub

参考にしたサイト

パソコンカレッジ スタッフのひとりごと(開いても、10秒後に自動的に終了するファイルを作る方法(Excel2000以降))
「お遊びの何の役にも立たないプログラム」みたいに書かれていますが、そんなことないと思いました。

この記事が気に入ったらサポートをしてみませんか?