Exécuter une macro appelée dans VBS sur une machine sans Excel
Bonjour,
J'ai écrit un script .vbs (ci-dessous) qui appelle la macro "Dupliquerfichier" présente dans un classeur que j'ai conçu et cela fonctionne normalement en local sur ma machine.
Je dois déployer le script sur un serveur qui tourne sans Excel.
Serait-il possible de la faire tourner? Si oui pourriez-vous m'aider à le faire?
Le code .vbs est :
Code:
1 2 3 4 5 6 7
| Const Wbk= "C:\Users\r.comlan\Desktop\Script_CNX4-2.xls"
Dim oXL, wBook
Set oXL = WScript.CreateObject("Excel.Application")
Set wBook = oXL.Workbooks.Open(Wbk)
oXL.Visible = False
oXL.Run "Dupliquerfichier"
Set oXL = Nothing |
Cordialement,
Romaric
Transcription du code VBA en .vbs
Bonjour,
Merci pour ta réponse. J'ai utilisé Scripting.FileSystemObject dans la macro et elle marche correctement.
Je mets le code VBA en dessous :
=================================================
Code:
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 30 31
| Option Explicit
Public FichierTemp As String
Public Sub Dupliquerfichier()
Call CopierEtRenommerFichier
End Sub
Sub CopierEtRenommerFichier()
Dim Chemin As String, Fichier As String, Destination As String
Dim fso As Scripting.FileSystemObject
Dim oFSO As Scripting.FileSystemObject
Chemin = "C:\Users\r.comlan\Desktop\Tofs\"
Destination = "C:\Users\r.comlan\Desktop\"
Fichier = Dir(Chemin, vbArchive)
Do While Left(Fichier, 1) <> "." And Fichier <> ""
If Right(LCase(Fichier), 3) = "jpg" Then
If FichierTemp <> "" Then
If FileDateTime(Chemin & Fichier) > FileDateTime(Chemin & FichierTemp) Then
FichierTemp = Fichier
End If
Else
FichierTemp = Fichier
End If
End If
Fichier = Dir
Loop
MsgBox FichierTemp
Chemin = "C:\Users\r.comlan\Desktop\Tofs\" & FichierTemp
Set oFSO = New Scripting.FileSystemObject
oFSO.CopyFile Chemin, Destination, True
oFSO.MoveFile Destination & FichierTemp, "C:\Users\r.comlan\Desktop\Tofs\" & "good.jpg"
End Sub |
===================================================
J'essaie donc de transcrire la macro en .vbs
Cordialement,
Romaric