Only lightly tested (I haven't even tried save/close/reopen) but have a go
with this
' in ThisWorkbook module
Private Sub Workbook_Activate()
ShowHideComments True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ShowHideComments
End Sub
Private Sub Workbook_Deactivate()
ShowHideComments
End Sub
Private Sub Workbook_Open()
gdtOpened = Now
ShowHideComments True
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ShowHideComments True
End Sub
''''' end Thisworkbook module
'' in a normal module
Public gdtOpened As Date
Public gdtHideTime As Date
Sub ShowHideComments(Optional bShow As Boolean)
If Now > gdtOpened + TimeSerial(0, 1, 0) Then bShow = False
If bShow And TypeName(ActiveSheet) <> "Chart" Then
If gdtHideTime > 0 Then
Application.OnTime gdtHideTime, "ShowHideComments", , False
End If
If Application.DisplayCommentIndicator <> xlCommentAndIndicator Then
Application.DisplayCommentIndicator = xlCommentAndIndicator
End If
gdtHideTime = Now + TimeSerial(0, 0, 2)
Application.OnTime gdtHideTime, "ShowHideComments"
ElseIf bShow = False And Application.DisplayCommentIndicator _
<> xlCommentIndicatorOnly Then
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
gdtHideTime = 0
End If
End Sub
'' end code in normal module
Change TimeSerial(0, 1, 0) and TimeSerial(0, 0, 2) to suit, as written all
will revert to normal after one minute (you asked for 5) and within that
time comments should display for two seconds.
Regards,
Peter T