Ah, afraid I wrongly assumed everyone had it!
Not sure how I got mine, with VB6 perhaps but I think I've had it for ever.
I just looked at Chip's. It looks only at XL.
I've just had a quick look too. I think merely need to change -
'ThisWorkbook.VBProject.References("EXCEL").FullPa th'
to the path of the *.olb in question
eg, as in quick demo I posted, mine for Word2K was
"C:\Program Files\Microsoft Office2K\Office\Msword9.olb"
Regards,
Peter T
"Jim Thomlinson" wrote in message
...
That is the reference that you need (TLBINFO32.DLL). If I am correct that
is
not a standard DLL that everyone is going to have. I do know that it comes
with VB6 (as per this article http://support.microsoft.com/kb/239930). My
code is basically the same as that except that I have listed all of the
paths
and file nems for the standard office applications to make it easier.
--
HTH...
Jim Thomlinson
"Peter T" wrote:
Hi Jim,
Earlier you said yours required a VB6 dll, what might that be and why
not
something like this in VBA
Sub testTLI()
' Tools References
' scroll down and check "TypeLibInformation"
' if not found Browse to TLBINFO32.DLL
Dim sPath As String
Dim sLib As String
Dim sFile As String
Dim i As Long
Dim tli As TypeLibInfo
Dim ci As ConstantInfo
Dim mbr As MemberInfo
'change to appropriate Office path
sPath = "C:\Program Files\Microsoft Office2K\Office\"
sLib = "Msword9.olb" 'Word 2000 library
' sLib = "Excel9.olb" 'XL2K
Set tli = TypeLibInfoFromFile(sPath & sLib)
For Each ci In tli.Constants
For Each mbr In ci.Members
i = i + 1
Cells(i, 1) = mbr.Name
Cells(i, 2) = mbr.Value
Next mbr
Next ci
End Sub
Regards,
Peter T
"Jim Thomlinson" wrote in
message
...
I just looked at Chip's. It looks only at XL. Using mine you select
the
app
and version and it returns the constants... Mine needs a little more
work
as
it can return duplicates but the jist of it is there...
--
HTH...
Jim Thomlinson
"Dave Peterson" wrote:
Just to add...
Chip Pearson has one for excel (I don't know if it works in
different
office
applications, though).
http://www.cpearson.com/excel/download.htm
Look for XLConst
Jim Thomlinson wrote:
I have a spreadsheet that reads the constant values out of XL,
Word
and other
MS apps. Regretably I do not have a link to MSProject. It is
based on
http://support.microsoft.com/kb/239930
I can send you a copy. You need the dll from VB6 to make it work.
--
HTH...
Jim Thomlinson
"Dave Peterson" wrote:
And to add to Jim's response....
I don't use Project, but when I need the value of an MSWord
constant, I'll open
MSWord.
Go into its VBE, show the immediate window and type this:
?wdMarkupRectangle
and see this returned:
2
If I have lots to look up, I'll go into the Object browser and
search.
JJ wrote:
I have an Excel file that imports data from a Project file.
However,
the users could potentially be on two different versions of
Project.
With early binding this created a problem for those who used
the
earlier version of Project. Therefore, I removed the reference
and
used late binding.
This now created a problem in a function where I used
constants
defined only in Project, but if there reference doesn't exist
then
the
constants mean nothing. The function relies on these constants
for
it
to work.
Questions:
1) I want to continue to use the late binding method, but how
do I
allow my function to access the Project constants?
2) Is it possible to detect the version of Project that a user
has
installed and programmatically create the reference?
Thanks in advance!
--
Dave Peterson
--
Dave Peterson