Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alain CROS
Bonjour.
Il y a effectivement un problème avec les espaces dans le nom du fichier.
Une solution de substitution consiste a remplacer dans la ligne de commande les espaces par un caractère non autorisé dans le nom d'un fichier tel que le ?.
La ligne de commande s'écrira : "EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias "GetCommandLineA" ()
Private Sub Workbook_Open() Dim CmdLine$, Pos1& CmdLine = GetCommandLine Pos1 = InStr(CmdLine, ThisWorkbook.FullName) If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else Exit Sub If Right(CmdLine, 1&) = """" Then Pos1 = 2& Else Pos1 = 1& CmdLine = Mid$(CmdLine, 1&, Len(CmdLine) - Pos1) CmdLine = Mid$(CmdLine, InStr(1&, CmdLine, " /e") + 3&, Len(CmdLine) - 1&) MsgBox Application.Substitute(CmdLine, "?", " ") End Sub 'AC
Alain CROS
"Franck" a écrit dans le message de news: Bonjour, j'ai une macro sur l'OPEN de mon classeur qui me permet de récuperer les paramètres passer à la commande pour l'ouvrir.
Néanmoins, je n'arrive pas à lancer mon classeur en lui passant comme paramètre un chemin d'accès à un fichier xml.
En gros ceci: Excel.exe /CheminDeMonXml CheminDeMonClasseur
En fait, il me retourne une erreur car il tente de décomposer le chemin d'accès du XML, je dois oublier des " ou des ou je ne sais quoi d'autre.
Merci de votre aide. :)
Bonjour.
Il y a effectivement un problème avec les espaces dans le nom du fichier.
Une solution de substitution consiste a remplacer dans la ligne de commande les espaces par un caractère non autorisé dans le nom
d'un fichier tel que le ?.
La ligne de commande s'écrira :
"EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias "GetCommandLineA" ()
Private Sub Workbook_Open()
Dim CmdLine$, Pos1&
CmdLine = GetCommandLine
Pos1 = InStr(CmdLine, ThisWorkbook.FullName)
If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else Exit Sub
If Right(CmdLine, 1&) = """" Then Pos1 = 2& Else Pos1 = 1&
CmdLine = Mid$(CmdLine, 1&, Len(CmdLine) - Pos1)
CmdLine = Mid$(CmdLine, InStr(1&, CmdLine, " /e") + 3&, Len(CmdLine) - 1&)
MsgBox Application.Substitute(CmdLine, "?", " ")
End Sub 'AC
Alain CROS
"Franck" <wesley.saris@gmail.com> a écrit dans le message de news: 1111063257.327050.55950@l41g2000cwc.googlegroups.com...
Bonjour,
j'ai une macro sur l'OPEN de mon classeur qui me permet de récuperer
les paramètres passer à la commande pour l'ouvrir.
Néanmoins, je n'arrive pas à lancer mon classeur en lui passant comme
paramètre un chemin d'accès à un fichier xml.
En gros ceci:
Excel.exe /CheminDeMonXml CheminDeMonClasseur
En fait, il me retourne une erreur car il tente de décomposer le
chemin d'accès du XML, je dois oublier des " ou des ou je ne sais
quoi d'autre.
Il y a effectivement un problème avec les espaces dans le nom du fichier.
Une solution de substitution consiste a remplacer dans la ligne de commande les espaces par un caractère non autorisé dans le nom d'un fichier tel que le ?.
La ligne de commande s'écrira : "EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias "GetCommandLineA" ()
Private Sub Workbook_Open() Dim CmdLine$, Pos1& CmdLine = GetCommandLine Pos1 = InStr(CmdLine, ThisWorkbook.FullName) If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else Exit Sub If Right(CmdLine, 1&) = """" Then Pos1 = 2& Else Pos1 = 1& CmdLine = Mid$(CmdLine, 1&, Len(CmdLine) - Pos1) CmdLine = Mid$(CmdLine, InStr(1&, CmdLine, " /e") + 3&, Len(CmdLine) - 1&) MsgBox Application.Substitute(CmdLine, "?", " ") End Sub 'AC
Alain CROS
"Franck" a écrit dans le message de news: Bonjour, j'ai une macro sur l'OPEN de mon classeur qui me permet de récuperer les paramètres passer à la commande pour l'ouvrir.
Néanmoins, je n'arrive pas à lancer mon classeur en lui passant comme paramètre un chemin d'accès à un fichier xml.
En gros ceci: Excel.exe /CheminDeMonXml CheminDeMonClasseur
En fait, il me retourne une erreur car il tente de décomposer le chemin d'accès du XML, je dois oublier des " ou des ou je ne sais quoi d'autre.
Merci de votre aide. :)
Franck
L'idée est bonne. Cependant, mon problème réside dans le fait que je cherche à effectuer cette action par un double click sur le fichier XML En gros, qd le user double click sur le XML, ca load le fichier XLS/XLT, ca récupère le chemin du XML et ca le load dedans...
Ta solution marche pas dans ce cas... snif...
Alain CROS wrote:
Bonjour.
Il y a effectivement un problème avec les espaces dans le nom du fichier.
Une solution de substitution consiste a remplacer dans la ligne de commande les espaces par un caractère non autorisé dans le nom
d'un fichier tel que le ?.
La ligne de commande s'écrira : "EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias "GetCommandLineA" ()
Private Sub Workbook_Open() Dim CmdLine$, Pos1& CmdLine = GetCommandLine Pos1 = InStr(CmdLine, ThisWorkbook.FullName) If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else Exit Sub
MsgBox Application.Substitute(CmdLine, "?", " ") End Sub 'AC
Alain CROS
"Franck" a écrit dans le message de news:
Bonjour, j'ai une macro sur l'OPEN de mon classeur qui me permet de récuperer les paramètres passer à la commande pour l'ouvrir.
Néanmoins, je n'arrive pas à lancer mon classeur en lui passant comme
paramètre un chemin d'accès à un fichier xml.
En gros ceci: Excel.exe /CheminDeMonXml CheminDeMonClasseur
En fait, il me retourne une erreur car il tente de décomposer le chemin d'accès du XML, je dois oublier des " ou des ou je ne sais quoi d'autre.
Merci de votre aide. :)
L'idée est bonne.
Cependant, mon problème réside dans le fait que je cherche à
effectuer cette action par un double click sur le fichier XML
En gros, qd le user double click sur le XML, ca load le fichier
XLS/XLT, ca récupère le chemin du XML et ca le load dedans...
Ta solution marche pas dans ce cas... snif...
Alain CROS wrote:
Bonjour.
Il y a effectivement un problème avec les espaces dans le nom du
fichier.
Une solution de substitution consiste a remplacer dans la ligne de
commande les espaces par un caractère non autorisé dans le nom
d'un fichier tel que le ?.
La ligne de commande s'écrira :
"EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml
CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias
"GetCommandLineA" ()
Private Sub Workbook_Open()
Dim CmdLine$, Pos1&
CmdLine = GetCommandLine
Pos1 = InStr(CmdLine, ThisWorkbook.FullName)
If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else
Exit Sub
L'idée est bonne. Cependant, mon problème réside dans le fait que je cherche à effectuer cette action par un double click sur le fichier XML En gros, qd le user double click sur le XML, ca load le fichier XLS/XLT, ca récupère le chemin du XML et ca le load dedans...
Ta solution marche pas dans ce cas... snif...
Alain CROS wrote:
Bonjour.
Il y a effectivement un problème avec les espaces dans le nom du fichier.
Une solution de substitution consiste a remplacer dans la ligne de commande les espaces par un caractère non autorisé dans le nom
d'un fichier tel que le ?.
La ligne de commande s'écrira : "EXCEL.EXE" /eC:Premier?RepSecond?RepMon?Fichier.xml CheminDeMonClasseur
Et dans le module ThisWorkbook :
Private Declare Function GetCommandLine$ Lib "Kernel32" Alias "GetCommandLineA" ()
Private Sub Workbook_Open() Dim CmdLine$, Pos1& CmdLine = GetCommandLine Pos1 = InStr(CmdLine, ThisWorkbook.FullName) If Pos1 <> 0& Then CmdLine = Mid$(CmdLine, 1&, Pos1 - 1&) Else Exit Sub