Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
SAP Late Binding Problem | Excel Programming | |||
Late Binding examples of binding excel application | Excel Programming | |||
Excel Automation Problem with Late Binding | Excel Programming | |||
late binding onto Word problem | Excel Programming | |||
late binding in excel | Excel Programming |