Les partenaires publicitaires:

Comment exécuter une application Windows avec VBA Excel

Dans certaines situations, vous pouvez ouvrir une deuxième application Windows tout en opérant dans une autre application comme Excel. VBA, court pour Visual Basic pour Applications, fournit une méthode utilisant quelques lignes de code pour faire appel à une autre application comme Microsoft Word tout en travaillant avec Excel. Bien que vous pourriez faire la même chose en utilisant simplement le "Démarrer" commande pour ouvrir la deuxième application, en utilisant VBA fait le deuxième programme exécutée en mode asynchrone. Cela revient à dire, le contrôle revient instantanément à Excel, qui continue d'effectuer des calculs sans modifier l'autre application manuellement.

Instructions

  1. Ouvrez un nouveau classeur dans Microsoft Excel. Clique le "Développeur" onglet dans le menu de niveau supérieur. Si vous ne voyez pas cette option, cliquez sur le "Bureau" bouton dans le coin supérieur gauche de Excel. Sélectionner "Options Excel" de la fenêtre et cliquez sur la case à côté "Afficher l'onglet Développeur dans le ruban." Cliquez "D'ACCORD."

  2. Clique le "Visual Basic" onglet maintenant visible dans la ligne d'options de développeur. Cela ouvre une Visual Basic pour Applications (VBA) fenêtre de développement.



  3. Cliquez "Vue" dans la liste de menu en haut de la fenêtre de développement. Cliquez "Code" dans la liste déroulante.

    Entrez le code suivant:




    Private Sub CommandButton1_Click ()
    Dim AppName As String
    'La ligne suivante met en place un moyen pour vous de choisir l'application de Windows
    'AppName = InputBox ("Entrez le chemin et le nom de l'exécutable de l'application")
    'La ligne suivante montre comment vous devez entrer le chemin et le nom du fichier exécutable pour l'App
    'AppName = "C: Program Files (x86) Microsoft Office Office12 winword.exe"
    «Si l'application est dans le chemin normal que Word, Notepad, Excel IE, et d'autres normes de Microsoft» sont, alors vous ne devez pas le chemin complet. Entrez simplement l'exécutable du programme réel comme vous le voyez.
    AppName = "winword.exe"
    Shell AppName, vbNormalFocus
    End Sub

    Remarque: Les lignes commençant par des apostrophes ne pas exécuter.

  4. Retour à l'écran de feuille de calcul, partiellement caché derrière les fenêtres de codage. Cliquez sur l'icône pointant vers le bas dans le "Insérer" onglet du menu développeur. Double-cliquez sur le "Bouton de commande" icône dans la "Contrôles ActiveX" section. Cela ajoute la touche pour la feuille de calcul Excel avec le nom par défaut de "CommandButton1." Faites glisser ce bouton avec la souris à un endroit hors-of-the-way sur votre feuille de calcul. Double-cliquez sur le bouton pour vérifier que le code que vous avez entré à l'étape 3 apparaît. Si elle ne le fait pas, vérifiez l'écran de code, en particulier pour assurer le nom de la Sub (sous-programme) ci-dessus correspond au nom sur le bouton de commande.

  5. Enregistrez la feuille comme une version de macros. Fermez le fichier de tableur. Rouvrir, et quand mis en garde contre l'exécution de macros, sélectionnez le "Activer les macros" option.

  6. Cliquez "Accueil" dans le menu de niveau supérieur. Cliquez sur le bouton que vous avez créé sur la feuille de calcul et Microsoft Word ouvrira. Retour à la section de code VBA et modifier les lignes de code pour correspondre les applications que vous souhaitez exécuter. Retirer l'apostrophe dans la ligne commençant "'AppName = boîte d'entrée" pour le rendre exécutable. Vous serez ensuite invité pour une application. Supprimez les lignes commençant par «AppName ="winword.exe" et 'AppName ="C: Program Files" de sorte que vous pouvez exécuter toute application que vous souhaitez.

Conseils & Avertissements

  • Habillez votre programme en renommant le bouton de commande à quelque chose de plus significatif comme "Lancer une autre application." droit; cliquez sur le bouton et sélectionnez "Propriétés" pour changer l'arrière-couleur, la police et d'autres apparences.
  • En raison de la nature asynchrone de la commande Shell, selon les mesures prises sous le commandement, le processus ne peut pas se terminer avant la déclaration suivante exécute. Selon "Mastering VBA," "cela peut provoquer des erreurs dans vos procédures si les commandes ultérieures dépendent de la déclaration Shell ayant exécuté."
» » » » Comment exécuter une application Windows avec VBA Excel