1 pièce(s) jointe(s)
FileSystemObject - création de l'instance
Bonjour,
Je créé un projet qui contient des Sub et des Function.
A chaque fois que j'ai besoin de faire appel à FileSystemObject je créé une nouvelle instance dans la sub ou function considérée.
Cela me paraît lourd comme procédé, aussi, j'ai cherché à créer/déclarer une seule instance de FileSystemObject en Public afin de pouvoir "appeler" les méthodes dans n'importe quel sub ou function sans avoir à créer l'instance. Mes tests sont restés vains, je n'y suis pas parvenu :(.
Dans mon projet j'ai déclaré 6 instances différentes de FileSystemObject et je n'ai pas encore fini. En voici un aperçu :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Function fileExtension(fichier)
Set fs2 = CreateObject("Scripting.FileSystemObject")
fileExtension = fs2.GetExtensionName(fichier)
End Function
Function fileBaseName(fichier)
Set fs3 = CreateObject("scripting.filesystemobject")
fileBaseName = fs3.GetBaseName(fichier)
End Function
Function copyFile(fichierSource, destination)
Set fs4 = CreateObject("Scripting.FileSystemObject")
copyFile = fs4.copyFile(fichierSource, destination)
End Function |
Y-a-t-il un moyen de ne faire qu'une seule déclaration de l'instance FileSystemObject et pouvoir utiliser cette instance dans n'importe quel "module" du projet ? qui pourrait donner quelque chose du style:
Code:
1 2 3 4 5 6 7 8 9 10
| Public fs as New FileSystemObject
Function fileExtension(fichier)
fileExtension = fs.GetExtensionName(fichier)
End Function
Function fileBaseName(fichier)
fileBaseName = fs.GetBaseName(fichier)
End Function
Function copyFile(fichierSource, destination)
copyFile = fs4.copyFile(fichierSource, destination)
End Function |
J'ai évidemment essayé cette solution avec et sans le New, mais le message d'erreur suivant est retourné:
Pièce jointe 220815
Merci pour votre aide.
- crissc -