Exécution d'une macro. Comprendre les macros et les macros à faire soi-même

MACRO.

La plupart des utilisateurs créent et utilisent des documents Microsoft Office à l'aide des capacités d'application standard. Cependant, Office offre de nombreuses possibilités d'automatisation du travail avec des documents - il s'agit de la programmation en VBA et de l'utilisation de macros.

VBA, le langage de programmation Visial Basic for Applications, est un langage de programmation intégré aux applications Office qui est utilisé pour créer des macros.

Macro et enregistreur de macro.

Au lieu de répéter des commandes monotones dans MS Office, vous pouvez créer une macro qui exécutera automatiquement cette séquence de commandes. La macro vous permet de saisir Célibataire une commande qui exécute la même tâche qu'un groupe de commandes.

Une macro est un programme écrit en VBA. VBA est une version spéciale de Visial Basic (pour Application).

Il existe 2 façons de créer une macro dans Office :

§ Enregistreur de macros enregistrant les actions de l'utilisateur

§ ouverture d'une fenêtre VBA et saisie d'instructions VBA

Le plus souvent, l'utilisateur utilise VBA pour corriger la macro enregistrée par l'enregistreur.

Pour travailler avec des macros dans MS Office 2007-13, affichez l'onglet DÉVELOPPEUR sur le ruban (bouton BUREAU / PARAMÈTRES Word / PARAMÈTRES DU RUBAN).

L'utilisateur doit réfléchir aux conditions de démarrage de la macro, par exemple, s'il est nécessaire de faire quelque chose avec le fragment sélectionné, alors le fragment doit être sélectionné avant l'enregistrement ou le lancement.

Enregistrement de macros.

§ Onglet DEVELOPPEUR / ENREGISTRER MACRO, donner un nom à la macro. Le nom ne doit pas contenir d'espaces, commencer par une lettre et ne pas contenir de caractères spéciaux. la longueur maximale du nom est de 80 caractères. Si la macro créée reçoit un nom qui correspond au nom d'une macro Microsoft Word intégrée, la macro existante est remplacée par la nouvelle.

§ exécuter des commandes

§ Onglet DÉVELOPPEUR / ARRÊTER ENREGISTREMENT

Généralement, la macro est disponible pour le modèle Normal.dot, elle est automatiquement enregistrée avec.

Exécuter une macro.

§ Onglet DEVELOPPEUR / MACROS, sélectionnez celui souhaité et EXECUTER.



Affectation d'une macro à un bouton de la barre d'outils d'accès rapide et/ou à un raccourci clavier.

§ ou bouton BUREAU / Mot PARAMETRES / REGLAGES

§ ou choisissez les actions appropriées lors de l'attribution d'un nom à la macro.

Lorsque vous affectez des raccourcis clavier à une macro, gardez à l'esprit que de nombreux raccourcis sont réservés dans Worde et qu'il n'est pas facile de trouver une combinaison "gratuite".

Suppression d'une macro.

§ Onglet DÉVELOPPEUR / MACROS, sélectionnez celui souhaité et SUPPRIMER.

Modifiez le texte de la macro.

Lors de l'enregistrement d'une macro, l'enregistreur enregistre une séquence d'instructions textuelles en VBA. Cette description textuelle est appelée code source. Il peut être consulté et corrigé :

§ Onglet DEVELOPPEUR / MACROS, sélectionnez celui souhaité et CHANGER.

Pour exécuter une macro depuis l'éditeur VBA : bouton RUN ()

Création de macros exécutées automatiquement.

Word a 5 noms spéciaux pour les macros

VBA - les programmes consistent en une simple séquence d'actions : un programme accède à un objet, lui donne des propriétés et effectue des actions avec lui. Chaque document, paragraphe, ... est un objet. Par exemple, un objet Selection est une sélection. Word lui-même est un objet Appication (Voir Annexes 2,3)



Chaque objet a ses propres caractéristiques - propriétés.

De nombreux objets effectuent des actions appelées méthodes.

Par exemple,

ActiveDocument.Close (objet - document actif, méthode - fermer)

Selon la syntaxe VBA, le séparateur est un point.

Typiquement : objet, point, méthode et/ou propriétés (séparés par des points)

Souris droite sur un objet - liste des méthodes, propriétés (Liste Propriétés / Méthodes)

La séquence With… .. End With vous permet de spécifier plusieurs méthodes/propriétés pour un objet sans répéter son nom plusieurs fois.

Tâche pratique 1.

Écrivons une macro nommée "my_first_macro", dans laquelle nous écrirons les commandes suivantes :

§ Orientation de la page paysage

§ Échelle de vue - 33%

En conséquence, nous obtenons le code suivant

Sous ma_première_macro ()

"

"ma_première_macro Macro

"Macro enregistrée le 03.12.07

Avec ActiveDocument.PageSetup

NumérotationLigne.Active = Faux

Orientation = wdOrientPaysage

TopMargin = CentimètresVersPoints (1.5)

BottomMargin = CentimetersToPoints (3)

Marge Gauche = CentimètresVersPoints (2)

.RightMargin = CentimètresVersPoints (2)

Gouttière = CentimètresVersPoints (0)

En-têteDistance = CentimètresVersPoints (1,25)

FooterDistance = CentimètresVersPoints (1,25)

Largeur de page = CentimètresVersPoints (29,7)

Hauteur de la page = CentimètresVersPoints (21)

FirstPageTray = wdPrinterDefaultBin

OtherPagesTray = wdPrinterDefaultBin

SectionStart = wdSectionNewPage

OddAndEvenPagesHeaderFooter = False

DifferentFirstPageHeaderFooter = False

AlignementVertical = wdAlignVerticalTop

Supprimer les notes de fin = False

MirrorMargins = False

DeuxPagesSurUne = Faux

GutterPos = wdGutterPosLeft

ActiveWindow.ActivePane.View.Zoom.Pourcentage = 33

Fin du sous-marin

Vous pouvez corriger le texte de cette macro, par exemple,

§ changer le pourcentage, par exemple 33 à 42

§ changer les champs

§ remplacer False par True dans la ligne.LineNumbering.Active = False (il y aura une numérotation automatique des lignes)

§ remplacer en ligne Orientation = wdOrientPaysage sur le wdOrientPortrait, l'orientation du papier sera portrait

Une fois enregistrée, cette macro peut être réexécutée pour tout autre document.

Tâche pratique 2.

Créons une macro qui crée une boîte de message lors de l'ouverture d'un fichier.

MessageBox est une boîte de message qui apparaît à l'écran.

Pour afficher une MessageBox lorsque vous ouvrez un fichier MS Word, vous devez créer une macro nommée AutoOpen et appeler la fonction msgbox qu'elle contient. Il ressemblera à ceci:

Sous-ouverture automatique ()

"Cette fonction est appelée lors de l'ouverture d'un document

"Affichage de la MessageBox

MsgBox "Bonjour mon ami !"

Séquence d'actions (une des options) :

§ Onglet DEVELOPPEUR / MACROS, donnez n'importe quel nom et CREER

§ Dans la fenêtre de l'éditeur VBA, changez le nom et imprimez le texte du programme en VBA

§ Sauver

§ Lancer

Désormais, à l'ouverture de chaque document, nous recevrons un message.

La commande pour afficher la boîte de message ressemble à ceci :

MsgBox (promt, bouton, titre, fichier d'aide)

Promt est un argument obligatoire spécifiant le texte qui apparaîtra dans la boîte de message

Button - un argument optionnel définissant le type de boîte de message, la présence des boutons Ok, Cancel, Stop, Skip, etc.

Titre - un argument facultatif spécifiant le titre de la fenêtre

· Helpfile– un argument facultatif spécifiant quel fichier d'aide sera ouvert si l'utilisateur appuie sur F1

Tâche pratique 3.

Création d'une boîte de dialogue simple.

Pour créer une boîte de dialogue, vous devez créer un objet visuel appelé formulaire. Un formulaire est l'analogue d'une fenêtre sur laquelle vous pouvez placer des contrôles (boutons, boutons radio, cases à cocher, etc.). Chaque formulaire fait partie de l'interface utilisateur. Chaque formulaire est un objet et, à son tour, contient de nombreux objets, chacun pouvant être contrôlé séparément.

Création de formulaire :

§ Fenêtre VBA (ALT + F11)

INSERT / Nouveau formulaire ou UserForm (insérer un nouveau formulaire)

§ Dans la fenêtre Propriétés, vous pouvez configurer les propriétés du formulaire, par exemple, la propriété Légende permet de donner un nom au formulaire

§ A l'aide du panneau ToolBox, paramétrez les contrôles sur le formulaire :

· Etiquette - inscription

CommandButton - un bouton de commande pour effectuer une action

TextBox - champ de texte

Image - dessin

ChtckBox - case à cocher

§ Nous personnalisons le travail de chaque élément. Par exemple, 2 clics sur le bouton de commande vous permettront d'écrire les instructions VBA qui doivent être exécutées lorsque ce bouton est enfoncé.

Pour qu'une telle boîte de dialogue apparaisse lorsque vous exécutez une macro, vous devez ajouter les lignes suivantes à la macro :

Charger UserForm1

UserForm1.Show

Parce que maîtriser VBA demande beaucoup de temps et une connaissance des bases des algorithmes, les utilisateurs enregistrent généralement des commandes Word à l'aide d'un enregistreur de macros, puis corrigent et/ou ajoutent une macro.


La macro créée doit être exécutée. Il existe plusieurs façons d'exécuter des macros :

1. Par une commande Macros -> Macro -> Service

2. À l'aide d'une combinaison de touches affectées à la macro ;

3. Au moyen de la commande de menu affectée à cette macro ;

4. Via le bouton affecté à cette macro dans la barre d'outils.

Le choix de la manière d'exécuter une macro est déterminé par l'utilisateur lui-même en fonction de ses propres besoins et préférences. Il est conseillé d'utiliser la deuxième méthode pour exécuter les macros les plus fréquemment exécutées. Le troisième illustre la possibilité d'entrer vos propres commandes dans le menu principal et ainsi d'améliorer le menu. Cette dernière méthode se distingue par la visibilité du lancement.

Examinons de plus près chacune de ces méthodes pour exécuter des macros.

1. Équipe Macros -> Macro -> Service- la version standard de l'appel d'une macro pour l'exécution. Dans la boîte de dialogue Macro, sélectionnez la macro créée et cliquez sur le bouton [Exécuter]. Cette méthode convient également à l'édition et à la suppression d'une macro - les boutons [Modifier], [Supprimer].

2. À l'aide de la combinaison de touches (fig. 2) :

Riz. 2. Boîte de dialogue. Configuration du clavier pour l'affectation macro

raccourcis clavier dans Microsoft Word.

2. Pour appeler une macro dans une boîte de dialogue Personnalisation du clavier dans l'onglet Nouveau raccourci clavier une combinaison de touches de commande est indiquée. Par exemple, avec une combinaison de touches numériques ou alphabétiques (en latin) ;

Ensuite, le bouton [Assign] est cliqué, ce qui rend l'attribution.

3. Appel par une commande du menu - le paramétrage standard du menu est effectué : ajout d'une rubrique de menu associée à l'appel d'une macro commande :

Dans la boîte de dialogue qui apparaît Personnalisation, sur l'onglet Commandes de la zone de liste déroulante Catégories l'équipe est sélectionnée Macro suivi du nom de la macro ;

après avoir cliqué avec le bouton gauche de la souris sur le nom de la macro-commande, une image en pointillé du bouton apparaît, qui doit être glissée vers le menu pour ajouter un élément de menu. Après cela, le bouton gauche de la souris est relâché.

4. A l'aide du bouton affecté à cette macro dans la barre d'outils (Fig. 3) :

Dans Word, lorsque vous cliquez sur le bouton [Panneaux] (voir Fig. 1) dans la boîte de dialogue Enregistrement la boîte de dialogue des macros apparaît Personnalisation dans lequel l'onglet Commandes de la zone de liste déroulante Catégories choisi Macro suivi du nom de la macro ;

après avoir cliqué avec le bouton gauche de la souris sur le nom de la macro, une image en pointillé du bouton apparaît, qui doit être glissée vers la barre d'outils. Après cela, le bouton gauche de la souris est relâché ;

en cliquant sur le bouton [Modifier l'objet sélectionné], vous pouvez sélectionner l'icône que vous souhaitez pour le bouton en exécutant la commande ü Sélectionnez une icône pour un bouton(fig. 4). Vous pouvez également modifier l'icône à l'aide de la commande Changer l'icône d'un bouton(la fenêtre Éditeur de boutons) (fig. 5).

Riz. 3. Boîte de dialogue Paramètres d'affectation à une macro
boutons de la barre d'outils dans Microsoft Word.

Riz. 4. Boîte de dialogue de sélection d'une icône pour le bouton

Riz. 5. Boutons de l'éditeur de boîte de dialogue

Dans Excel, il est en outre possible d'exécuter une macro à l'aide du symbole qui lui est attribué.

Après avoir sélectionné la méthode d'appel, une petite barre d'outils apparaît Arrête d'enregistrer contenant un bouton :

- [Arrêter l'enregistrement] - termine l'enregistrement de la macro ;

[Pause] - met en pause l'enregistrement de la macro (fig. 6).

Figure 6. Panneau de l'enregistreur de macros dans Microsoft Word

  1. Modification des macros

Les macros sont enregistrées dans le modèle en tant que textes de programme. Chaque modèle peut contenir un nombre quelconque de macros. Étant donné que les fichiers dot (dot est l'extension du fichier modèle) ne peuvent pas être lus comme des documents, Word fournit des outils spéciaux qui vous permettent d'afficher et de modifier des macros sous forme de séquence d'instructions VBA (Figure 7). Lors de l'édition, toute macro est présentée comme une séquence d'instructions VBA. L'essence de l'édition d'une macro consiste à supprimer, ajouter et remplacer des opérateurs, comme lors de la programmation dans n'importe quel autre langage.

Fig. 7. Boîte de dialogue de l'éditeur VBA

L'édition des macros est effectuée à l'aide de la commande Macro... Dans la boîte de dialogue Macro, dans le champ Nom le nom de la macro à éditer est sélectionné. Le processus démarre lorsque vous cliquez sur le bouton [Déboguer]. Vous pouvez spécifier le nom d'une macro inexistante. Si vous cliquez ensuite sur le bouton [Créer], une nouvelle macro sera créée et l'utilisateur pourra l'enregistrer en VBA.

Le bouton [Debug] est utilisé pour ouvrir la fenêtre d'édition de macro, qui affiche le contenu de la macro en VBA. La fenêtre d'édition de macro est similaire à une fenêtre de document ordinaire, mais elle se distingue par l'absence d'une règle de coordonnées et la présence d'une barre d'outils spéciale. Plusieurs fenêtres de traitement de macros peuvent être ouvertes. Le texte de la macro est édité de la même manière que le texte du programme VBA normal. Dans ce cas, la plupart des commandes d'édition de texte sont disponibles, par exemple, les commandes Copie et Coupé.

Cliquer sur le bouton [Supprimer] supprime la macro spécifiée.

Pour fermer la fenêtre d'édition des macros, vous pouvez utiliser le menu système de la fenêtre d'édition ou la commande Fermer au menu Fichier... Des commandes spécifiques pour l'édition et le débogage d'une macro sont exécutées en appuyant sur les boutons de la ligne de suppression.

Bibliographie:

1. Musin K.A. "Supplément technique à Microsoft Word"

2. Borodine A.I "Macroprogrammation"

Si vous avez aimé la macro Cadre anti-éclaboussures, alors vous aurez forcément envie de l'adapter en fonction de vos besoins. Une partie de ce travail peut être effectuée sans modifier la macro. Par exemple, vous pouvez modifier les paramètres de filtre pour contrôler la quantité de rugosité dans les bords. Par défaut, cette macro ne demande aucun paramètre lors de son exécution, mais utilise les paramètres spécifiés lors de son écriture. Vous pouvez demander à la macro d'émettre des requêtes pour toute commande ayant des paramètres. Démontrons en utilisant l'exemple des paramètres de filtre Éclabousser.

  1. Sélectionnez le premier plan dans la palette Histoire... Cela ramènera l'image à son état d'origine.
  2. Trouver dans la palette Actions ligne de commande Éclabousser et cliquez sur le rectangle vide à gauche du nom de la commande. Une icône représentant la boîte de dialogue illustrée sur la figure apparaîtra dans celle-ci.
  3. Cadre d'éclaboussuresb.
  4. Actions.
  5. Lors de l'exécution de la commande Éclabousser Photoshop ouvrira une boîte de dialogue de filtrage dans laquelle vous pourrez choisir les options souhaitées. Essayez, par exemple, de diminuer la valeur Douceur jusqu'à 2.
  6. Cliquez sur le bouton d'accord... La macro continuera l'exécution.

Notez que chaque nouvelle exécution de la macro crée un nouvel instantané de l'état du document d'origine. C'est très utile, mais pas toujours nécessaire. Par exemple, si vous sélectionnez des paramètres de commande, un nouvel instantané apparaîtra avec chaque échantillon. D'un autre côté, la suppression de la commande pour créer un instantané est également indésirable - vous pouvez irrévocablement perdre les résultats du travail précédent si la commande macro ne convient pas. La solution est d'annuler temporairement l'exécution d'une commande inutile.

  1. Cliquez sur la coche à gauche du nom de la commande Faire un instantané dans la palette Actions.
  2. Sélectionnez le nom de la macro entière Cadre d'éclaboussures.
  3. Exécutez la commande macro en cliquant sur l'icône correspondante dans la palette Actions.
  4. Ouvrir la palette Histoire et assurez-vous qu'aucun nouvel instantané n'a été pris. La désactivation temporaire d'une commande est très utile lors de la création de vos propres macros et lors de leur débogage. D'autres modifications affecteront certainement la macro elle-même et nécessiteront l'enregistrement de nouvelles commandes et la suppression de celles existantes.

Enregistrement de macros.

Cette section décrit comment créer une macro simple mais très utile qui vous permet de centrer une image sur le calque courant. Utilisons une fonctionnalité de la commande Pâte: il place l'image exactement au centre du calque. Toute image avec un calque convient à l'enregistrement d'une macro-commande. Contexte et une couche de plus. L'image qui est déjà à l'écran répond à ces critères. Lors de la création d'une macro-commande, nous supposerons que la couche qui nécessite un centrage est active au moment où la macro-commande est lancée.

  1. Activer le calque Couche 1.
  2. Plaçons la macro dans un nouvel ensemble de macros. Dans la palette Actions cliquez sur le bouton pour créer un nouvel ensemble de macros Créer un nouvel ensemble.
  3. Dans la boîte de dialogue ouverte Nouvel ensemble saisissez un nom pour le nouvel ensemble, par exemple "Mes actions".
  4. Cliquez sur OK. Un nouvel ensemble est apparu dans la palette.
  5. Dans la palette Actions sélectionnez l'icône pour créer une nouvelle macro Créer une nouvelle action.
  6. Dans la boîte de dialogue qui apparaît Nouvelle action entrez le nom de la macro dans le champ Nom par exemple "Centre (Couche)". Sous ce champ se trouve une liste de tous les ensembles de macros présents dans la palette. Par défaut, l'ensemble sélectionné y est sélectionné, Mes actions. Nous traiterons un peu plus tard du reste des éléments de cette boîte de dialogue.

Conseils. Lorsque vous créez votre macro, spécifiez avec quoi elle fonctionne. Si la macro nécessite que l'image travaille sur un calque séparé, spécifiez "Calque" entre parenthèses. S'il a besoin d'une sélection pour fonctionner, spécifiez "Sélection". De telles désignations sont acceptées lors de l'échange de macros.

  1. Cliquez sur le bouton Record... Désormais, toutes vos actions dans le programme seront enregistrées dans la macro Centre (Calque). Après avoir exécuté chaque commande, regardez immédiatement la palette Actions vérifier le résultat de son enregistrement. L'icône d'enregistrement dans la palette est surlignée en rouge.
  2. Sélectionnez une équipe Tous menu Sélectionner ou appuyez sur les touches CTRL + A... Dans la palette Actions la première équipe est apparue Définir la sélection avec paramètre Ce correspondant à la sélection de l'ensemble de la toile ( Tous).
  3. Sélectionnez une équipe Couper menu Éditer Actions.
  4. Sélectionnez une équipe Pâte menu Éditer... La commande correspondante apparaîtra dans la palette. Actions.

Conseils. Si, lors de l'enregistrement d'une macro, vous avez fait par erreur la mauvaise action et l'avez immédiatement trouvée, sélectionnez la commande annuler menu Éditer... Mauvaise commande de la palette Actions il ne disparaîtra pas, mais l'image reviendra à son état précédent. Ensuite, entrez simplement la commande correcte. La commande incorrecte restant dans la palette est facile à supprimer une fois l'enregistrement terminé. Pour ce faire, il vous suffit de faire glisser la ligne de commande vers l'icône de suppression.

  1. Toutes les actions de la macro sont terminées et il est temps d'arrêter l'enregistrement. Cliquez sur l'icône d'arrêt de l'enregistrement dans la palette Actions.

Nous recommandons fortement que chaque macro-commande que vous créez soit accompagnée d'un commentaire décrivant ses exigences pour l'état initial du document, car l'une nécessite un objet situé sur un calque pour fonctionner, l'autre nécessite une zone sélectionnée, la troisième ne nécessite aucun calque, etc. Lorsque vous disposez d'une bibliothèque de macros , vous aurez probablement du mal à vous souvenir des détails du fonctionnement de chaque fonction.

  1. Sélectionnez dans la palette Actions le titre de la macro créée.
  2. Exécuter la commande Insérer un arrêt... depuis le menu des palettes Actions... Dans la boîte de dialogue ouverte Arrêt de l'enregistrement voir le terrain Un message, dans laquelle vous pouvez saisir plusieurs lignes de commentaire, et la case à cocher Autoriser Continuer qui détermine s'il faut ou non autoriser la poursuite de l'exécution de la macro. Saisissez le texte de votre commentaire et cochez la case Autoriser Continuer.
  3. Cliquez sur le bouton d'accord.
  4. Déplacer la commande Arrêter dans la palette Actionsà la première place dans notre macro de la même manière que nous avons changé l'ordre des calques dans la palette des calques - Glisser déposer. Nous avons ajouté un commentaire à la macro qui pourra arrêter l'exécution de la macro si l'utilisateur clique Arrêter dans la boîte de dialogue qui s'ouvre.

En programmation, même élémentaire, il faut que le programme libère toutes les ressources informatiques occupées. Cette macro ne satisfait pas à cette exigence, puisque tout le contenu du calque reste dans le presse-papiers. Si l'image est suffisamment grande, la mémoire occupée affectera négativement les performances du programme; D'autre part, lors du passage à un autre programme et inversement, le contenu du presse-papiers sera transféré entre eux. L'ego conduira à un retard ennuyeux. En tant que travail indépendant, complétez la commande macro par la commande Purge du menu Éditer.

Noter. Pour écrire un contour dans une macro-commande, vous devez d'abord le créer, puis utiliser la commande Insérer un chemin menu des palettes Actions... Lors de la lecture de la commande macro, le contour sera reproduit sur une nouvelle image. L'enregistrement de macros dans Photoshop a des limites importantes. Premièrement, les actions des outils de dessin (Pinceau, Tampon, Gomme, etc.) ne sont pas enregistrées. Deuxièmement, il n'y a aucun moyen de contrôler la progression d'une macro. Une macro commande ne peut pas appeler diverses commandes selon n'importe quelles conditions, il est impossible d'organiser une exécution cyclique d'un groupe de commandes, de recevoir et d'utiliser des informations sur l'état d'un document (taille, résolution, modèle de couleur, nombre et types de calques et chaînes, etc.).

1. Le concept de macro.

2. Aperçu de l'événement

3. Création de macros.

3.1. Définir les conditions d'exécution des macros.

3.2. Création d'un groupe de macros.

4. Exécuter la macro.

1. Le concept de macro

Pour automatiser les opérations dans le SGBD MS Access, deux outils sont fournis : macro et modules... A l'aide de ces outils, il est possible de déterminer la réaction de l'application à divers événements qui se produisent dans les formulaires et les états : cliquer sur un bouton, recevoir le focus d'un contrôle, passer à un nouvel enregistrement, modifier des données, ouvrir un formulaire, ouvrir un rapport, etc...

Macro Est un objet de base de données MS Access, qui est un ensemble d'une ou plusieurs macros et est conçu pour automatiser les tâches fréquemment effectuées.

Macro - le composant principal d'une macro, une instruction fermée, indépendamment ou en combinaison avec d'autres macros, qui détermine les actions effectuées dans la macro. Chaque macro a un nom spécifique et éventuellement un ou plusieurs arguments fournis par l'utilisateur.

Fonctionnellement, les macros peuvent être divisées en plusieurs catégories :

- travailler avec des données dans des formulaires et des rapports ;

- exécution de commandes, macros, procédures et requêtes ;

- travailler avec des objets ;

- import/export de données et d'objets ;

- les autres.

Le tableau 11.1 présente 56 macros de SGBD MS Access regroupées par catégories.

Tableau 11.1

Rendez-vous

Macro

Utilisation des données dans les formulaires et les rapports

Échantillonnage de données

Appliquer le filtre

Naviguer dans les données

NextRecord (FindNext).

Rechercher un enregistrement,

Vers l'élément de commande

Aller à la page,

OnRecord (GoToRecord)

Actualiser les données ou l'écran

Mettre à jour (requête)

Afficher tous les enregistrements

Performance

Exécuter une commande

Exécuter la commande

Exécution d'une macro, d'une procédure ou d'une requête

RunProgram (RunCode), RunMacro (RunMasgo), OpenQuery (OpenQuery), RunSQLQuery (RunSQL)

Exécuter une autre application

Exécuter l'application

Abandon de l'exécution

Annuler l'événement

StopAllMacros (StopAIIMacros),

Arrêter la macro

Se déconnecter de Microsoft Access

Quitter

Importer/
exportation

Transmission d'objets Microsoft Access à d'autres applications

Format de sortie (Sortie vers),

EnvoyerObjet

Conversion de format de données

ConvertDatabase (TransferDatabase), ConvertElectronicSheet (TransferSpreadsheet)

TransférerTexte

Travailler avec des objets

Copier, renommer ou enregistrer un élément

CopierObjet, Renommer,

Copier le fichier de la base de données
(Copier le fichier de la base de données)

Supprimer un objet

SupprimerObjet

Redimensionner ou positionner une fenêtre

Développer (Agrandir),

Minimiser

DéplacerTaille,

Restaurer

Ouvrir ou fermer un objet

OpenForm, OpenModule, OpenQuery, OpenReport, OpenTable,

OpenFunction

Ouvrir la page (OpenDataAccessPage)

Diagramme ouvert (OpenDiagram)

Procédure OpenStore

Vue ouverte

Fermer

Objet d'impression

Imprimer (Imprimer)

Sélection d'un objet

SélectionnerObjet

Définition de la valeur d'un champ, d'un contrôle ou d'une propriété

SetValue

Mise à jour de l'objet

Mettre à jourObjet

Créer une barre de menus personnalisée ou générale, un menu contextuel personnalisé ou global

AjouterMenu

Réglage de l'état des éléments de menu dans une barre de menu dédiée ou générale

SetMenultem

Affichage des informations à l'écran

Sortie à l'écran (écho),

Sablier,

Message (MsgBox),

Définir les avertissements

Génération de frappes

Commandes clavier (SendKeys)

Afficher ou masquer la barre d'outils intégrée ou dédiée

Barre d'outils (Afficher la barre d'outils)

Signal sonore

Signal (ventilateur)

Des informations plus complètes sur les macros peuvent être trouvées dans la section référenceMicrosoft Accéder| Programmation enMicrosoft Accéder| Macro-commandes.

Les actions pouvant être effectuées à l'aide de macros sont très diverses, par conséquent, la connaissance des macros est requise pour créer des macros. La connaissance des macros sera également utile lors de la création de procédures en VBA, car de nombreuses macros sont des méthodes de l'objet DoCmd.

Selon l'emplacement de stockage, les macros sont divisées en deux types :

Facile(un objet constitué d'un ensemble de macros) ;

grouper(un objet constitué d'un ensemble de macros logiquement liées, chacune ayant son propre nom et un ensemble de macros).

Selon le mode d'exécution, les macros sont divisées en deux types :

linéaire(chaque macro d'une macro est exécutée séquentiellement l'une après l'autre);

avec la condition(les macros sont exécutées en fonction du respect de certaines conditions).

2. Aperçu de l'événement

Événement Est une action qui est reconnue par un objet. Les événements se produisent à la suite d'une action de l'utilisateur, de l'exécution d'instructions VBA ou générés par le système. Exemples d'événements : ouverture d'un formulaire, déplacement d'un enregistrement à un autre dans un formulaire, fermeture d'un état, clic sur un bouton de commande dans un formulaire, etc.

Presque toute la programmation dans MS Access se résume à l'écriture de macros ou de procédures qui gèrent les événements, c'est-à-dire que la réaction des objets aux événements est programmée. Les événements de divers objets MS Access sont illustrés dans les Figures 11.1 à 11.3.

Les événements peuvent être classés dans les catégories suivantes, en les regroupant selon leurs caractéristiques fonctionnelles (opérations effectuées) :

- formulaires et rapports d'ouverture et de fermeture;

- modification des données ;

- changer l'orientation de l'entrée ;

- événements de travail avec le clavier;

- événements souris ;

- sceller;

- suivi des erreurs ;

- l'expiration d'un délai.

Graphique 11.1. L'onglet Événements de la fenêtre des propriétés du formulaire.

Graphique 11.2. L'onglet Evénements de la fenêtre de propriétés du champ subordonné formulaire / état.

Graphique 11.3. L'onglet Événements de la fenêtre des propriétés du contrôle. Bouton (a) et Combo box (b).

3. Création de macros

La création de macro se compose de deux étapes :

1. Dans la fenêtre de la base de données, allez dans l'onglet Macro et cliquez sur le bouton Créer .

2. Dans la fenêtre qui apparaît Constructeur de macros créer une macro.

La fenêtre Constructeur macro se compose de deux zones (Figure 11.4) :

- la zone supérieure est destinée à décrire la structure logique de la macro ;

- la zone du bas sert à décrire les arguments des macros.

Dans la zone supérieure Constructeur macro deux colonnes sont affichées par défaut Macro et Noter... Affichage des colonnes Nom de la macro et État effectué à l'aide des boutons correspondants de la barre d'outils Constructeur macro.

Cellules dans une colonne Macro sont utilisés pour sélectionner parmi une liste de macros incluses dans la macro.

Cellules dans une colonne Noter sont utilisés pour décrire l'action effectuée par une macro (peut être vide).

Cellules dans une colonne Nom de la macro sont utilisés pour nommer une macro dans un groupe de macros.

Cellules dans une colonne État sont utilisés pour spécifier la séquence d'exécution des macros.

Graphique 11.4. Fenêtre du concepteur de macros

Pour basculer rapidement entre la zone supérieure et inférieure de la fenêtre Constructeur de macros tu peux utiliser la clé < F 6> .

Il existe une autre façon de saisir des macros.

Dans la fenêtre de la base de données, un objet est sélectionné : formulaire, état, macro, requête ou table et à l'aide de la souris est glissé dans la fenêtre Constructeur de macros... Dans une boîte à colonnes Macro une macro apparaîtra automatiquement (par exemple, Formulaire ouvert) et certains arguments de la macro commande seront renseignés automatiquement (nom de l'objet, mode, mode fenêtre).

Il existe deux manières de saisir des valeurs pour les arguments d'une macro :

- sélection d'une valeur dans la liste des valeurs acceptables ;

- saisir une valeur manuellement ou à l'aide d'une boîte de dialogue Générateur d'expressions.

Un exemple de macro qui vous permet d'ouvrir le formulaire "Clients" en mode formulaire, en lecture seule et d'afficher les clients d'Espagne uniquement, est illustré à la Fig.11.5.

Graphique 11.5. Fenêtre du constructeur de macro avec des valeurs d'argument remplies

3.1. Paramétrage des conditions d'exécution des macros

Pour créer des macros pour une structure non linéaire, vous devez afficher la colonne État et spécifiez la condition d'exécution des macros qu'il contient.

L'exécution de la macro commence à partir de la première commande de macro et continue jusqu'à ce qu'une ligne vide soit rencontrée (un signe de la fin d'une macro), le nom d'une autre macro ou une macro ArrêtMacro... Les macros pour lesquelles des conditions sont définies ne seront exécutées que si la condition écrite dans la ligne macro a la valeur Vrai... Pour propager la condition aux macros suivantes, il faut dans la colonne État indiquer trois points ( ).

Un exemple de création d'une macro d'une structure non linéaire

En forme de Fournisseurs il y a deux champs De campagne et Indice... Il est nécessaire de vérifier l'exactitude de l'index saisi pour certains pays avant de mettre à jour l'enregistrement (avant de sauvegarder).

Si le champ De campagne est NULL, puis sauvegardez l'enregistrement, car il est impossible de vérifier l'indice d'appartenance au pays, sinon vérifiez la valeur dans le champ Indice:

- si le champ De campagne a le sens La France, Italie ou alors Espagne, et sur le terrain Indice pas introduit 5 caractères, n'enregistrez pas l'entrée si 5 - enregistrer;

- si le champ De campagne a le sens Australie ou alors Singapour, et sur le terrain Indice pas introduit 4 signer, ne sauvegardez pas l'enregistrement si 4 - enregistrer;

L'algorithme de la macro sous la forme d'un schéma bloc est illustré à la Figure 11.6, et l'implémentation de la macro dans la fenêtre Constructeur de macros, illustré à la figure 11.7.

Cette macro est associée à la propriété Avant la mise à jour dans l'onglet Développements façonner Fournisseurs.

Graphique 11.6. L'algorithme de la macro

Graphique 11.7. Implémentation d'une macro à structure non linéaire

3.2. Création d'un groupe de macros

Un nombre important de macros est nécessaire pour automatiser une application. Si vous créez des macros pour chaque opération individuelle, dans ce cas, des centaines de macros différentes s'accumuleront dans la base de données.

Pour réduire le nombre de macros en tant qu'objets de base de données, il existe une autre façon de les organiser - en combinant plusieurs macros dans un groupe. La combinaison de macros dans un groupe peut être effectuée de deux manières :

- appartenant à l'objet d'automatisation (pour chaque formulaire et état) ;

- appartenant au type d'opérations automatisées.

Un groupe de macros est stocké dans un objet et a donc un nom commun - le nom de l'objet. Pour exécuter une macro incluse dans un groupe, utilisez le nom complet : [Group_name]. [Macro_name_in_group].

Pour créer un groupe de macros, procédez comme suit :

1. Ouvrir Constructeur de macros.

2. Affichez la colonne Nom de la macro.

3. Dans une cellule de colonne Nom de la macro entrez un nom pour la macro unique au groupe.

4. Dans les cellules de la colonne Macroà partir de la ligne contenant le nom de la macro, saisissez toutes les macros qui composent la macro et leurs arguments.

5. Sautez une ligne.

6. Répétez les étapes 3 à 5 pour chaque macro.

Un exemple de création d'un groupe de macros est illustré à la Figure 11.8.

Graphique 11.8. Implémentation d'un groupe de macros

4. Exécuter une macro

Il existe de nombreuses façons d'exécuter des macros.

Parmi eux, il existe des moyens par lesquels la macro est exécutée par l'utilisateur. Ces méthodes sont principalement utilisées lors du test de macros.

Après avoir débogué une macro, un bouton de commande dans un formulaire est créé pour l'exécuter, une commande de menu ou un bouton sur une barre d'outils, ou une macro est associée à un événement dans un formulaire ou un état. Une macro peut être exécutée à partir d'une autre macro, ainsi que par programmation - à partir d'une procédure VBA.

Exécution d'une macro à partir du concepteur de macros.

Pour exécuter une macro simple ou la première macro d'un groupe, cliquez sur le bouton Lancer dans la barre d'outils Constructeur de macros.

Pour exécuter n'importe quelle macro du groupe, exécutez la commande Services | Macro | Exécuter la macro... et dans le dialogue Lancer macro sélectionnez le nom de la macro.

Exécution d'une macro à partir de la fenêtre de la base de données.

Pour exécuter une macro simple ou la première macro d'un groupe, allez dans l'onglet Macro, sélectionnez une macro et cliquez sur le bouton Lancer dans la fenêtre de la base de données.

Voir ci-dessus pour lancer n'importe quelle macro du groupe.

1. Ouvrez le formulaire ou l'état en mode Constructeur.

2. Sélectionnez l'objet d'automatisation (champ, formulaire ou état, partie du formulaire ou état).

3. Ouvrir une boîte de dialogue Propriétés de l'objet.

4. Sélectionnez un événement dans l'onglet Développements auquel la macro est affectée.

5. Sélectionnez le nom complet de la macro dans la liste.

La macro s'exécutera chaque fois qu'un événement se produit pour lequel la macro est affectée. Un exemple d'affectation d'une macro à un événement est illustré à la Figure 11.9.

Graphique 11.9. Affectation d'une macro à un événement

Macro nommée Autoexec démarre automatiquement à l'ouverture de la base de données. Pour annuler les actions spécifiées dans cette macro, vous devez ouvrir la base de données en appuyant sur la touche > .

Macro fait référence à un ensemble d'une ou plusieurs commandes qui effectuent certaines opérations fréquemment utilisées, telles que l'ouverture de formulaires ou l'impression de rapports. Les macros peuvent être utiles pour automatiser les actions fréquemment effectuées. Si vous enregistrez ces actions en tant que macro, elles seront exécutées automatiquement lorsque vous exécuterez la macro. Par exemple, lorsque l'utilisateur clique sur un bouton, vous pouvez exécuter une macro qui imprime un rapport ou affiche un formulaire. Macro- le composant principal d'une macro, une instruction qui, seule ou en combinaison avec d'autres macros, détermine les actions effectuées dans une macro (parfois les macros sont simplement appelées macro commandes). Les séries de macros qui composent une macro sont exécutées à chaque exécution.

Pour créer une macro dans la fenêtre de la base de données, sélectionnez l'onglet Macro et appuyez sur le bouton Créer... Une fenêtre de conception de macros apparaîtra (Fig. 3.37). Il a deux colonnes : Macro et Note. Dans la colonne Macro liste les commandes à exécuter. De sorte que dans une cellule de colonne Macro définissez la commande macro requise, elle doit être sélectionnée dans la liste. Colonne Noter, contient des commentaires pour les commandes. Il est ignoré lors de l'exécution d'une macro, mais le remplir rend le texte de la macro plus clair.

Riz. 3.37. Vue de la fenêtre macro.

L'exécution de chaque macro dépend de son arguments(certaines macros n'ont pas d'arguments). Les arguments sont saisis dans des champs spécialement désignés situés au bas de la fenêtre de macro. Les arguments peuvent être saisis à l'aide du clavier, cependant, si possible, il est préférable de les sélectionner dans une liste pour éviter des valeurs incorrectes. N'oubliez pas que l'action d'une macro-commande qui ne spécifie pas d'objet cible s'applique à l'objet actif.

Il y a ce qui suit technique de création de macro rapide qui exécute des actions sur un objet de base de données spécifique. Vous devez sélectionner un objet dans la fenêtre de la base de données et le déplacer avec la souris vers la cellule macro de la fenêtre macro.

Pour cela, positionnez la fenêtre de la base de données et la fenêtre de la macro côte à côte à l'écran à l'aide de la commande De haut en bas ou alors De gauche à droite du menu La fenêtre... Sélectionnez ensuite l'onglet correspondant dans la fenêtre de la base de données, sélectionnez l'objet et déplacez son icône avec la souris vers la cellule macro. Par exemple, pour créer une macro qui ouvre un formulaire, utilisez la souris pour faire glisser l'icône du formulaire de la fenêtre de la base de données vers la cellule de la macro. Lorsque vous faites glisser une icône de macro dans une cellule de macro, vous entrez une commande de macro qui exécute cette macro, et lorsque vous faites glisser des icônes pour d'autres objets (tables, requêtes, formulaires, rapports ou modules), une macro est ajoutée à la macro qui ouvre cet objet.

Exécution de macros peut démarrer sur commande utilisateur, lorsqu'il est appelé à partir d'une autre macro ou procédure événementielle, ou en réponse à un événement sur un formulaire, un état ou un contrôle. Par exemple, vous pouvez affecter le lancement d'une macro à un bouton d'un formulaire, de sorte que la macro sera exécutée lors de l'appui sur ce bouton. Il est également permis de créer une commande de menu spéciale ou un bouton sur la barre d'outils qui lance une macro ; définir un raccourci clavier pour exécuter une macro et exécuter automatiquement une macro lorsque la base de données est ouverte.

Pour exécuter une macro à partir d'une fenêtre Constructeur de macros, vous devez appuyer sur le bouton. Pour exécuter la macro à partir de la fenêtre de la base de données, sélectionnez l'onglet Macro, activez le nom de la macro et appuyez sur le bouton Lancer dans la fenêtre de la base de données (vous pouvez également double-cliquer sur le nom de la macro à exécuter).