|
>新たに任意のファイルB.xlsやC.xlsを開くと
ブックレベルのイベントではなく、アプリケーションレベルのイベントを使います。
ファイルA.xlsのVBEで「挿入」「クラスモジュール」を選択し、"Class1"という
モジュールが追加されるのを確認して下さい。そのモジュールの先頭から
Public WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
Dim WS As Worksheet
Application.ScreenUpdating = False
For Each WS In Wb.Worksheets
WS.Activate
ActiveWindow.DisplayGridlines = False
Next
Application.ScreenUpdating = True
End Sub
そしてThisWorkbookモジュールには、先頭から
Dim X As New Class1
Private Sub Workbook_Open()
Set X.App = Application
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Set X.App = Nothing: ThisWorkbook.Save
End Sub
というマクロを入れて、ファイルA.xlsを再起動してみてください。
|
|