Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2007, 16h20   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 5
Points : 2
Points : 2
Par défaut Récupérer la valeur envoyée par la fonction shell

Bonjour,

dans l'aide de VB, on nous dit que la fonction shell renvoie une valeur du type Variant(Double). J'aimerais savoir comment récupérer cette valeur afin de déterminer le moment où la fonction shell sera terminée.

Merci d'avance.
cestimagik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 19h34   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Tout dépend ce que tu souhaites avoir
Code :
1
2
    n = "WINWORD.EXE "
    DemWord = Shell(n, 3)
ce qui donne 2400 pour la valeur de DemWord
Dis-nous en plus
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 10h58   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 5
Points : 2
Points : 2
eh bien j'aimerais ouvrir un fichier. En revanche, il faut que le programme qui lit le fichier soit lancé pour que le fichier puisse être lu. et comme le programme met un certain temps à s'ouvrir, il faudrait que mon fichier se lance lorsque la fenêtre du programme s'ouvre.

j'ouvre mon programme avec un shell et j'aimerais savoir quand est-ce que la fonction shell est terminée, ou a ouvert mon programme.

Merci d'avance.
cestimagik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 19h43   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Pour faire patienter le système lors du lancement de ton appli, ajoute DoEvents sur la ligne suivante
Tu peux aussi utiliser un timer
Code :
1
2
3
4
5
6
7
8
9
Function TimerFonction(Durée)
Dim Début
Dim fin As Boolean
    Début = Timer   ' Relève l'heure de début.
    Do
        fin = Timer > Début + Durée
        DoEvents    ' Passe le contrôle à d'autres processus.
    Loop While Not fin
End Function
Et tu as également un exemple d'utilisation dans l'aide
A+

NB - SilkyRoad a récemment donné une solution permettant de savoir si un appli était ou non lancée. Je ne sais pas si ça correspond à ton attente mais une recherche dans ses réponses pourraient te renseigner (courant décembre)
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h24.


 
 
 
 
Partenaires

Hébergement Web