get path

P

Philippe

Guest
Bonjour à toutes et à tous,

Connaissez vous une autre formulation que les suivantes :
- sPath=thisworkbook.path
- sPath=activeworkbook.path
- sPath=workbooks(sNomActiveWorkbook).path

qui détermine le chemin de l'objet en cours ?.

Merci
 

Hellboy

XLDnaute Accro
Bonjour Philippe, WILFRIED

Je répondrais Philippe que c'est une question a 100 Euro. À mon avis, c'est mieux de savoir quel fichier que l'on manipule, pour ensuite questionner son path. Mais, cela dépend toujours de ce que tu cherche a faire très précisément.

Il existe aussi cette méthode pour connaitre les fichier les plus récent ouvert:


Public Sub Chemin()
       
Dim Dir_Name            As String
        Dir_Name = Application.RecentFiles(1).Path
End Sub
 
P

Philippe

Guest
Merci pour vos réponses successives mais j'ai déjà tenté vos deux approches en vain.

Pour tout dire, je souhaite exporter mes modules en fichier .bas pour les importer sous vb.

J'ai donc besoin du chemin en cours pour appler des fichiers mais l'objet thisworkbook n'existe pas sous vb, ni thisproject.

Bien cordialement

Philippe
 

Hellboy

XLDnaute Accro
re

Je ne suis pas sure de suivre complètement. Mais si tu veux exporter un module d'un fichier Excel pour ensuite le récupérer sous vb, alors ça, ça se fait. Tu dois d'abord en Excel, ajouter en référence la librairie:

Microsoft Visual Basic for Applications Extensibility 5.3

et voici un bout ce code qui pourra t'aider a accomplir ce dont je parle.


Option Explicit
Public Sub Export_Module()
Dim Item                    As Variant
Dim Sfx                        As String

       
For Each Item In ActiveWorkbook.VBProject.VBComponents
               
With Item
                       
Select Case .Type
                                       
Case vbext_ct_ClassModule, vbext_ct_Document
                                                Sfx = '.cls'
                                       
Case vbext_ct_MSForm
                                                Sfx = '.frm'
                                       
Case vbext_ct_StdModule
                                                Sfx = '.bas'
                                       
Case Else
                                                Sfx = ''
                       
End Select
                       
If Sfx <> '' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Export Filename:='C:\Chemin\' & .Name & Sfx
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End With
&nbsp; &nbsp; &nbsp; &nbsp;
Next Item
End Sub
 
P

Philippe

Guest
Merci Hellboy de ta réponse,

Elle me sera d'une grande utilité à l'avenir. Mais ce n'est pas ce que j'attendais. Je ne dois pas être assez clair.

Voici un bout typique de code que j'utilise dans un programme où l'instruction Thisworkbook.path est employée.

Sous VB, l'instruction n'existant pas, comment vais je m'y prendre pour repérer le chemin ?

Bien cordialement

Philippe


'**********************************
sNomFich = ThisWorkbook.path & '\\LINKS\\TXT\\ListFiles.txt'
Open sNomFich For Input As #1
For i = 1 To iNbFiles : Line Input #1, TabFiles(i) : Next i
Close #1

For i = 1 To iNbFiles
stemp = CStr(Split(TabFiles(i), vbTab)(0))
Scrol3.ComboBox01.AddItem stemp
Next i
'**********************************
 

Hellboy

XLDnaute Accro
Bon matin a tous

Philippe, j'ai une idée, mais il va faloir du temps. mais en attendant, je te partage ce que j'ai en tête. Les fonction api. je ne suis pas un pro de c'est fonction, mais il y en a peut être une qui va faire ce que tu cherche. donne moi des nouvelles sur le sujet, si tu trouve avant.

Merci !

a+
 

WILFRIED

XLDnaute Impliqué
SAlut,

Voici un fichier donc m'avait parler thierry sur les api. il indique comment s'en servir.

A+ et bon case tête.

:S :S il fait plus de 50Ko zipper.

Voici un lien qui normalement devrait fonctionner :

Ce lien n'existe plus

Message édité par: wilfried, à: 21/09/2005 13:57
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35