IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Timer en Vbs


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 62
    Points : 41
    Points
    41
    Par défaut Timer en Vbs
    Bonjour,


    J'ai un script qui me permet de lancer et de verifier si un fichier excel est deja ouvert, sauf qu'apres quelque jours de mise en production je me rend compte que les gens oublie de fermer le excel donc ca le rend indisponible, je souhaiterais savoir comment je pourrais faire une temporisation de 5 min apres l'ouverture du excel afin que quand ce laps de temps est arriver les excels se ferme automatiquement, j'ai chercher sur google j'ai teste pas mal de truc mais rien de tres concluent, je vous remercie par avance.

    PS/ Le wscript.sleep fonctionne pas il me dis que le fichier est actuellement occupé, donc comment le forcer? je suis prenneur de toute proposition et encore merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    Const EXCEL_GUID = "Excel.Application"  
     
    ' Méthodes 
     
    Sub Main() 
     
    Dim OFS, MonFichier, Result
     
    'crée la référence du dossier
     
    Set OFS = CreateObject("Scripting.FileSystemObject")
     
    'vérifie l'existance du fichier.
     
     
     
    	If OFS.FileExists("S:\lili\lala\lolo\flag.txt") Then 
     
    		MsgBox ("Fichier est actuellement occupé, merci de réessayer plus tard. ")		
     
    	Else
     
    		 ' Excel objects 
     
    		 Dim wkb 
     
    		 Dim FSys
     
    		 Dim MonFic 
     
     
     
    		 ' Création d'une instance d'Excel 
     
    		 Set xls = CreateObject(EXCEL_GUID) 
     
     
     
    		 ' On ne l'affiche pas 
     
    		 'xls.Visible = True 
     
     
     
    		 ' Ajout d'un espace de travail (par défaut, Excel s'ouvre vide) 
     
    		 Set wkb = xls.Workbooks.Open("S:\lili\lala\lolo\Demande Support.xls") 
     
    		 Set FSys = CreateObject("Scripting.FileSystemObject")
     
    		 Set MonFic = FSys.CreateTextFile("S:\lili\lala\lolo\flag.txt") 
     
    		 MonFic.Close()
     
    		 xls.Run("start.start")
     
     
     
    		 ' On indique qu'on ferme l'espace de travail en enregistrant le document (une popup d'enregistrement apparaît) 
     
     
     
    		'quite le script
     
    		'temp d'attente en seconde (300000=5min)
     
    		xls.Quit 
     
    		xls.Visible = True 
     
    		'wscript.sleep 10000        ' 300000	
     
    	    'close
     
    		 ' On quitte Excel 
     
     
     
    		sup
     
    	    'wscript.quit
     
    	End if
     
    End Sub
     
    Function sup() 
     
    	On Error Resume Next 
     
    		Set objFSO = CreateObject("Scripting.FileSystemObject") 
     
    		objFSO.DeleteFile("S:\lili\lala\lolo\flag.txt")
     
    			If err.number <> 0 Then  
     
    				sup = false  
     
    			else  
     
    				sup = true 
     
    			End If 
     
    End Function
     
    ' Démarrage du programme 
     
    Call Main()

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    As-tu essayé le timer proposé par les scripting guys, ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Dim dtmStartTime
     
        Sub Test
            dtmStartTime = Now 
            idTimer = window.setTimeout("PausedSection", 5000, "VBScript")
        End Sub
     
        Sub PausedSection
            Msgbox dtmStartTime & vbCrLf & Now
            window.clearTimeout(idTimer)
        End Sub
    le msgbox te montre combien de temps a durée la pause, évidemment tu devras le supprimer dans ton pgm final.
    J'utilise ce code dans les HTA et ca marche bien d'autant plus que les sleep scripts ne fonctionnent pas en HTA.
    Plus tu pédales moins vite, moins t'avances plus vite.

Discussions similaires

  1. Timer en vbs
    Par miagomiago dans le forum VBScript
    Réponses: 5
    Dernier message: 28/06/2007, 05h35
  2. [horloge] conflit caractère / timer
    Par JeanJean dans le forum C
    Réponses: 10
    Dernier message: 09/05/2003, 23h47
  3. [] [Réseau] Anti-timer, anti-idle
    Par clonevince dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 15/01/2003, 22h19
  4. Timer de précision
    Par guigui dans le forum MFC
    Réponses: 1
    Dernier message: 04/12/2002, 15h21
  5. Timer en µsecondes
    Par Dagobert dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 25/11/2002, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo