Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010
-
6 juil. 2007 à 11:22
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
9 juil. 2007 à 22:51
Bonjour,
Dans mon programme j'ouvre des fichiers qui pour l'instant sur mon pc son à un endroit possible.
Mais par la suite ce programme sera installé sur plusieurs ordinateur et les fichiers peuvent être mis n'importe où.
Alors je voudrais trouver où ils sont!
Est ce que c'est possible quand on lance l'application de trouver ou elle se trouve et de récupérer le chemin d'acces au dossier contenant donc le programme et tous les fichiers associés?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 6 juil. 2007 à 11:49
En VBA (Excel), ce serait ThisWorkbook.Path
qui donne le chemin de l'application en cours
Si les autres fichiers ne sont pas au même endroit, il faudra peut-être penser à utiliser un contrôle Common Dialog ou la méthode Application.GetOpenfilename et sauvegarder le ou les chemins dans un fichier ou la base de registre...
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 10:50
Pff! je désespère! C'est le serpent qui se mort la queue!!
J'ai utiliser filetoopen mais ça va pas.
Comment savoir ou on est?
Je peux savoir ou on est d'accord. mais après comment enregistrer le chemin d'acces dans un fichier ou l'on ne sait pas ou il est!
J'ai regarder avec fileToOpen et j'ai fait ça
Dim ld() As String
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), fileToOpen.txt")
'Pour creer le fichier texte
Set FSys = CreateObject("Scripting.FileSystemObject")
Set CheminAcces = FSys.CreateTextFile("D:\....\Chemin d'accès.txt")
With CheminAcces 'Pour écrire dans le fichier texte
.writeLine fileToOpen 'Mettre write pour ne pas sauter à la ligne
End With
Mais je ne peux pas enregistrer la "réponse" a filetoopen dans un fichier qui se trouve dans le répertoire dont je suis en train de chercher le chemin!
Bon j'essaie de gratter en attendant votre réponse...
Merci
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 11:03
Aah! Ca a l'air de marcher! Voilà ce que j'ai fait:
Dim ld() As String
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), fileToOpen.txt")
'Pour creer le fichier texte
Set FSys = CreateObject("Scripting.FileSystemObject")
'Set CheminAcces = FSys.CreateTextFile("D:\...\Chemin d'accès.txt")
Set CheminAcces = FSys.CreateTextFile(fileToOpen)
With CheminAcces 'Pour écrire dans le fichier texte
.writeLine fileToOpen 'Mettre write pour ne pas sauter à la ligne
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 11:13
Et ben non ça va pas!
Pff! je me réponds toute seule enfin!
Non il faut juste que je récupère le nom du dossier.
Pour par la suite récupérer ce nom(qui peut changer en fonction de là ou on installe le programme) pour ensuite quand je fais référence a un fichier, juste mettre dans le programme par exemple "cheminacces\fichier.txt" avec cheminacces=le mon du dossier contenant tous les fichiers.
Faut peut etre plutot utiliser autre chose?
Est que vous pouvez m'aider
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 9 juil. 2007 à 11:31
Tu n'as pas vraiment expliqué sur quoi tu travailles. Tu as eu différentes méthodes de retracer le chemin de ton application
App.Path - VB6
ThisWorkbook.Path - Excel
ThisDocument.Path - Word
Ça équivaut à ton cheminacces, en principe
Pour écrire dans un fichier, tu n'as pas besoin d'utilise le FileSystemObject
Un simple Open MonFichier For Output as #1 suffit avec l'instruction Print ou Write suivi d'un Close lorsque terminé