Chemins relatifs

Emmanuel75019

XLDnaute Nouveau
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.
 

Emmanuel75019

XLDnaute Nouveau
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 !
 

mromain

XLDnaute Barbatruc
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:

Emmanuel75019

XLDnaute Nouveau
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" ...
 

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 516
dernier inscrit
René Rivoli Monin