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

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    902
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2008
    Messages : 902
    Points : 688
    Points
    688

    Par défaut Ouvrir et copier texte fichier txt

    Bonjour,

    Je suis en train de développer un script où j'ai besoin de copier le texte d'un fichier txt (ctrl+a / ctrl+c).

    Pour le faire, je suis en train de faire le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set wsh = CreateObject("WScript.Shell").Run(tempCsvPath)
    WScript.Sleep 500 
    SendKeys "^{a}"
    SendKeys "^{c}"
    Si j'exécute ce code, j'ai une erreur 424 Objet requis à la première ligne (Set wsh = CreateObject("WScript.Shell").Run(tempCsvPath)).

    Par contre, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    On Error Resume Next
    Set wsh = CreateObject("WScript.Shell").Run(tempCsvPath)
    On Error GoTo 0
    WScript.Sleep 500 
    SendKeys "^{a}"
    SendKeys "^{c}"
    J'ai bien mon fichier txt qui s'ouvre (avec notepad.exe), mais j'ai ensuite l'erreur 13 Type incompatible à la ligne SendKeys "^{a}"

    J'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    On Error Resume Next
    Set wsh = CreateObject("WScript.Shell").Run(tempCsvPath)
    On Error GoTo 0
    WScript.Sleep 500 
    wsh.SendKeys "^{a}"
    wsh.SendKeys "^{c}"
    Mais là j'ai l'erreur 438 Cet objet ne gère pas cette propriété ou cette méthode à la même ligne wsh.SendKeys "^{a}"


    Avez-vous une idée de comment porsuivre mon code ?
    Je vous remercie par avance pour votre aide,

    Cordialement,
    Marc

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 662
    Points : 10 267
    Points
    10 267

    Par défaut

    Salut

    Tu tiens vraiment à passer par du SendKeys ? (technique dangereuse, pas sûr du tout), tu pourrais ouvrir le fichier et l'enregistrer dans une variable, et si tu tiens à le passer dans le presse papier, recherches clipboard dans ce forum, les 2 premières discussion trouvées te donneront la solution.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : novembre 2011
    Messages : 161
    Points : 300
    Points
    300

    Par défaut

    Bonjour,

    Si tu tiens vraiment au Sendkeys, ça donne quelquechose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim objFSO, Wsh, tempCsvPath
     
    tempCsvPath = ".\fichier.txt"
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set Wsh = CreateObject("wScript.Shell")
     
    if(objFSO.FileExists(tempCsvPath)) Then 
    	Wsh.Run("notepad "& tempCsvPath)
    	WScript.Sleep 500 
    	Wsh.SendKeys "^{a}"
    	Wsh.SendKeys "^{c}"
    End if
    ++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    902
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2008
    Messages : 902
    Points : 688
    Points
    688

    Par défaut

    Bonjour,

    Merci pour vos retours

    En effet je ne suis pas attaché au sendkeys, je travaille actuellement sur un projet SAP et je cherchais à réproduire les actions des utilisateurs de façon automatisé (avec CBTA/ VBS). Nous sommes un peu en retard avec ce projet, et pour le moment j'ai trouvé une autre solution qui serait de passer par l'import direct de mon fichier texte.

    Par contre je m'engage à tester vos solutions et à revenir pour dire s'elles marchent ou pas.

    Encore une fois merci pour votre aide,

    Cordialement,
    Marc

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

Discussions similaires

  1. Copier plusieurs fichier txt dans un seul fichier
    Par vieri31 dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/05/2008, 14h57
  2. Copier un fichier *.txt dans une string
    Par LGnord dans le forum IO
    Réponses: 5
    Dernier message: 23/05/2008, 15h03
  3. Ouvrir, lire, écrire, ferme fichier .txt
    Par greg26 dans le forum VB.NET
    Réponses: 13
    Dernier message: 19/09/2007, 18h12
  4. Copier un fichier Txt Utilisation de CMD
    Par parp1 dans le forum Général Python
    Réponses: 1
    Dernier message: 18/04/2007, 13h40
  5. [VBA-Excel] Ouvrir un lot de fichier txt dans Excel
    Par Trollakuir dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/06/2006, 11h02

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