Apprenez le codage de macros VBA avec Word 2007

L'objectif de ce cours est d'aider les personnes qui n'ont jamais écrit de programme auparavant à en apprendre un. Il n'y a aucune raison pour que les employés de bureau, les femmes au foyer, les ingénieurs professionnels et les livreurs de pizza ne puissent pas profiter de leurs propres programmes informatiques personnalisés pour travailler plus rapidement et plus intelligemment. Cela ne devrait pas prendre un «programmeur professionnel» (quel qu'il soit) pour faire le travail. Vous savez ce qui doit être fait mieux que quiconque. Tu peux le faire toi-même!

(Et je dis cela comme quelqu'un qui a passé de nombreuses années à écrire des programmes pour d'autres personnes ... «professionnellement».)

Cela dit, ce n'est pas un cours sur la façon d'utiliser un ordinateur.

Ce cours suppose que vous savez utiliser des logiciels courants et en particulier que Microsoft Word 2007 est installé sur votre ordinateur. Vous devez connaître les compétences informatiques de base telles que la façon de créer des dossiers de fichiers (c'est-à-dire des répertoires) et comment déplacer et copier des fichiers. Mais si vous vous êtes toujours demandé ce qu'était réellement un programme informatique, c'est OK. Nous vous montrerons.

Microsoft Office n'est pas bon marché. Mais vous pouvez obtenir plus de valeur de ce logiciel coûteux que vous avez déjà installé. C'est une grande raison pour laquelle nous utilisons Visual Basic pour Applications, ou VBA, avec Microsoft Office. Il y a des millions de personnes qui l'ont et une poignée (peut-être personne) qui utilise tout ce qu'elle peut faire.

Avant d'aller plus loin, cependant, je dois expliquer une dernière chose à propos de VBA. En février 2002, Microsoft a fait un pari de 300 milliards de dollars sur une base technologique totalement nouvelle pour l'ensemble de son entreprise. Ils l'ont appelé .NET. Depuis lors, Microsoft a déplacé l'intégralité de sa base technologique vers VB.NET. VBA est le tout dernier outil de programmation qui utilise encore VB6, la technologie éprouvée utilisée avant VB.NET. (Vous verrez l'expression "basé sur COM" pour décrire cette technologie de niveau VB6.)

VSTO et VBA

Microsoft a créé un moyen d'écrire des programmes VB.NET pour Office 2007. Il s'appelle Visual Studio Tools pour Office (VSTO). Le problème avec VSTO est que vous devez acheter et apprendre à utiliser Visual Studio Professional. Excel lui-même est toujours basé sur COM et les programmes .NET doivent fonctionner avec Excel via une interface (appelée PIA, Primary Interop Assembly).

Donc… jusqu'à ce que Microsoft agisse ensemble et vous donne un moyen d'écrire des programmes qui fonctionneront avec Word et ne vous feront pas rejoindre le service informatique, les macros VBA sont toujours le chemin à parcourir.

Une autre raison pour laquelle nous utilisons VBA est qu'il s'agit vraiment d'un environnement de développement logiciel `` entièrement cuit '' (et non à moitié cuit) qui a été utilisé pendant des années par les programmeurs pour créer certains des systèmes les plus sophistiqués qui existent. Peu importe la hauteur de vos vues de programmation. Visual Basic a le pouvoir de vous y emmener.

Qu'est-ce qu'une macro?

Vous avez peut-être déjà utilisé des applications de bureau qui prennent en charge ce qu'on appelle un langage de macro. Les macros ne sont traditionnellement que des scripts d'actions de clavier regroupés avec un seul nom afin que vous puissiez les exécuter toutes en même temps. Si vous commencez toujours la journée en ouvrant votre document "MyDiary", en entrant la date d'aujourd'hui et en tapant les mots "Dear Diary", - Pourquoi ne pas laisser votre ordinateur faire cela pour vous? Pour être cohérent avec les autres logiciels, Microsoft appelle également VBA un langage de macro. Mais ce n'est pas. C'est beaucoup plus.

De nombreuses applications de bureau incluent un outil logiciel qui vous permettra d'enregistrer une macro de "frappe". Dans les applications Microsoft, cet outil est appelé l'enregistreur de macros, mais le résultat n'est pas une macro de frappe traditionnelle. C'est un programme VBA et la différence est qu'il ne rejoue pas simplement les frappes. Un programme VBA vous donne le même résultat final si possible, mais vous pouvez également écrire des systèmes sophistiqués dans VBA qui laissent de simples macros de clavier dans la poussière. Par exemple, vous pouvez utiliser les fonctions Excel dans Word à l'aide de VBA. Et vous pouvez intégrer VBA à d'autres systèmes tels que des bases de données, le Web ou d'autres applications logicielles.

Bien que l'enregistreur de macros VBA soit très utile pour créer simplement des macros de clavier simples, les programmeurs ont découvert qu'il est encore plus utile de leur donner un départ actif dans des programmes plus sophistiqués. Voilà ce que nous allons faire.

Début Microsoft Word 2007 avec un document vierge et préparez-vous à écrire un programme.

L'onglet Développeur dans Word

L'une des premières choses que vous devez faire pour écrire un programme Visual Basic dans Word 2007 est trouver Visual Basic! La valeur par défaut dans Word 2007 est de ne pas afficher le ruban utilisé. Pour ajouter le Développeur onglet, cliquez d'abord sur le Bureau (le logo dans le coin supérieur gauche), puis cliquez sur Options Word. Cliquez sur Afficher l'onglet Développeur dans le ruban puis cliquez sur D'accord.

Lorsque vous cliquez sur le Développeur onglet, vous avez un tout nouvel ensemble d'outils utilisés pour écrire des programmes VBA. Nous allons utiliser l'enregistreur de macros VBA pour créer votre premier programme. (Si le ruban avec tous vos outils continue de disparaître, vous pouvez cliquer avec le bouton droit sur le ruban et vous assurer Réduisez le ruban n'est pas cochée.)