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 :

Demande d'un noob : Ouvrir excel en w7 sous vbs


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Par défaut Demande d'un noob : Ouvrir excel en w7 sous vbs
    Bonjour,

    je vais essayer de faire court, surtout que je ne suis pas spécialiste de scripts vbs.

    Ma société utilise un script pour transférer des fichiers d'un moyen système vers excel et ouvre directement le fichier excel généré sur le PC utilisateur.
    Je vous passe les détails génération du fichier excel car tout se passe bien et c'est pas le propos.
    Mais c'était une population de PC sous XP.
    Depuis que nous sommes passés sous W7, les scripts qui contenaient le lancement d'excel ne marchent plus.

    Voici le code concerné : (extraits)
    Partie init:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim     fso, WshShell
    Dim     fileout_set
    Dim     Cmd, ArReg(2), s, 
    ArReg(0) = "Open"
    ArReg(1) = "Edit"
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Partie programme:
    call LectureRegistre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmd = "%COMSPEC% /c " & cmd & " " & fileout
    WshShell.Run  cmd, 0, False
    Sous Programme appelé:
    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
    Function LectureRegistre
    	cmd = VbEmpty
    	s = 0
    	For s = 0  to 1
    		On Error Resume Next
    		cmd =  WshShell.RegRead ("HKEY_CLASSES_ROOT\Applications\Excel.exe\shell\" & ArReg(s) & "\command\")
    		if Cmd <> VbEmpty	Then
    			Exit Function
    		End If
    	Next
     
    End Function
    ----------------
    J'ai essayé de ne pas toucher au sous-programme et j'avais remplacé le code (Programme) par :
    If fso.FolderExists("C:\Program Files") Then
    	call	LectureRegistre
    	cmd = "%COMSPEC% /c " & cmd & " " & fileout
    	ELSE
    	cmd = "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe " & "/E " & fileout
    	cmd = "%COMSPEC% /c " & cmd 
    	End If
    Mais ca ne marche pas mieux, pas d'erreur, mais pas d'ouverture du fichier excel

    Bienvenue à toutes les aides ou commentaires et merciiiiiiiiiiiiii

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Je suis sous Windows 7 32 bits
    J'ai crée un dossier avec un nom qui contient des espaces dans mon cas c'est : E:\My test dossier\ et il m'ouvre bien mon fichier oscilloscope.xls qui se trouve dans ce dernier.
    Tester-le et dis moi, ça donne quoi comme résultat
    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
    MsgBox DblQuote(CheminExcel() & "\excel.exe")
    Set ws = CreateObject("wscript.Shell")
    fileout = "E:\My test dossier\oscilloscope.xls"
    cmd = "cmd /c CD " & DblQuote(CheminExcel()) & " | Start excel.exe" &" /E "& DblQuote(fileout)
    msgbox cmd
    Ouvrir = ws.run(cmd,0,False)
    '**********************************************************************************************
    Function CheminExcel()
    	Dim appXL,s
    	Set appXL = CreateObject("Excel.Application")
    	CheminExcel = appXL.Path
    	appXL.Quit
    	Set appXL = Nothing
    End Function
    '**********************************************************************************************
    'Fonction pour ajouter les doubles quotes dans une variable
    Function DblQuote(Str)
    	DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 8
    Par défaut
    Merci, ce script marche bien sous W7 64 bits également.
    Par contre malgré adaptation au script initial, pas d'erreur mais pas d'ouverture excel.
    Si ça se trouve le souci est encore ailleurs (constitution de notre fileout par exemple)

    En tout cas un grand merci à toi !
    Super forum

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Pouvez-vous poster votre code modifié en entier et
    n'oubliez pas de commenter chaque ligne pour bien comprendre votre but final

Discussions similaires

  1. Ouvrir une page web sous VBS
    Par nico0807 dans le forum VBScript
    Réponses: 2
    Dernier message: 21/03/2009, 17h22
  2. [VBA-E]Ouvrir une BDD access sous Excel
    Par toniox dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/05/2006, 16h45
  3. Ouvrir excel en désactivant les macro
    Par tiopan dans le forum Access
    Réponses: 2
    Dernier message: 24/11/2005, 17h13
  4. Réponses: 27
    Dernier message: 03/02/2003, 12h27

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