• Initiateur de la discussion Initiateur de la discussion Emmanuel75019
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Emmanuel75019

Guest
Bonjour à tous,

J'ai un fichier "Test.xls" et, dans le même répertoire, un fichier "OuvreTest.vbs" qui exécute, en tache de fond, la macro "auto_open" de Test.xls.
Le pb : dés qu'on déplace ce répertoire, ca ne fonctionne plus. J'ai tout essayé pour indiquer un chemin relatif dans mon scirpt en VBA, en vain...
Voici le code :

Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")
set monfichier=appli.workbooks.open("C:\Repertoire_de_test\test1.xls")
appli.run("auto_open")
'appli.visible=2
appli.quit


Merci de votre aide.
 
Re : Chemins relatifs

Bonjour Mromain,

Ca ne fonctionne pas mais ca avance un peu on dirait.
En entrant :

set monfichier=appli.workbooks.open(" "& WScript.ScriptFullName &" \test1.xls")

Via la message d'erreur, on constate qu'il ne trouve rien ici :

C:\Repertoire_de_ test\OuvreTest1.xls \test1.xls


Si tu as d'autres idées, lol, je veux bien tester !
 
Re : Chemins relatifs

Re bonjour,

J'y vais toujours à l'aveugle, mais essaye plutôt quelque chose du genre
VB:
Dim pathScript, tabStr, iStr

    'pathScript = "C:\Repertoire_de_ test\OuvreTest1.xls"
    pathString = WScript.ScriptFullName
    
    tabStr = Strings.Split(pathScript)
    pathScript = ""
    For iStr = LBound(tabStr) To UBound(tabStr) - 1
        pathScript = pathScript & tabStr(iStr) & "\"
    Next iStr
    pathScript = Left(pathScript, Len(pathScript) - 1)
    
    '...
    '...
    '...
    
    Set monfichier = appli.Workbooks.Open(" " & pathString & " \test1.xls")
a+
 
Dernière édition:
Re : Chemins relatifs

Ca ne fonctionne pas.
Mais c'est peut être de ma faut, je suis vraiment débutant.
Voici ce que donne le fichier total, j'ai surement du me tromper quelque part :


Dim pathScript, tabStr, iStr

'pathScript = "C:\Repertoire_de_ test\OuvreTest1.xls"
pathString = WScript.ScriptFullName

tabStr = Strings.Split(pathScript)
pathScript = ""
For iStr = LBound(tabStr) To UBound(tabStr) - 1
pathScript = pathScript & tabStr(iStr) & "\"
Next iStr
pathScript = Left(pathScript, Len(pathScript) - 1)


Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")

Set monfichier = appli.Workbooks.Open(" " & pathString & " \test1.xls")

appli.run("auto_open")
'appli.visible=2
appli.quit



Message d'erreur : "fin d'instruction attendue" L 10 C 10, soit après "Next iStr" ...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
9
Affichages
2 K
Emmanuel75019
E
Retour