OVH Cloud OVH Cloud

Fichiers scripts

1 réponse
Avatar
Paul
Bonjour =E0 tous,

J'ai un fichier script qui me permet de lancer un fichier=20
Excel, le tout =E0 partir d'un CD.
Le probl=E8me est que ce fichier en question ne fonctionne =E0=20
partir du CD alors que c'est Ok =E0 partir d'une disquette.

Il y aurait-il une solution?

Ci-dessous le code du fichier script:
"
Const sFile1 =3D "\1Stp.ttt"
Dim wsh, FilePath
Set wsh =3D WScript.CreateObject("WScript.Shell")
FilePath =3D PathFile & sFile1
If Not ExistingFile(FilePath) Then=20
MsgBox "Le fichier " & FilePath & " n'a pas =E9t=E9=20
trouv=E9 !",48
WScript.Quit
End If

'* Ouverture du fichier (by-pass le niveau de s=E9curit=E9=20
macros)=20
Dim objXl
Set objXL =3D WScript.CreateObject("Excel.Application")
objXL.Visible =3D False
FilePath =3D PathFile & sFile1
On Error Resume Next
objXL.WorkBooks.Open(FilePath)
objXL.Run "Auto_Open"
Set objXL =3D Nothing=20
WScript.Quit

'* Test d'exitence d'un fichier=20
Function ExistingFile(fileName)=20
Dim fso=20
Set fso =3D CreateObject("Scripting.FileSystemObject")=20
ExistingFile =3D fso.FileExists(fileName)=20
Set fso =3D Nothing=20
End Function=20

'* Renvoie le chemin du fichier=20
Function PathFile()=20
Dim fso=20
Set fso =3D CreateObject("Scripting.FileSystemObject")=20
PathFile =3D fso.GetAbsolutePathName(".")=20
Set fso =3D Nothing=20
End Function=20
"

Merci d'avance

Paul

1 réponse

Avatar
Alain CROS
Bonjour.

Le problème survient lorsque le vbs se trouve a la racine du disque.
Tu obtiens un nom du style D:1Stp.ttt qui n'existe pas.
J' ai légèrement modifié ton code.

Const sFile1 = "1Stp.ttt"
Dim objXl
FilePath = PathFile(sFile1)
if FilePath = "" Then
MsgBox "Le fichier " & sFile1 & " n'a pas été trouvé !",48
Else
'* Ouverture du fichier (by-pass le niveau de sécurité macros)
Set objXL = WScript.CreateObject("Excel.Application")
'objXL.Visible = False
objXL.Visible = True
objXL.WorkBooks.Open(FilePath)
objXL.Run "Auto_Open"
End If
Set objXL = Nothing
WScript.Quit

'* Renvoie le chemin du fichier
Function PathFile(LeFile)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
PathFile = fso.BuildPath(fso.GetAbsolutePathName("."), LeFile)
If Not fso.FileExists(PathFile) Then PathFile = ""
Set fso = Nothing
End Function

Alain CROS.