Beware that it can take a bit to run (20 seconds or more sometimes) so you may want to generate an external include file instead of running this each time.
Thanks to Sven for fixing a COM bug to make this work and for pointing out how to do the real-time constant assignment.
Dale
Edit: This code relies upon the redistributable file TlbInf32.dll which ships with Visual Studio and modern versions of Microsoft Office. For help on using this library, see here: Help Files for Tlbinf32.dll. Tlbinf32.dll can be found in many places on the web, here is one.. If you download the dll, make certaint that you also register it -- e.g. regsvr32 tlbinf32.dll
#cs Func AssignCOMEnums($sApp [, $bShow]) ABSTRACT: Retrieve the Enumerated Constants for an Applcation Class and assign their values to AutoIt3 global variables Example: AssignCOMEnums("Excel.application", 1) REQUIRED: $sApp - string containing the class name. Ex. "Excel.application" OPTIONAL: $bShow - if set to 1, ConsoleWrite will display the resulting constants and their associated values #ce Func AssignCOMEnums($sApp, $bShow = 0) Dim $oTLA, $oTLI, $CstEnum, $CstObj, $CstString, $sApp, $oApp, $bShow $oApp = ObjCreate($sApp) $oTLA = ObjCreate("TLI.TLIApplication") $oTLI = $oTLA.InterfaceInfoFromObject($oApp).Parent For $CstEnum in $oTLI.Constants If "_" <> StringLeft($CstEnum.Name, 1) Then For $CstObj In $CstEnum.Members Assign("$" & $CstObj.Name, $CstObj.Value, 2) If $bShow Then ConsoleWrite("$" & $CstObj.Name & " = " & Eval("$" & $CstObj.Name) & @CR) Next EndIf Next EndFuncoÝ÷ Ù'+m¢§z¶y©âÉnuçâçèPR%«ÚIÊâ¦Ú+ëh"Ö®¶sb6æ6ÇVFRfÇCµ7G&æræS2fwC°¤÷Bb33´×W7DFV6Æ&Uf'2b33²Â¤vÆö&Âb33cµFFÆRÂb33cµ&W` ¤b7G&æu&vB67&DæÖRÂBÒb33²æWRb33²FVà¢b33cµ&WbÒfÆTvWEfW'6öâ67&DgVÆÅF¤VÇ6P¢b33cµ&WbÒb33³ããb33°¤VæD` ¢b33cµFFÆRÒb33µô76vä4ôÔVçV×5FW7BFW7Bb33²fײb33cµ&W` ¤7&VFTæ6ÇVFTfÆRb33´çFW&æWDWÆ÷&W"äÆ6Föâb33²ÂgV÷C¶S2gV÷C²Âb33´çFW&æWDWÆ÷&W"æS2b33²ÂG'VR ¤gVæ27&VFTæ6ÇVFTfÆRb33c·5&ötBÂb33c·67$BÂb33c·4÷WDfÆRÂb33c¶%6÷tÖÖVFFR¢FÒb33c·7G$6öç7G0¢b33c·7G$6öç7G2Ò&WGW&åFÆ$VçV×4g&öÕ&ötBb33c·5&ötBÂb33c·67$B¢bb33c·7G$6öç7G2Òb33²b33²FVâW@¢fÆUw&FRb33c·4÷WDfÆRÂb33c·7G$6öç7G2¢bb33c¶%6÷tÖÖVFFRFVà¢'VâgV÷C¶æ÷FWBgV÷C²fײb33c·4÷WDfÆR¢VæD`¤VæDgVæ2³ÓÒfwC´7&VFTæ6ÇVFTfÆR ¤gVæ2&WGW&åFÆ$VçV×4g&öÕ&ötBb33c·5&ötBÂb33c·67$B¢FÒb33cµDÄÂb33cµDÄÂb33c´77DVçVÒÂb33c´77Dö&¢Âb33c´77E7G&ærÒb33²b33²Âb33c´6ô6Ç2Âb33c·d77BÂb33c·dVæFÂÂb33c·d6×BÂb33c·e&P¢b33c´6ô6Ç2Òö&¤7&VFRb33c·5&ötB¢bäõB4ö&¢b33c´6ô6Ç2FVà¢×6t&÷Âb33cµFFÆRÂgV÷C´6÷VÆFâb33·B7&VFRö&¦V7Bb33c´6ô6Ç2g&öÒb33c·5&ötBgV÷C²fײb33c·5&ötBfײb33²b33²¢&WGW&âb33²b33°¢VæD`¢b33cµDÄÒö&¤7&VFRgV÷CµDÄåDÄÆ6FöâgV÷C²¢b4ö&¢b33cµDÄFVà¢b33cµDÄÒb33cµDÄäçFW&f6Tæfôg&öÔö&¦V7Bb33c´6ô6Ç2å&Vç@¢vWDÆæu&×2b33c·67$BÂb33c·d77BÂb33c·dVæFÂÂb33c·d6×BÂb33c·e&R¢b33c´77E7G&ærÒ'VÆDçG&òb33c·5&ötBÂb33cµDÄä6öçFæætfÆRÂb33c·d6×B¢f÷"b33c´77DVçVÒâb33cµDÄä6öç7FçG0¢bgV÷CµògV÷C²fÇC²fwC²7G&ætÆVgBb33c´77DVçVÒäæÖRÂFVà¢b33c´77E7G&ærÒb33c´77E7G&ærfײ5$Äbfײb33c·d6×Bfײb33c´77DVçVÒäæÖRfײ5$Ä`¢f÷"b33c´77Dö&¢âb33c´77DVçVÒäÖVÖ&W'0¢b33c´77E7G&ærÒb33c´77E7G&ærfײb33c·d77BfײgV÷C²gV÷C²fײb33c·e&Rfײb33c´77Dö&¢äæÖRfײgV÷C²ÒgV÷C²fײb33c´77Dö&¢åfÇVRfײb33c·dVæFÂfײ5$Ä`¢æW@¢VæD`¢æW@¢&WGW&âb33c´77E7G&æp¢VÇ6P¢×6t&÷Âb33cµFFÆRÂgV÷C´6âb33·B7&VFRö&¦V7Bb33cµDÄgV÷C²¢&WGW&âb33²b33°¢VæD`¤VæDgVæ2³ÓÒfwCµ&WGW&åFÆ$VçV×4g&öÕ&öt@ ¤gVæ2vWDÆæu&×2b33c·67$BÂ'&Vbb33c·d77BÂ'&Vbb33c·dVæFÂÂ'&Vbb33c·d6×BÂ'&Vbb33c·e&R¢Æö6Âb33c·466U6VÆV7BÒ7G&ætÆ÷vW"b33c·67$B¢6VÆV7@¢66Rb33c·466U6VÆV7BÒgV÷C·f'2gV÷C³²ÂgV÷C·f'67&BgV÷C³ ¢b33c·d77BÒgV÷C´6öç7BgV÷C°¢b33c·dVæFÂÒgV÷C²gV÷C°¢b33c·d6×BÒgV÷C²b33²gV÷C°¢b33c·e&RÒgV÷C²gV÷C°¢66Rb33c·466U6VÆV7BÒgV÷C¶§2gV÷C³²ÂgV÷C¶§67&BgV÷C³ ¢b33c·d77BÒgV÷C·f"gV÷C°¢b33c·dVæFÂÒgV÷C³²gV÷C°¢b33c·d6×BÒgV÷C²òògV÷C°¢b33c·e&RÒgV÷C²gV÷C°¢66Rb33c·466U6VÆV7BÒgV÷C¶S2gV÷C³²ÂgV÷C¶WFöC2gV÷C³ ¢b33c·d77BÒgV÷C´6öç7BgV÷C°¢b33c·dVæFÂÒgV÷C²gV÷C°¢b33c·d6×BÒgV÷C³²gV÷C°¢b33c·e&RÒgV÷C²b33c²gV÷C°¢66RVÇ6P¢b33c·d77BÒgV÷C²gV÷C°¢b33c·dVæFÂÒgV÷C²gV÷C°¢b33c·d6×BÒgV÷C²gV÷C°¢b33c·e&RÒgV÷C²gV÷C°¢VæE6VÆV7@¤VæDgVæ2³ÓÒfwC¶vWDÆæu&×2 ¤gVæ2'VÆDçG&òb33c·5&ötBÂb33c·7'bÂb33c·d6×B¢&WGW&âb33c·d6×Bfײõ7G&æu&WVBcÂgV÷C²¢gV÷C²fײ5$Äbfײb33c·d6×BfײgV÷C´VçVÖW&FVB6öç7FçG2f÷"6ô6Æ72gV÷C²gV÷C²gV÷C²fײb33c·5&ötBfײgV÷C²gV÷C²gV÷C²gV÷C²fײ5$Äbð¢fײb33c·d6×BfײgV÷C´WG&7FVBg&öÒgV÷C²gV÷C²gV÷C²fײb33c·7'bfײgV÷C²gV÷C²gV÷C²gV÷C²fײ5$Äbfײb33c·d6×Bfײõ7G&æu&WVBcÂgV÷C²¢gV÷C²fײ5$Äb¤VæDgVæ2³ÓÒfwC´'VÆDçG&
Edited by DaleHohm, 02 August 2007 - 03:55 PM.






