Gingembre 2.7.53.0
Ginger est un vérificateur d'orthographe et de grammaire gratuit.
Il y a quelques jours, je voulais automatiser la tâche plutôt banale de créer des diapositives PowerPoint. Lors de l'automatisation de PowerPoint, vous travaillez généralement avec la collection Slides and Shapes. Les diapositives sont plutôt explicites et les formes sont à peu près tout le reste, y compris les zones de texte, les boutons d'action, les objets multimédias, les étiquettes, les images, les légendes, les organigrammes, etc. Bien que je présente les techniques avec PowerPoint, une partie de la syntaxe est en fait assez applicable à Microsoft Word et Excel.
Pour récapituler, avant de commencer le développement de macros VBA dans PowerPoint, vous devez activer votre onglet de développement .
Tout d'abord, commençons par créer automatiquement une présentation avec quelques diapositives comme indiqué dans ce tutoriel : création d'une présentation en VBA .
Nous pouvons maintenant commencer à travailler avec Shapes. Tout d'abord, allons-y et ouvrons l'éditeur VBA en appuyant sur Alt + F11. Si vous avez suivi le didacticiel précédent, vous devriez avoir le module 1 dans votre liste de modules (comme indiqué ci-dessous).
Travailler avec des formes avec VBA
Ajouter une zone de texte avec VBA
Nous allons commencer par ajouter une zone de texte verticale à notre première diapositive de la présentation. Ajoutez le code suivant au Module1, puis continuez et appuyez sur le bouton Enregistrer (Ctrl + s) et exécutez votre macro (appuyez sur F5 ou appuyez sur Exécuter sous/formulaire utilisateur).
Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)
With MySlide.Shapes
.AddTextbox(Orientation:=msoTextOrientationVertical, _
Left:=90, Top:=200, Width:=80, _
Height:=200).TextFrame.TextRange.Text _
= ("This is my vertical text box")
End With
End Sub
Notez que vous pouvez redimensionner assez facilement les dimensions de votre zone de texte avec VBA. Dans ce cas, nous redimensionnerons la première forme dans la deuxième diapositive, n'hésitez pas à la modifier si nécessaire.
Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)
'Add your required dimensions as needed below
With MyShape
.Width = 200
.Height = 35
End With
End Sub
Effets de texte avec VBA
Supposons maintenant que nous voulions ajouter une zone de texte à toutes les diapositives de la présentation, cette fois un peu plus attrayante visuellement. Pour ce faire, nous utiliserons VBA pour créer des effets de texte personnalisés que nous pourrons intégrer dans une ou plusieurs diapositives de la présentation. Nous allons d'abord parcourir les diapositives de la présentation, puis ajouter l'effet de texte si nécessaire.
Sub SetEffects()
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(i) _
.Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
"Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next
End Sub
Voici le résultat ;-):
Notez que vous pouvez tout aussi bien utiliser un simple filigrane pour obtenir ce résultat spécifique.
Légendes PowerPoint avec VBA
Notre prochain exemple consistera à ajouter des légendes à votre présentation. Dans cet exemple, nous ajouterons une légende à la deuxième diapositive.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
De nombreuses propriétés de mise en forme des formes ne sont pas définies par des propriétés qui s'appliquent directement à l' objet Shape ou ShapeRange . Au lieu de cela, les attributs de forme associés sont regroupés sous des objets secondaires, tels que l' objet FillFormat , qui contient toutes les propriétés liées au remplissage de la forme, ou l' objet LinkFormat , qui contient toutes les propriétés uniques aux objets OLE liés. Pour définir les propriétés d'une forme, vous devez d'abord renvoyer l'objet qui représente l'ensemble des attributs de forme associés, puis définir les propriétés de cet objet renvoyé. Par exemple, vous utilisez la propriété Fill pour renvoyer l’ objet FillFormat , puis vous définissez la propriété ForeColor de l’ objet FillFormat pour définir la couleur de premier plan de remplissage pour la forme spécifiée, comme illustré dans l’exemple suivant.
VB
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
Dans l'interface utilisateur, vous pouvez effectuer certaines opérations avec plusieurs formes sélectionnées ; par exemple, vous pouvez sélectionner plusieurs formes et définir simultanément tous leurs remplissages individuels. Il existe d'autres opérations que vous ne pouvez effectuer qu'avec une seule forme sélectionnée ; par exemple, vous ne pouvez modifier le texte d'une forme que si une seule forme est sélectionnée.
Dans Visual Basic, il existe deux manières d’appliquer des propriétés et des méthodes à un ensemble de formes. Ces deux méthodes vous permettent d'effectuer n'importe quelle opération que vous pouvez effectuer sur une seule forme sur une plage de formes, que vous puissiez ou non effectuer la même opération dans l'interface utilisateur.
Si l'opération fonctionne sur plusieurs formes sélectionnées dans l'interface utilisateur, vous pouvez effectuer la même opération dans Visual Basic en construisant une collection ShapeRange qui contient les formes avec lesquelles vous souhaitez travailler et en appliquant les propriétés et méthodes appropriées directement à la collection ShapeRange .
Si l'opération ne fonctionne pas sur plusieurs formes sélectionnées dans l'interface utilisateur, vous pouvez toujours effectuer l'opération dans Visual Basic en parcourant la collection Shapes ou via une collection ShapeRange qui contient les formes avec lesquelles vous souhaitez travailler et en appliquant les propriétés appropriées. et des méthodes pour les objets Shape individuels de la collection.
De nombreuses propriétés et méthodes qui s’appliquent à l’ objet Shape et à la collection ShapeRange échouent si elles sont appliquées à certains types de formes. Par exemple, la propriété TextFrame échoue si elle est appliquée à une forme qui ne peut pas contenir de texte. Si vous n’êtes pas sûr qu’une certaine propriété ou méthode puisse lui être appliquée à chaque forme d’une collection ShapeRange , n’appliquez pas la propriété ou la méthode à la collection ShapeRange . Si vous souhaitez appliquer l'une de ces propriétés ou méthodes à une collection de formes, vous devez parcourir la collection et tester chaque forme individuelle pour vous assurer qu'il s'agit d'un type de forme approprié avant de lui appliquer la propriété ou la méthode.
Si vous pouvez effectuer une opération sur plusieurs formes sélectionnées dans l'interface utilisateur en même temps, vous pouvez effectuer l'équivalent programmatique en construisant une collection ShapeRange , puis en lui appliquant les propriétés ou méthodes appropriées. L'exemple suivant construit une plage de formes qui contient les formes automatiques nommées « Grande étoile » et « Petite étoile » et leur applique un remplissage dégradé et leur applique un remplissage dégradé.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Voici des directives générales sur le comportement des propriétés et des méthodes lorsqu'elles sont appliquées à une collection ShapeRange .
Appliquer une méthode à la collection équivaut à appliquer la méthode à chaque objet Shape individuel de cette collection.
Définir la valeur d'une propriété de la collection équivaut à définir la valeur de la propriété de chaque forme individuelle dans cette plage.
Une propriété de la collection qui renvoie une constante renvoie la valeur de la propriété pour une forme individuelle de la collection si toutes les formes de la collection ont la même valeur pour cette propriété. Si toutes les formes de la collection n’ont pas la même valeur pour la propriété, la constante « mixte » est renvoyée.
Une propriété de la collection qui renvoie un type de données simple (tel que Long , Single ou String ) renvoie la valeur de la propriété pour une forme individuelle si toutes les formes de la collection ont la même valeur pour cette propriété.
La valeur de certaines propriétés peut être renvoyée ou définie uniquement s'il existe exactement une forme dans la collection. S’il existe plusieurs formes dans la collection, une erreur d’exécution se produit. C'est généralement le cas pour renvoyer ou définir des propriétés lorsque l'action équivalente dans l'interface utilisateur n'est possible qu'avec une seule forme (actions telles que l'édition de texte dans une forme ou l'édition des points d'une forme libre).
Les instructions précédentes s'appliquent également lorsque vous définissez les propriétés des formes regroupées sous des objets secondaires de la collection ShapeRange , tels que l' objet FillFormat . Si l'objet secondaire représente des opérations pouvant être effectuées sur plusieurs objets sélectionnés dans l'interface utilisateur, vous pourrez renvoyer l'objet d'une collection ShapeRange et définir ses propriétés. Par exemple, vous pouvez utiliser la propriété Fill pour renvoyer l' objet FillFormat qui représente les remplissages de toutes les formes de la collection ShapeRange . La définition des propriétés de cet objet FillFormat définira les mêmes propriétés pour toutes les formes individuelles de la collection ShapeRange .
Même si vous ne pouvez pas effectuer une opération sur plusieurs formes dans l'interface utilisateur en même temps en les sélectionnant puis en utilisant une commande, vous pouvez effectuer l'action équivalente par programme en parcourant la collection Shapes ou via une collection ShapeRange qui contient les formes que vous souhaitez. vous souhaitez travailler et appliquer les propriétés et méthodes appropriées aux objets Shape individuels de la collection. L’exemple suivant parcourt toutes les formes et ajoute du texte à chaque forme qui est une forme automatique. et ajoute du texte à chaque forme qui est une forme automatique.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.TextFrame.TextRange.InsertAfter " (version 1)"
End If
Next
L'exemple suivant construit la collection ShapeRange qui contient toutes les formes actuellement sélectionnées dans la fenêtre active et définit le texte de chaque forme de la collection pouvant contenir du texte.
VB
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Utilisez les méthodes Aligner et Distribuer pour positionner un ensemble de formes les unes par rapport aux autres ou par rapport au document qui les contient. Utilisez la méthode Group ou la méthode Regroup pour former une seule forme groupée à partir d’un ensemble de formes.
Ginger est un vérificateur d'orthographe et de grammaire gratuit.
Blocks est un jeu intellectuel permettant aux élèves de 3e année du primaire de mettre en pratique leurs compétences de détection et de vision. Il est inclus par les enseignants dans le programme de soutien pédagogique en informatique.
Prezi est une application gratuite qui vous permet de créer des présentations numériques, en ligne et hors ligne.
Mathway est une application très utile qui peut t'aider à résoudre tous ces problèmes mathématiques qui nécessitent un outil plus complexe que la calculatrice intégrée de ton appareil.
Adobe Presenter est un logiciel d'apprentissage en ligne publié par Adobe Systems, disponible sur la plate-forme Microsoft Windows en tant que plug-in Microsoft PowerPoint.
Toucan est une plateforme technologique éducative. Il vous permet d'apprendre une nouvelle langue tout en parcourant des sites Web courants et quotidiens.
eNetViet est une application qui permet de connecter les parents avec l'école où étudient leurs enfants afin qu'ils puissent comprendre clairement la situation d'apprentissage actuelle de leur enfant.
Duolingo - Apprendre des langues gratuitement, ou simplement Duolingo, est un programme éducatif qui vous permet d'apprendre et de pratiquer de nombreuses langues différentes.
RapidTyping est un outil de formation au clavier pratique et facile à utiliser qui vous aidera à améliorer votre vitesse de frappe et à réduire les fautes d'orthographe. Avec des cours organisés pour de nombreux niveaux différents, RapidTyping vous apprendra à taper ou à améliorer les compétences existantes.
MathType est un logiciel d'équation interactif du développeur Design Science (Dessci), qui vous permet de créer et d'annoter des notations mathématiques pour le traitement de texte, les présentations, le eLearning, etc. Cet éditeur est également utilisé pour créer des documents TeX, LaTeX et MathML.