Code to list concurrently open workbooks
Forgot to post the FileFromPath function:
Function FileFromPath(ByVal strFullPath As String, _
Optional bExtensionOff As Boolean) As String
Dim FPL As Long 'len of full path
Dim PLS As Long 'position of last slash
Dim pd As Long 'position of dot before exension
Dim strFile As String
On Error GoTo ERROROUT
FPL = Len(strFullPath)
PLS = InStrRev(strFullPath, "\", , vbBinaryCompare)
strFile = Right$(strFullPath, FPL - PLS)
If bExtensionOff = False Then
FileFromPath = strFile
Else
pd = InStr(1, strFile, ".", vbBinaryCompare)
FileFromPath = Left$(strFile, pd - 1)
End If
Exit Function
ERROROUT:
End Function
RBS
"RB Smissaert" wrote in message
...
The posted code will miss out on add-ins that are open, but not loaded as
an add-in.
This code will correct that:
Sub test2()
Dim i As Long
Dim oProject
Dim oWB As Workbook
Dim collWorkbooks As Collection
Set collWorkbooks = New Collection
On Error Resume Next
For Each oProject In Application.VBE.VBProjects
collWorkbooks.Add FileFromPath(oProject.Filename, False), _
FileFromPath(oProject.Filename, False)
Next oProject
For Each oWB In Application.Workbooks
collWorkbooks.Add FileFromPath(oWB.Name, False), _
FileFromPath(oWB.Name, False)
Next oWB
For i = 1 To collWorkbooks.Count
MsgBox collWorkbooks(i)
Next i
End Sub
RBS
"DaveO" wrote in message
...
That's what I was looking for, thanks!
|