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:
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:
1 2
| cmd = "%COMSPEC% /c " & cmd & " " & fileout
WshShell.Run cmd, 0, False |
Sous Programme appelé:
Code:
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 :D et merciiiiiiiiiiiiii