Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Hi all A simple question, I hope how do I return the name rather than the index number for a property, so that eg MsgBox ActiveWorkbook.FileFormat returns "xlWKS" not "39" -- Nicky ------------------------------------------------------------------------ Nicky's Profile: http://www.excelforum.com/member.php...nfo&userid=312 View this thread: http://www.excelforum.com/showthread...hreadid=380800 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It may be a simple question, but it is a complicated answer. And
by the way, xlWKS is a 4, not a 39. First, in VBA go to the Tools menu, choose References, and scroll down to "Typelib Information". If you don't have this, then you can't do what you want. Assuming you do have this library, check it in the list. Then use code like the following: Dim TLIApp As TLI.TLIApplication Dim TLILibInfo As TLI.TypeLibInfo Dim ConstInfo As TLI.ConstantInfo Dim MemInfo As TLI.MemberInfo Set TLIApp = New TLI.TLIApplication Set TLILibInfo = TLIApp.TypeLibInfoFromFile( _ Filename:=ThisWorkbook.VBProject.References("EXCEL ").FullPath) Set ConstInfo = TLILibInfo.Constants.NamedItem("XLFileFormat") 'change ' the XLFileFormat to the constant enum group name you want to search For Each MemInfo In ConstInfo.Members If MemInfo.Value = 39 Then ' change the 39 to the value you want to look up MsgBox MemInfo.Name Exit For End If Next MemInfo For much more information about how to do this and more, go to http://www.cpearson.com/excel/download.htm and download TLIUtils. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Nicky" wrote in message ... Hi all A simple question, I hope how do I return the name rather than the index number for a property, so that eg MsgBox ActiveWorkbook.FileFormat returns "xlWKS" not "39" -- Nicky ------------------------------------------------------------------------ Nicky's Profile: http://www.excelforum.com/member.php...nfo&userid=312 View this thread: http://www.excelforum.com/showthread...hreadid=380800 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Thanks Chip, that worked perfectly, though more complicated than I'd expected. for anyone repeating Chip's method, you'll also need to change macro security to include the VB project as a tructed source Nicky -- Nicky ------------------------------------------------------------------------ Nicky's Profile: http://www.excelforum.com/member.php...nfo&userid=312 View this thread: http://www.excelforum.com/showthread...hreadid=380800 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() sorry Try MsgBox ActiveWorkbook.Name Should be the good one! Nicky Wrote: Hi all A simple question, I hope how do I return the name rather than the index number for a property so that eg MsgBox ActiveWorkbook.FileFormat returns "xlWKS" not "39 -- Sibili ----------------------------------------------------------------------- Sibilia's Profile: http://www.excelforum.com/member.php...fo&userid=2136 View this thread: http://www.excelforum.com/showthread.php?threadid=38080 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
return text not index for property | Excel Programming | |||
Return value of Property Get when using enumerated type | Excel Programming | |||
Runtime Error 381 Couldn't set list property, invalid array index | Excel Programming | |||
Runtime Error 381 Couldn't set list property, invalid array index | Excel Programming | |||
no tab index property in VBA for text fields | Excel Programming |