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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
J'ai évidemment essayé cette solution avec et sans le New, mais le message d'erreur suivant est retourné:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci pour votre aide.
- crissc -
Partager