Easy-Micro


ESPACEMEMBRE VBA
Shell VBA

La commande Shell sous VBA

Exemple: ouvrir le solitaire (Excel 2003)
Sub solitaire()
Shell "sol" , vbNormalFocus
End Sub

Exemple: ouvrir le bloc-notes (Excel 2003/2007/2010)
Sub blocnote()
Shell "notepad"
End Sub

Autre exemple: Ouverture du bloc-notes dans 5 secondes
Sub blocnote_auto()
Application.OnTime Now + TimeValue("00:00:05"), Shell("notepad", vbNormalFocus)
End Sub

Exemple: ouvrir le fichier titi.doc sur le disque
Sub OuvreTiti()
Shell "winword c:\titi.doc"
End Sub

Exemple: lire une vidéo
Sub OuvreVideo()
Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" ""C:\clock.avi""", vbMaximizedFocus
End Sub

Note sur les guillemets:
En plus des guillemets de la commande Shell, on doit mettre le nom de l'exécutable entre guillemets puisqu'il contient des espaces. Idem pour le chemin (path) si celui-ci contiens des guillemets et pour mettre un guillemet entre guillemets, il faut les doubler.

Voir aussi l'utilisation de l'API ShellExecute pour le cas ou on veut que VBA trouve tout seul l'exécutable.

Exemple: supprimer un fichier (kill) ou un dossier (RmDir)
Sub supprimeTout()
Kill "C:\monfichier.doc"
'RmDir "C:\mondossier" 'ce dossier doit être vide
End Sub

Note: Attention: pas de passage par la corbeille et le dossier doit être vide.

Autre exemple: Procédure qui permet de lancer winword.exe et d'ecrire dans sa zone de travail puis de Quitter
Sub ouvrir_word()
' '---------------------------------------------------
Dim app,ret
' A adapter en fonction de votre installation
app = "C:\Program Files\Microsoft Office2003\OFFICE11\WINWORD.EXE"

ret = Shell(app, 3) ' Exécuter Word ; 3 = "en plein écran"

SendKeys "bonjour Word!", True
SendKeys "%fq", True ' Réalise ALT+F+Q ; True=reste dans Word
' SendKeys "%{F4}N"; True' Réalise ALT+F4 et répond Non pour quitter sans enregistrer
End Sub

VBA Objets DAO (Data Access Objects)
Dans Excel, choisissez la commande "Références" du menu "Outils" de Visual Basic Editor et cochez Microsoft DAO 3.6 Object Library.


Suivez les aventures des skippers aquitains sur EasyVoile.com
Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Lundi 18 mars 2019 - Semaine 12 - Saint Cyrille de Jérusalem (Demain: Saint Joseph)
Aujourd'hui, c'est l'anniversaire de Luc Besson (1959-60 ans), réalisateur et producteur français, de Xavier Deluc (1958), acteur français et de Laetitia Hallyday (1975). Autre 18 mars: 1314 : supplice de Jacques de Molay, grand maître des Templiers.
Haut de page Easy-Micro