Πώς να δημιουργήσετε και να εισάγετε σχήματα στο PowerPoint με VBA;

Πριν από μερικές μέρες, ήθελα να αυτοματοποιήσω τη μάλλον πεζή εργασία της δημιουργίας κάποιων διαφανειών του PowerPoint. Κατά την αυτοματοποίηση του PowerPoint, συνήθως εργάζεστε με τη συλλογή Slides and Shapes. Οι διαφάνειες είναι μάλλον αυτονόητες και τα σχήματα είναι σχεδόν οτιδήποτε άλλο, συμπεριλαμβανομένων των πλαισίων κειμένου, των κουμπιών ενεργειών, των αντικειμένων πολυμέσων, των ετικετών, των εικόνων, των μηνυμάτων, των διαγραμμάτων ροής και ούτω καθεξής. Αν και θα παρουσιάσω τις τεχνικές με το PowerPoint, κάποια από τη σύνταξη είναι στην πραγματικότητα αρκετά εφαρμόσιμη στο Microsoft Word και στο Excel.

Απλώς για να ανακεφαλαιώσουμε, προτού ξεκινήσετε με την ανάπτυξη μακροεντολών VBA στο PowerPoint, πρέπει να ενεργοποιήσετε την καρτέλα ανάπτυξης .

Αρχικά, ας ξεκινήσουμε δημιουργώντας αυτόματα μια παρουσίαση με μερικές διαφάνειες όπως φαίνεται σε αυτό το σεμινάριο: δημιουργία παρουσίασης σε VBA .

Τώρα μπορούμε να αρχίσουμε να δουλεύουμε με τα σχήματα. Αρχικά, ας προχωρήσουμε και ας ανοίξουμε τον Επεξεργαστή VBA πατώντας Alt+ F11. Εάν ακολουθήσατε το προηγούμενο σεμινάριο, θα πρέπει να έχετε την ενότητα 1 στη λίστα Ενοτήτων (όπως φαίνεται παρακάτω)

Εργασία με σχήματα με VBA

Προσθήκη πλαισίου κειμένου με VBA

Θα ξεκινήσουμε προσθέτοντας ένα κατακόρυφο πλαίσιο κειμένου στην πρώτη μας διαφάνεια στην παρουσίαση. Προσθέστε τον ακόλουθο κώδικα στο Module1, μετά προχωρήστε και πατήστε το κουμπί Αποθήκευση (Ctrl+s) και Εκτελέστε τη μακροεντολή σας (πατήστε F5 ή πατήστε Εκτέλεση υπο/χρήστη φόρμα).

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

Σημειώστε ότι μπορείτε να αλλάξετε το μέγεθος των διαστάσεων του πλαισίου κειμένου αρκετά εύκολα με το VBA. Σε αυτήν την περίπτωση, θα αλλάξουμε το μέγεθος του πρώτου σχήματος στη δεύτερη διαφάνεια, μη διστάσετε να το τροποποιήσετε όπως χρειάζεται.

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

Εφέ κειμένου με VBA

Ας υποθέσουμε τώρα ότι θέλουμε να προσθέσουμε ένα πλαίσιο κειμένου σε όλες τις διαφάνειες της παρουσίασης, αυτή τη φορά λίγο πιο ελκυστικό οπτικά. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε το VBA για να δημιουργήσουμε προσαρμοσμένα εφέ κειμένου τα οποία μπορούμε να ενσωματώσουμε σε μία ή περισσότερες διαφάνειες στην παρουσίαση. Πρώτα θα κάνουμε κύκλο στις διαφάνειες της παρουσίασης και στη συνέχεια θα προσθέσουμε το εφέ κειμένου όπως απαιτείται.

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

Ιδού το αποτέλεσμα ;-):

Πώς να δημιουργήσετε και να εισάγετε σχήματα στο PowerPoint με VBA;

Σημειώστε ότι μπορείτε επίσης να χρησιμοποιήσετε ένα απλό υδατογράφημα για να επιτύχετε αυτό το συγκεκριμένο αποτέλεσμα.

Επεξηγήσεις PowerPoint με VBA

Το επόμενο παράδειγμα μας θα είναι η προσθήκη μηνυμάτων προώθησης στην παρουσίασή σας. Σε αυτό το παράδειγμα θα προσθέσουμε ένα μήνυμα στη δεύτερη διαφάνεια.

Sub CreateCallout()

ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _  Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"

End Sub

Ρύθμιση ιδιοτήτων για ένα σχήμα

Πολλές ιδιότητες μορφοποίησης σχημάτων δεν ορίζονται από ιδιότητες που ισχύουν απευθείας στο  αντικείμενο Shape  ή  ShapeRange  . Αντίθετα, τα σχετικά χαρακτηριστικά σχήματος ομαδοποιούνται σε δευτερεύοντα αντικείμενα, όπως το  αντικείμενο FillFormat  , το οποίο περιέχει όλες τις ιδιότητες που σχετίζονται με το γέμισμα του σχήματος ή το  αντικείμενο LinkFormat  , το οποίο περιέχει όλες τις ιδιότητες που είναι μοναδικές για συνδεδεμένα αντικείμενα OLE. Για να ορίσετε ιδιότητες για ένα σχήμα, πρέπει πρώτα να επιστρέψετε το αντικείμενο που αντιπροσωπεύει το σύνολο των σχετικών χαρακτηριστικών σχήματος και, στη συνέχεια, να ορίσετε ιδιότητες αυτού του επιστρεφόμενου αντικειμένου. Για παράδειγμα, χρησιμοποιείτε την  ιδιότητα Fill  για να επιστρέψετε το  αντικείμενο FillFormat  και, στη συνέχεια, ορίζετε την  ιδιότητα ForeColor  του  αντικειμένου FillFormat  για να ορίσετε το χρώμα προσκηνίου γέμισης για το καθορισμένο σχήμα, όπως φαίνεται στο ακόλουθο παράδειγμα.

VB

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

Εφαρμογή μιας ιδιότητας ή μιας μεθόδου σε πολλά σχήματα ταυτόχρονα

Στη διεπαφή χρήστη, υπάρχουν ορισμένες λειτουργίες που μπορείτε να εκτελέσετε με επιλεγμένα διάφορα σχήματα. για παράδειγμα, μπορείτε να επιλέξετε πολλά σχήματα και να ορίσετε όλα τα μεμονωμένα γεμίσματα ταυτόχρονα. Υπάρχουν άλλες λειτουργίες που μπορείτε να εκτελέσετε μόνο με επιλεγμένο ένα σχήμα. για παράδειγμα, μπορείτε να επεξεργαστείτε το κείμενο σε σχήμα μόνο εάν έχει επιλεγεί ένα μεμονωμένο σχήμα.

Στη Visual Basic, υπάρχουν δύο τρόποι για να εφαρμόσετε ιδιότητες και μεθόδους σε ένα σύνολο σχημάτων. Αυτοί οι δύο τρόποι σάς επιτρέπουν να εκτελέσετε οποιαδήποτε λειτουργία που μπορείτε να εκτελέσετε σε ένα μεμονωμένο σχήμα σε μια σειρά σχημάτων, είτε μπορείτε να εκτελέσετε την ίδια λειτουργία στη διεπαφή χρήστη είτε όχι.

  • Εάν η λειτουργία λειτουργεί σε πολλά επιλεγμένα σχήματα στη διεπαφή χρήστη, μπορείτε να εκτελέσετε την ίδια λειτουργία στη Visual Basic δημιουργώντας μια  συλλογή ShapeRange  που περιέχει τα σχήματα με τα οποία θέλετε να εργαστείτε και εφαρμόζοντας τις κατάλληλες ιδιότητες και μεθόδους απευθείας στη  συλλογή ShapeRange  .

  • Εάν η λειτουργία δεν λειτουργεί σε πολλά επιλεγμένα σχήματα στη διεπαφή χρήστη, μπορείτε ακόμα να εκτελέσετε τη λειτουργία στη Visual Basic κάνοντας κύκλο στη  συλλογή Shapes  ή μέσω μιας  συλλογής ShapeRange  που περιέχει τα σχήματα με τα οποία θέλετε να εργαστείτε κα�� εφαρμόζοντας τις κατάλληλες ιδιότητες και μεθόδους για τα μεμονωμένα  αντικείμενα Shape  στη συλλογή.

Πολλές ιδιότητες και μέθοδοι που ισχύουν για το  αντικείμενο Shape  και  τη συλλογή ShapeRange  αποτυγχάνουν εάν εφαρμοστούν σε ορισμένα είδη σχημάτων. Για παράδειγμα, η  ιδιότητα TextFrame  αποτυγχάνει εάν εφαρμοστεί σε ένα σχήμα που δεν μπορεί να περιέχει κείμενο. Εάν δεν είστε βέβαιοι ότι κάθε σχήμα σε μια  συλλογή ShapeRange  μπορεί να έχει μια συγκεκριμένη ιδιότητα ή μέθοδο που εφαρμόζεται σε αυτό, μην εφαρμόσετε την ιδιότητα ή τη μέθοδο στη  συλλογή ShapeRange  . Εάν θέλετε να εφαρμόσετε μία από αυτές τις ιδιότητες ή μεθόδους σε μια συλλογή σχημάτων, πρέπει να κάνετε κύκλο στη συλλογή και να δοκιμάσετε κάθε μεμονωμένο σχήμα για να βεβαιωθείτε ότι είναι κατάλληλος τύπος σχήματος πριν εφαρμόσετε την ιδιότητα ή τη μέθοδο σε αυτό.

Εφαρμογή μιας ιδιότητας ή μιας μεθόδου σε μια συλλογή ShapeRange

Εάν μπορείτε να εκτελέσετε μια λειτουργία σε πολλά επιλεγμένα σχήματα στη διεπαφή χρήστη ταυτόχρονα, μπορείτε να κάνετε το ισοδύναμο μέσω προγραμματισμού κατασκευάζοντας μια  συλλογή ShapeRange  και στη συνέχεια εφαρμόζοντας τις κατάλληλες ιδιότητες ή μεθόδους σε αυτήν. Το παρακάτω παράδειγμα κατασκευάζει ένα εύρος σχημάτων που περιέχει τα AutoShapes με το όνομα "Big Star" και "Little Star" και εφαρμόζει ένα γέμισμα διαβάθμισης σε αυτά και εφαρμόζει ένα γέμισμα διαβάθμισης σε αυτά.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
Set myRange = myDocument.Shapes _ 
    .Range(Array("Big Star", "Little Star")) 
myRange.Fill.PresetGradient msoGradientHorizontal, _ 
    1, msoGradientBrass

Ακολουθούν γενικές οδηγίες για το πώς συμπεριφέρονται οι ιδιότητες και οι μέθοδοι όταν εφαρμόζονται σε μια   συλλογή ShapeRange .

  • Η εφαρμογή μιας μεθόδου στη συλλογή ισοδυναμεί με την εφαρμογή της μεθόδου σε κάθε μεμονωμένο  αντικείμενο Shape  σε αυτήν τη συλλογή.

  • Ο ορισμός της τιμής μιας ιδιότητας της συλλογής είναι ισοδύναμος με τον ορισμό της τιμής της ιδιότητας κάθε μεμονωμένου σχήματος σε αυτό το εύρος.

  • Μια ιδιότητα της συλλογής που επιστρέφει μια σταθερά επιστρέφει την τιμή της ιδιότητας για ένα μεμονωμένο σχήμα στη συλλογή εάν όλα τα σχήματα της συλλογής έχουν την ίδια τιμή για αυτήν την ιδιότητα. Εάν δεν έχουν όλα τα σχήματα της συλλογής την ίδια τιμή για την ιδιότητα, επιστρέφει τη σταθερά "μικτή".

  • Μια ιδιότητα της συλλογής που επιστρέφει έναν απλό τύπο δεδομένων (όπως  LongSingle ή  String ) επιστρέφει την τιμή της ιδιότητας για ένα μεμονωμένο σχήμα εάν όλα τα σχήματα της συλλογής έχουν την ίδια τιμή για αυτήν την ιδιότητα.

  • Η τιμή ορισμένων ιδιοτήτων μπορεί να επιστραφεί ή να οριστεί μόνο εάν υπάρχει ακριβώς ένα σχήμα στη συλλογή. Εάν υπάρχουν περισσότερα από ένα σχήματα στη συλλογή, παρουσιάζεται σφάλμα χρόνου εκτέλεσης. Αυτό ισχύει γενικά για την επιστροφή ή τη ρύθμιση ιδιοτήτων όταν η ισοδύναμη ενέργεια στη διεπαφή χρήστη είναι δυνατή μόνο με ένα μόνο σχήμα (ενέργειες όπως η επεξεργασία κειμένου σε ένα σχήμα ή η επεξεργασία των σημείων μιας ελεύθερης μορφής).

Οι προηγούμενες οδηγίες ισχύουν επίσης όταν ορίζετε ιδιότητες σχημάτων που ομαδοποιούνται σε δευτερεύοντα αντικείμενα της  συλλογής ShapeRange  , όπως το  αντικείμενο FillFormat  . Εάν το δευτερεύον αντικείμενο αντιπροσωπεύει λειτουργίες που μπορούν να εκτελεστούν σε πολλά επιλεγμένα αντικείμενα στη διεπαφή χρήστη, θα μπορείτε να επιστρέψετε το αντικείμενο από μια  συλλογή ShapeRange  και να ορίσετε τις ιδιότητές του. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την  ιδιότητα Fill  για να επιστρέψετε το  αντικείμενο FillFormat  που αντιπροσωπεύει τα γεμίσματα όλων των σχημάτων στη  συλλογή ShapeRange  . Η ρύθμιση των ιδιοτήτων αυτού  του αντικειμένου FillFormat  θα ορίσει τις ίδιες ιδιότητες για όλα τα μεμονωμένα σχήματα στη  συλλογή ShapeRange  .

Περιήγηση σε μια συλλογή Shapes ή ShapeRange

Ακόμα κι αν δεν μπορείτε να εκτελέσετε μια λειτουργία σε πολλά σχήματα στη διεπαφή χρήστη ταυτόχρονα, επιλέγοντάς τα και στη συνέχεια χρησιμοποιώντας μια εντολή, μπορείτε να εκτελέσετε την αντίστοιχη ενέργεια μέσω προγραμματισμού κάνοντας loop μέσω της  συλλογής Shapes  ή μέσω μιας   συλλογής ShapeRange που περιέχει τα σχήματα που θέλετε να εργαστείτε και να εφαρμόσετε τις κατάλληλες ιδιότητες και μεθόδους στα μεμονωμένα  αντικείμενα Shape  στη συλλογή. Το παρακάτω παράδειγμα κάνει κύκλους σε όλα τα σχήματα και προσθέτει κείμενο σε κάθε σχήμα που είναι AutoShape. και προσθέτει κείμενο σε κάθε σχήμα που είναι AutoShape.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

Το παρακάτω παράδειγμα κατασκευάζει  τη συλλογή ShapeRange  που περιέχει όλα τα επιλεγμένα σχήματα στο ενεργό παράθυρο και ορίζει το κείμενο σε κάθε σχήμα της συλλογής που μπορεί να περιέχει κείμενο.

VB

For Each sh in ActiveWindow.Selection.ShapeRange
    If sh.HasTextFrame Then
        sh.TextFrame.TextRange = "Initially selected"
    End If
Next

Ευθυγράμμιση, διανομή και ομαδοποίηση σχημάτων σε ένα εύρος σχημάτων

Χρησιμοποιήστε τις  μεθόδους Στοίχιση  και  κατανομή  για να τοποθετήσετε ένα σύνολο σχημάτων σε σχέση μεταξύ τους ή σε σχέση με το έγγραφο που τα περιέχει. Χρησιμοποιήστε τη  μέθοδο Group  ή τη  μέθοδο Regroup  για να σχηματίσετε ένα ενιαίο ομαδοποιημένο σχήμα από ένα σύνολο σχημάτων.


Οδηγίες για ακρόαση μουσικής στους Χάρτες Google

Οδηγίες για ακρόαση μουσικής στους Χάρτες Google

Οδηγίες για την ακρόαση μουσικής στους Χάρτες Google Επί του παρόντος, οι χρήστες μπορούν να ταξιδέψουν και να ακούσουν μουσική χρησιμοποιώντας την εφαρμογή Google Map στο iPhone. Σήμερα, το WebTech360 σας προσκαλεί

Οδηγίες για τη χρήση της υπηρεσίας ηλεκτρονικής αποθήκευσης LifeBOX - Viettel

Οδηγίες για τη χρήση της υπηρεσίας ηλεκτρονικής αποθήκευσης LifeBOX - Viettel

Οδηγίες για τη χρήση του LifeBOX - Η διαδικτυακή υπηρεσία αποθήκευσης της Viettel, το LifeBOX είναι μια νέα διαδικτυακή υπηρεσία αποθήκευσης της Viettel με πολλά ανώτερα χαρακτηριστικά

Πώς να ενημερώσετε την κατάσταση στο Facebook Messenger

Πώς να ενημερώσετε την κατάσταση στο Facebook Messenger

Πώς να ενημερώσετε την κατάσταση στο Facebook Messenger, το Facebook Messenger στην πιο πρόσφατη έκδοση παρείχε στους χρήστες μια εξαιρετικά χρήσιμη δυνατότητα: αλλαγή

Οδηγίες για το παιχνίδι με κάρτες Werewolf Online στον υπολογιστή

Οδηγίες για το παιχνίδι με κάρτες Werewolf Online στον υπολογιστή

Οδηγίες για το παιχνίδι καρτών Werewolf Online στον υπολογιστή, Οδηγίες για λήψη, εγκατάσταση και αναπαραγωγή του Werewolf Online στον υπολογιστή μέσω του εξαιρετικά απλού εξομοιωτή LDPlayer.

Οδηγίες για τη διαγραφή Ιστοριών που δημοσιεύτηκαν στο Instagram

Οδηγίες για τη διαγραφή Ιστοριών που δημοσιεύτηκαν στο Instagram

Οδηγίες για τη διαγραφή Ιστοριών που δημοσιεύτηκαν στο Instagram Αν θέλετε να διαγράψετε μια ιστορία στο Instagram αλλά δεν ξέρετε πώς; Σήμερα WebTech360

Οδηγίες για την προσθήκη επιλεγμένων φωτογραφιών στο Facebook

Οδηγίες για την προσθήκη επιλεγμένων φωτογραφιών στο Facebook

Οδηγίες για την προσθήκη επιλεγμένων εικόνων στο Facebook Επί του παρόντος, το Facebook μας επιτρέπει να ορίζουμε επιλεγμένες εικόνες στις προσωπικές μας σελίδες. Εδώ σας προσκαλούμε

Πώς να διορθώσετε το σφάλμα Windows Quick Assist που δεν λειτουργεί

Πώς να διορθώσετε το σφάλμα Windows Quick Assist που δεν λειτουργεί

Πώς να διορθώσετε το σφάλμα Windows Quick Assist που δεν λειτουργεί, το Windows Quick Assist σάς βοηθά να συνδεθείτε εύκολα σε έναν απομακρυσμένο υπολογιστή. Ωστόσο, μερικές φορές δημιουργεί και σφάλματα. Αλλά,

Οδηγίες για την ενεργοποίηση/απενεργοποίηση της μίξης τραγουδιών στο Spotify

Οδηγίες για την ενεργοποίηση/απενεργοποίηση της μίξης τραγουδιών στο Spotify

Οδηγίες για την ενεργοποίηση/απενεργοποίηση της μίξης τραγουδιών στο Spotify, Για να βοηθήσετε τους χρήστες να αλλάξουν γρήγορα τη σειρά των τραγουδιών στην παραπάνω λίστα αναπαραγωγής μουσικής

Οδηγίες για κρυφή εγγραφή ήχου στο iPhone

Οδηγίες για κρυφή εγγραφή ήχου στο iPhone

Οδηγίες για μυστική εγγραφή στο iPhone, Επί του παρόντος, οι χρήστες iPhone μπορούν να κάνουν κρυφή εγγραφή αγγίζοντας το πίσω μέρος του τηλεφώνου. Σήμερα, το WebTech360 σας προσκαλεί

Πώς να χρησιμοποιήσετε το Mixamo για να κάνετε κίνηση προσαρμοσμένων μοντέλων 3D

Πώς να χρησιμοποιήσετε το Mixamo για να κάνετε κίνηση προσαρμοσμένων μοντέλων 3D

Πώς να χρησιμοποιήσετε το Mixamo για να δημιουργήσετε κινούμενα σχέδια προσαρμοσμένων μοντέλων 3D Με το Mixamo, μπορείτε εύκολα να εισαγάγετε ένα μοντέλο 3D και να εφαρμόσετε εφέ κίνησης σε αυτό. Ακολουθούν οδηγίες χρήσης