Fonction shell VBA
Fermé
Chachou1980
Messages postés
30
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
20 août 2009
-
4 août 2009 à 14:22
Chachou1980 Messages postés 30 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 20 août 2009 - 11 août 2009 à 12:29
Chachou1980 Messages postés 30 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 20 août 2009 - 11 août 2009 à 12:29
A voir également:
- Vba shell
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell addition ✓ - Forum Shell
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
8 réponses
redonky
Messages postés
102
Date d'inscription
jeudi 2 avril 2009
Statut
Membre
Dernière intervention
31 octobre 2010
23
4 août 2009 à 14:47
4 août 2009 à 14:47
Mon intervention va paraitre stupide, mais n'aurais tu pas simplement des guillemets en trop?
RetVal = Shell("""C:\Programme\LTC\SwCADIII\scad3.exe -b test.cir""", 1)
qui deviendrait
RetVal = Shell("C:\Programme\LTC\SwCADIII\scad3.exe -b test.cir", 1)
Voilà
Par contre attention,
l'appel d'une exécution extérieure par RetVal se fait en tache de fond et donc ton code continuera de s'exécuter...
Pour changer cela il faut que tu attende une réponse du RetVal si tu veux attendre la fin de l'exe si c'est en parallèle tu n'aura pas se pb
tiens moi au courant si tu as besoin de savoir comment faire pour attendre la rep et si ça marche ou non ;)
RetVal = Shell("""C:\Programme\LTC\SwCADIII\scad3.exe -b test.cir""", 1)
qui deviendrait
RetVal = Shell("C:\Programme\LTC\SwCADIII\scad3.exe -b test.cir", 1)
Voilà
Par contre attention,
l'appel d'une exécution extérieure par RetVal se fait en tache de fond et donc ton code continuera de s'exécuter...
Pour changer cela il faut que tu attende une réponse du RetVal si tu veux attendre la fin de l'exe si c'est en parallèle tu n'aura pas se pb
tiens moi au courant si tu as besoin de savoir comment faire pour attendre la rep et si ça marche ou non ;)
5 août 2009 à 11:15
Oui, j avais aussi essaye avec les guillemets simples ("...") mais ca ne fonctionnait pas non plus. POur ce qui est de RetVal, je l ai recopie d un forum et je ne savais pas que ca avait une application particuliere : pourrais-tu m en dire un peu plus ?
Sinon, j ai reussi a lancer mon programme (LTSpice) comme ceci :
Public Sub ltspice_work()
Dim Software As String
Dim File As String
Dim ToLaunch
Dim RetVal
Software = """C:\Programme\LTC\SwCADIII\scad3.exe"""
File = """C:\Dokumente und Einstellungen\gaud\Desktop\test.cir"""
ToLaunch = Software & " " & File
RetVal = Shell(ToLaunch, 1)
End Sub
mais mon probleme est maintenant de modifier, a partir de VBA, des parametres dans le fichier LTSpice (ici test.cir) que j ouvre.
Saurais-tu comment modifier un programme exterieur a partir de VBA ?
Merci beaucoup,
Charlotte
5 août 2009 à 11:23
tout dépend où sont tes paramètres : s'ils sont dans un fichier "texte", tu peux l'ouvrir et le modifier en VBA...
5 août 2009 à 11:32
non, les parametres sont dans ce qui s appelle une netlist en LTSpice (c est un fichier .cir je crois).
Mais si tu sais deja modifier un fichier .txt sous VBA, je suis tout de meme preneuse !
Merci beaucoup,
Charlotte