Créez simplement un bouton VBS, puis cliquez sur 'Modifier le code VBS' et enfin entrez ceci :
'Script commenté !
'on déclare les variables
Dim fs,fSource,fDest,rep,sDossierParDefaut
Set fs = CreateObject("Scripting.FileSystemObject")
'######A MODIFIER######
fSource="[LECT]:\mon fichier.avi"
sDossierParDefaut="c:\mes documents\"
'####FIN A MODIFIER####
'on vérifie la présence du \ final
if right(sDossierParDefaut,1)<>"\" then sDossierParDefaut=sDossierParDefaut & "\"
'on appelle la procédure FenetreEnregistrer (définie plus bas)
fDest=FenetreEnregistrer(sDossierParDefaut,ObtNomFichier(fs,fsource))
'si le chemin de destination nest pas nu, on poursuit :
if fdest <> "" then
'on démarre la copie (opération qui peut être longue)
fs.CopyFile fSource,fDest
rep=MsgBox("Fichier copié !" & vbcrlf & vbcrlf & "Ourvrir le fichier ?",vbquestion+vbyesno,me.caption)
'si l'utilisateur clique sur oui, on ouvre le fichier
if rep=vbyes then
Set exe_f = CreateObject("WScript.Shell")
exe_f.Run(chr(34) & fdest & chr(34))
End If
End If
Set fs = nothing
'procédure qui permet de montrer la fenetre enregistrer
Public Function FenetreEnregistrer(sChe, sNom)
on error resume next
Dim CM,i
'on créé un objet boite de 'dialogue commune'
set CM = CreateObject("MSComDlg.CommonDialog")
cm.DialogTitle="Enregistrer..."
cm.filter="Fichier vidéo | *.avi;*.mpg;*.mpeg;*.divx"
cm.filename=snom
'on affiche la boite de dialogue 'enregistrer'
cm.showsave
FenetreEnregistrer=cm.filename
'on détruit l'objet boite commune
set cm=nothing
'on vérifie si une erreur s'est produite
if err.number<>0 then
'si une erreur s'est produite, on se contentera d'un simple boite
FenetreEnregistrer=InputBox("Chemin ?",fenetre.caption,sDossierParDefaut & sNom)
End If
End Function
'obtient le nom d'un fichier à partir de son chemin
'ex: c:\windows\1.txt -> 1.txt
Public Function ObtNomFichier(fso,sChe)
ObtNomFichier=lcase(fso.GetBaseName(sChe) & "." & right(sChe,3))
End Function
Commentaires sur l'article :
Retour au menu
|