Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Dectect a Grid on a Form
Message
De
07/12/2005 09:29:18
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Divers
Thread ID:
01075605
Message ID:
01075699
Vues:
16
That's even better. I just look if there's an application associated with .xls
__
>>Hi all ,
>>
>>How can I detect a Grid on a form ?
>>How can I detect MS excel ?
>>
>>Best Regards
>
>* CheckServer.PRG
>* Published in _Microsoft Office Automation with Visual FoxPro_,
>* Hentzenwerke Publishing, June, 2000.
>* www.hentzenwerke.com
>* lWordExists = CheckServer("Word.Application")
>* Copyright 2000 by Tamar E. Granor and Della Martin All Rights Reserved
>
>LPARAMETER cServerName
>if vartype(cServerName)<>"C"
>   cServerName = "Word.Application" && Default check for Word
>endif
>LOCAL oRegistry, cClassID, cEXEName, lEXEExists, ;
>      aClassIDValues, aClassIDValues, aServerNameValues
>
>IF VERSION() >= "Visual FoxPro 06"
>   oRegistry = NewObject("Registry", HOME() + "FFC\Registry")
>ELSE
>  SET PROCEDURE TO HOME() + "samples\classes\registry.prg" ADDITIVE
>  oRegistry = CreateObject("Registry")
>ENDIF
>
>lEXEExists = .F.
>
>DECLARE aClassIDValues[1], aServerNameValues[1]
>
>WITH oRegistry
>  * Find the CLSID of the server. First, look for
>  * the Class's Key.
>  IF .OpenKey(cServerName + "\CLSID") = 0
>    * The Class's Key is open, now enumerate its values
>    .EnumKeyValues(@aClassIDValues)
>
>    * The data portion of the first (only) value returned
>    * is the CLSID. Find the LocalServer32 key for the CLSID
>    IF .OpenKey("CLSID\" + aClassIDValues[1,2] + "\LocalServer32") = 0
>      * Enumerate the LocalServer32 values
>      .EnumKeyValues(@aServerNameValues)
>
>      * The EXE file is stored in the first (only) data value returned.
>      cEXEName = aServerNameValues[2]
>
>      * The value that's returned may have " -Automation" or " /Automation" or
>      * " /AUTOMATION" & other trailing stuff at the end. Strip it off.
>      IF "AUTO" $ UPPER(cEXEName)
>        cEXEName = LEFT(cEXEName, ATC("AUTO", UPPER(cEXEName)) - 2)
>      ENDIF
>
>      * Verify that the file exists
>      lEXEExists = FILE(cEXEName)
>    ENDIF
>  ENDIF
>ENDWITH
>
>RETURN lEXEExists
>
Gregory
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform