J
J Streger
I am trying to get a list of all files that Excel currently has open. I say
files in that it can be a mixture of .xla and .xls files (talking Excel 2003
here).
I can just loop through the workbooks collection to get .xls files.
I can then loop through the Addins to get the .xla files...except it doesn't
get them all. Below is the function I am using (ExistsInCollection just
detects if a key (2nd param) links to an index in a collection (1st param)).
What is interesting is I have some .xla files I add via the installer, and
others I open programatically when a .xls opens, thus they aren't in the
Addin list, nor do they show up in the Workbooks collection. I am trying to
do this WITHOUT going through the VBE collection since that opens a security
hole.
Function OpenAddins() As Collection
Dim inx As Integer
Dim colAddins As New Collection
For inx = 1 To Application.AddIns.Count
If ExistsInCollection(Workbooks, Application.AddIns(inx).Name) Then
colAddins.Add Application.AddIns(inx).Name
End If
Next inx
Set OpenAddins = colAddins
End Function
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003
User of MS Office 2003
files in that it can be a mixture of .xla and .xls files (talking Excel 2003
here).
I can just loop through the workbooks collection to get .xls files.
I can then loop through the Addins to get the .xla files...except it doesn't
get them all. Below is the function I am using (ExistsInCollection just
detects if a key (2nd param) links to an index in a collection (1st param)).
What is interesting is I have some .xla files I add via the installer, and
others I open programatically when a .xls opens, thus they aren't in the
Addin list, nor do they show up in the Workbooks collection. I am trying to
do this WITHOUT going through the VBE collection since that opens a security
hole.
Function OpenAddins() As Collection
Dim inx As Integer
Dim colAddins As New Collection
For inx = 1 To Application.AddIns.Count
If ExistsInCollection(Workbooks, Application.AddIns(inx).Name) Then
colAddins.Add Application.AddIns(inx).Name
End If
Next inx
Set OpenAddins = colAddins
End Function
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003
User of MS Office 2003