Comment convertir des macros Excel en .Net

Plus de propriétaires de petites entreprises que vous ne le pensez créent et écrivent leurs propres logiciels, et souvent, leurs premiers pas de programmation impliquent l'utilisation de Visual Basic pour Applications, ou VBA. VBA est le langage de programmation utilisé avec Microsoft Excel et d'autres applications Office qui vous permet d'automatiser presque toutes les tâches d'une application Office. Une fois que les utilisateurs ont compris la syntaxe VBA relativement facile à utiliser, beaucoup passent à la plate-forme de développement d'applications Web de Microsoft, .NET. Si vous avez des macros Excel que vous avez codées avec VBA, vous constaterez que la syntaxe utilisée à la fois dans VBA et .NET est similaire. Par conséquent, vous n'avez pas à réinventer la roue et le code en dur à partir de zéro le code du module .NET pour les fonctions Excel que vous avez déjà écrites. Si vous suivez quelques règles de codage simples, la conversion de votre code Excel VBA pour une utilisation dans .NET est relativement simple.

Exporter le code VBA à partir d'Excel

1

Lancez Excel et ouvrez le classeur qui contient le code de macro que vous souhaitez convertir en .NET.

2

Appuyez sur les touches «Alt-F11» pour lancer l'éditeur VBA. Attendez quelques secondes que l'éditeur VBA s'ouvre et charge tous les modules de macro du classeur Excel actif.

3

Localisez le dossier «Modules» sous l'en-tête VBAProject sur le côté gauche de la fenêtre de l'éditeur VBA. Double-cliquez sur le dossier «Modules» pour développer et afficher toutes les macros du classeur actif. Cliquez sur et sélectionnez le nom du premier module dans la liste.

4

Cliquez sur "Fichier" dans la barre de menus, puis cliquez sur "Exporter le fichier". Entrez un nom descriptif pour le code du module dans le champ «Nom de fichier». Accédez à un dossier pratique sur votre PC dans lequel enregistrer le fichier du module de code macro et cliquez sur «Enregistrer». L'éditeur VBA enregistre le code de macro sous forme de fichier .BAS.

5

Utilisez l'option "Exporter le fichier" dans la barre de menu "Fichier" pour exporter tous les autres modules de macro du classeur Excel que vous souhaitez convertir en .NET. Fermez d'abord la fenêtre de l'éditeur VBA, puis quittez Excel.

Importation et conversion de macros Excel dans .NET

1

Lancez Visual Basic ou Visual Basic Express sur votre ordinateur. Ouvrez le fichier de projet .NET dans lequel vous souhaitez importer le code de macro Excel existant.

2

Cliquez sur le lien «Projet» dans la barre de menu, puis sur «Ajouter un module». Dans le menu déroulant, cliquez sur "Existant". Accédez au dossier dans lequel vous avez enregistré les fichiers .BAS que vous avez exportés à partir d'Excel. Mettez en surbrillance le premier fichier .BAS du dossier et cliquez sur Ouvrir. Visual Basic ajoute le module à votre fenêtre de projet.NET.

3

Double-cliquez sur le nom du module de macro Excel que vous avez importé. Lorsque vous ouvrez le code du module dans la fenêtre de l'éditeur VB, il y a probablement des lignes dans le code qui contiennent du texte rouge. Cela indique que la syntaxe de code utilisée n'est pas compatible avec VB ou .NET. Ce sont les lignes du code que vous devez modifier pour que le module fonctionne avec votre application .NET.

4

Ajoutez une annotation ByRef au début du code de macro importé juste après la syntaxe «Sub». Par exemple, si vous avez importé un module de macro nommé OpenPowerPoint, la première ligne de code contient la syntaxe «Sub OpenPowerPoint ()». Pour rendre le code compatible en tant que module .NET, réécrivez la syntaxe comme «OpenPowerPoint (ByRef x As Integer)».

5

Supprimez toutes les propriétés par défaut de vos références. Par exemple, dans VBA, vous pouvez écrire du code tel que «a =« Hello World »» et Excel sait que la variable «a» fait référence au texte. Cependant, dans les applications VB ou .NET, vos propriétés par défaut doivent spécifier explicitement le type de propriété. En utilisant l'exemple «a =« Hello World »», vous devez modifier la syntaxe en «a.text =« Hello World ».»

6

Utilisez la commande Call avec vos appels de fonction ou de méthode à un objet externe. Excel VBA vous permet d'appeler une fonction ou un module externe avec une simple entrée «= NameOfFunctionToCall» dans la syntaxe du code. Cependant, dans les applications .NET, vous devez toujours utiliser la commande «Appeler NameOfFunctionToCall ()».