excel vba、開いたブック内の作業グループを自動解除したい
■課題
excelブックを開くタイミングで、作業グループを自動解除する方法を探してます。
対象は1つのブックだけではなく、とある数台のPCで開くブックを全て対象にしたいと考えます。
(環境=win7+Excel2010、Win10+excel2016、2つ利用)
■理由
作業グループに気づかずに編集すると、意図しない変更が発生し、これを回避したいと考えます。
■当方の試行錯誤
個人用マクロブック(PERSONAL.XLSB)に次のようなマクロを入れてみました。
Sub auto_open()
If ActiveWindow.SelectedSheets.Count > 1 Then
MsgBox "作業グループを解除します"
ActiveWindow.SelectedSheets(1).Select
End If
End Sub
単なるブック(Book1.xlsmなど)にマクロを入れると、動作したのですが、
個人用マクロブック(PERSONAL.XLSB)にマクロを入れると、エラーになりました。
typename(ActiveWindow)="Nothing"となっていることが原因だと考えます。
少し直せば、解決するでしょうか? 別の方法で解決するでしょうか?
以上、
本課題の解決方法ご存知の方いらっしゃいましたら、ご教授よろしくお願いします。
コメントより追記
- エラーは以下です。
「実行時エラー'91':オブジェクト変数またはWithブロック変数が設定されていません。」 - エラーを確認した環境は、win7+excel2010でした。
ActiveWorkbook.Worksheets(1).Select
も上と同じエラーでした。typename(ActiveWorkbook)
も"Nothing"でした。
ActiveWindow
もActiveWorkbook
も"Nothing"という状況なので、
個人用マクロブック(PERSONAL.XLSB)のauto_openのタイミングでは、
ActiveWindow
もActiveWorkbook
も定まっていない様子です