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 :

[visual basic VS vbs] Répertoire courant


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut [visual basic VS vbs] Répertoire courant
    Bonjour,

    j'ai un fichier .vbs dans lequel j'ai besoin de connaître le nom complet du répertoire courant (par exemple : "C:/Temp/prod/ProjetZZZZ/1.1").
    Ca me paraissait devoir être enfantin à mettre en place, mais je n'ai toujours pas trouvé mon bonheur...

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    J'ai bien essayé cette ligne de code.

    Lorsque je suis dans un éditeur Microsoft Visual Basic, j'obtiens :
    Erreur d'exécution '424'

    "Objet requis"
    Lorsque je suis dans un fichier lambda.vbs, j'obtiens :
    ce qui n'est malheureusement pas le répertoire dans lequel est placé mon fichier lambda.vbs

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    Ou la, je commence à être fatigué. Effectivement la réponse est dans le lien que tu lme proposes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox Wscript.ScriptFullName
    permet l'affichage de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:/Temp/prod/ProjetZZZZ/1.1/lambda.vbs
    Merci pour l'info, je devrais pouvoir poursuivre avec ca

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par abertaud
    J'ai bien essayé cette ligne de code.

    Lorsque je suis dans un éditeur Microsoft Visual Basic, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Erreur d'exécution '424'
     
    "Objet requis"
    ....
    ben dans visual basic ( 6..?) c'est pas du vbs..! il te faut créer un objet Wscript


    Citation Envoyé par abertaud
    Lorsque je suis dans un fichier lambda.vbs, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:Windows/system32
    ce qui n'est malheureusement pas le répertoire dans lequel est placé mon fichier lambda.vbs
    non c'est pas la question :
    j'ai besoin de connaître le nom complet du répertoire courant
    ...
    renvoi le répertoire courant...(pas forcément celui contenant le .vbs...)


    tu as regardé mon lien .. ....?

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    Etant donné que j'utilise VBA pour de dev (grâce entre autres à l'exécution pas à pas), et VBS pour l'exploitation, je propose cette fonction qui me permet de faire un code qui résoud les problèmes d'exécution que j'avais :

    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
     
    Dim VBSmode 'type d'execution (true si VBS, false si VBA)
     
    Sub DetermineTypeExe()
        Dim declenchement
        'on evite le plantage de l'appli
        On Error Resume Next
        'appel d'une instruction qui crée une erreur si on n'est pas en VBS
        declenchement = WScript.FullName
        'Affectation de la variable VBSmode en conséquence
        If Err.Number = 0 Then
            'pas d'erreur => exécution VBS
            VBSmode = True
        Else
            VBSmode = False
            Err.Clear
        End If
    End Sub
     
    Sub InstancierVariables()
        'Déterminaison du type d'exécution
        DetermineTypeExe
        'récupération du répertoire courant
        If (VBSmode = True) Then
            repFic = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
        Else
            repFic = ActiveWorkbook.Path & "\"
        End If
    End Sub
    Du coup, quelque soit le contexte d'exécution, à la suite de l'appel de la fonction InstancierVariables, j'ai toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    repFic = C:/Temp/prod/ProjetZZZZ/1.1/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Créer un répertoire dont le nom est la date en visual basic express 2010
    Par debutant007 dans le forum VB.NET
    Réponses: 6
    Dernier message: 25/02/2015, 17h22
  2. Réponses: 15
    Dernier message: 08/02/2013, 11h22
  3. Script Visual Basic ( VBS)
    Par titi_la_vermine dans le forum VBScript
    Réponses: 3
    Dernier message: 22/02/2012, 15h09
  4. Réponses: 10
    Dernier message: 12/05/2010, 11h10
  5. [VBS]Renommer les fichiers du répertoire courant
    Par JuS80 dans le forum VBScript
    Réponses: 2
    Dernier message: 02/03/2007, 09h17

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