OVH Cloud OVH Cloud

Passage de paramètres d'une commande DOS à excel.

4 réponses
Avatar
Julien Pavi
Bonjour,
j'ai une question =E0 vous poser.

Je d=E9sire lancer un fichier xls contenant une macro via=20
l'invite ms-dos et sp=E9cifier des param=E8tres que je puisse=20
r=E9cup=E9rer sous excel.

Exemple: "Macro.xls Doc1.txt MaJ". Donc il faudrait que=20
dans ma macro qui se trouve dans le fichier Macro.xls, je=20
puisse r=E9cup=E9rer les informations "Doc1.txt" et "Maj".

Merci d'avance !

PS: J'utilise windows 2000 et excel 2000.

4 réponses

Avatar
Michel Pierron
Bonjour Julien;
Peut être un début de piste:
Dans le module Thisworkbook:

Private Declare Function GetCommandLine Lib "KERNEL32" _
Alias "GetCommandLineA" () As String

Private Sub Workbook_Open()
MsgBox GetCommandLine
End Sub

A toi d'exploiter l'info ainsi récupérée.
MP

"Julien Pavi" a écrit dans le message de
news:4b5501c42c2d$183da4a0$
Bonjour,
j'ai une question à vous poser.

Je désire lancer un fichier xls contenant une macro via
l'invite ms-dos et spécifier des paramètres que je puisse
récupérer sous excel.

Exemple: "Macro.xls Doc1.txt MaJ". Donc il faudrait que
dans ma macro qui se trouve dans le fichier Macro.xls, je
puisse récupérer les informations "Doc1.txt" et "Maj".

Merci d'avance !

PS: J'utilise windows 2000 et excel 2000.
Avatar
Julien Pavi
Bonjour Michel et merci beaucoup !

J'ai mis ceci:

"Private Declare Function GetCommandLine Lib "KERNEL32" _
Alias "GetCommandLineA" () As String

Private Sub Workbook_Open()
Sheets("Feuil1").Select
Range("A2").Select
ActiveCell.Text = GetCommandLine
End Sub"

Mais il y a un problème, ça me met une erreur critique et
ça ferme excel. Aurais-tu une solution ?

Merci d'avance.

Julien Pavi
Avatar
Michel Pierron
Re Julien;
L'erreur critique me surleculte (ça marche pile poil chez moi !
Essaie:
Private Sub Workbook_Open()
Dim Cmd As String
Cmd = GetCommandLine
Sheets("Feuil1").Select
If Len(Cmd) > 0 Then Cells(2,1) = Cmd
End Sub"

MP

"Julien Pavi" a écrit dans le message de
news:4cb601c42c39$270e40a0$
Bonjour Michel et merci beaucoup !

J'ai mis ceci:

"Private Declare Function GetCommandLine Lib "KERNEL32" _
Alias "GetCommandLineA" () As String

Private Sub Workbook_Open()
Sheets("Feuil1").Select
Range("A2").Select
ActiveCell.Text = GetCommandLine
End Sub"

Mais il y a un problème, ça me met une erreur critique et
ça ferme excel. Aurais-tu une solution ?

Merci d'avance.

Julien Pavi
Avatar
Julien Pavi
Cette fois, je n'ai plus le bug mais ça ne reconnais pas
les paramètres.

Pourtant j'ai bien tapé ton code et pour tester, je
tape "C:Test.xls essai1 essai2" dans l'invite de commande
ms-dos et ça ne va pas.

Je vais encore chercher un peu, mais en tout cas, merci
pour ton aide ! Ca m'a bien aidé ;)