ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Full path in title bar (https://www.excelbanter.com/excel-discussion-misc-queries/82103-re-full-path-title-bar.html)

ntoze

Full path in title bar
 
Further to my earlier message, this class can be added to give a
reliable 'read-only' tag in the title bar when using the full path in
title bar code.


[Class ToggleReadOnlyEvents]

Option Explicit

Private WithEvents togReadOnlyButton As Office.CommandBarButton

Private Sub Class_Initialize()
' Not sure if this ID is stable. Could use the name instead.
Set togReadOnlyButton = CommandBars.FindControl(ID:=456)
End Sub

Private Sub Class_Terminate()
Set togReadOnlyButton = Nothing
End Sub

Private Sub togReadOnlyButton_Click( _
ByVal Ctrl As Office.CommandBarButton, _
CancelDefault As Boolean)
Dim Wb As Workbook
Set Wb = ActiveWorkbook

If Wb.ReadOnly = True Then
If GetAttr(Wb.FullName) And vbReadOnly Then
MsgBox "'" & Wb.Name & "' is read-only." _
& " To save a copy, click OK, then give the" _
& " workbook a new name in the Save As dialog box.", _
vbExclamation, "Microsoft Excel"
Else
Wb.ChangeFileAccess xlReadWrite
End If
Else
Wb.ChangeFileAccess xlReadOnly
End If

showFullName Wb

CancelDefault = True
End Sub

Private Sub showFullName(Wb As Workbook)
Dim caption As String
On Error Resume Next

caption = Wb.FullName
If Wb.ReadOnly Then
caption = caption & " [Read-Only]"
End If

Wb.Windows(1).caption = caption
End Sub


ntoze

Full path in title bar
 
There seems to be a problem with putting the path in the title bar
using the workbook open event. The problem is, if you have code like
this:

Set a_workbook = Application.Workbooks.Open("abc.xls", 0, True)

And abc.xls has a VBA reference to another workbook. Then a_workbook
will (or at least it will with my workbook) be set to the referenced
workbook, not abc.xls. Which is not the behaviour if the workbook open
event is not used.



All times are GMT +1. The time now is 10:11 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com