Zenzero 2.7.53.0
Ginger è un correttore ortografico e grammaticale gratuito.
Un paio di giorni fa, volevo automatizzare il compito piuttosto banale di creare alcune diapositive di PowerPoint. Quando si automatizza PowerPoint, in genere si lavora con la raccolta Presentazioni e forme. Presentazioni è piuttosto autoesplicativo e le forme sono praticamente tutto il resto, inclusi caselle di testo, pulsanti di azione, oggetti multimediali, etichette, immagini, callout, diagrammi di flusso e così via. Anche se mostrerò le tecniche con PowerPoint, parte della sintassi è in realtà abbastanza applicabile a Microsoft Word ed Excel.
Solo per ricapitolare, prima di iniziare con lo sviluppo di macro VBA in PowerPoint è necessario che la scheda di sviluppo sia abilitata .
Innanzitutto, iniziamo creando automaticamente una presentazione con alcune diapositive come mostrato in questo tutorial: creazione di una presentazione in VBA .
Ora possiamo iniziare a lavorare con Shapes. Prima di tutto, andiamo avanti e apriamo l'editor VBA premendo Alt + F11. Se hai seguito il tutorial precedente, dovresti avere il modulo 1 nell'elenco dei moduli (come mostrato di seguito)
Lavorare con le forme con VBA
Aggiunta di una casella di testo con VBA
Inizieremo aggiungendo una casella di testo verticale alla nostra prima diapositiva nella presentazione. Aggiungi il codice seguente a Module1, quindi vai avanti e premi il pulsante Salva (Ctrl+s) ed Esegui la tua macro (premi F5 o premi Esegui modulo utente/sottoposto).
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
Nota che puoi ridimensionare le dimensioni della tua casella di testo abbastanza facilmente con VBA. In questo caso ridimensioneremo la prima forma nella seconda diapositiva, sentiti libero di modificare secondo necessità.
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
Effetti di testo con VBA
Assumiamo ora di voler aggiungere una casella di testo a tutte le diapositive della presentazione, questa volta un po' più visivamente accattivante. Per fare ciò utilizzeremo VBA per creare effetti di testo personalizzati che siamo in grado di incorporare in una o più diapositive della presentazione. Per prima cosa andremo a scorrere le diapositive della presentazione e quindi aggiungeremo l'effetto testo secondo necessità.
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
Ecco il risultato ;-):
Nota che potresti anche usare una semplice filigrana per ottenere questo risultato specifico.
Callout PowerPoint con VBA
Il nostro prossimo esempio sarà l'aggiunta di callout alla tua presentazione. In questo esempio aggiungeremo un callout alla seconda diapositiva.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
Molte proprietà di formattazione delle forme non vengono impostate dalle proprietà che si applicano direttamente all'oggetto Shape o ShapeRange . Gli attributi di forma correlati vengono invece raggruppati in oggetti secondari, ad esempio l' oggetto FillFormat , che contiene tutte le proprietà correlate al riempimento della forma, o l' oggetto LinkFormat , che contiene tutte le proprietà univoche degli oggetti OLE collegati. Per impostare le proprietà per una forma, è necessario prima restituire l'oggetto che rappresenta l'insieme di attributi della forma correlati e quindi impostare le proprietà dell'oggetto restituito. Ad esempio, utilizzi la proprietà Fill per restituire l' oggetto FillFormat , quindi imposti la proprietà ForeColor dell'oggetto FillFormat per impostare il colore di riempimento in primo piano per la forma specificata, come illustrato nell'esempio seguente.
V.B
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
Nell'interfaccia utente sono presenti alcune operazioni che è possibile eseguire con diverse forme selezionate; ad esempio, puoi selezionare più forme e impostare tutti i riempimenti individuali contemporaneamente. Esistono altre operazioni che puoi eseguire solo con una singola forma selezionata; ad esempio, puoi modificare il testo in una forma solo se è selezionata una singola forma.
In Visual Basic esistono due modi per applicare proprietà e metodi a un insieme di forme. Questi due modi consentono di eseguire qualsiasi operazione eseguibile su una singola forma in un intervallo di forme, indipendentemente dal fatto che sia possibile eseguire o meno la stessa operazione nell'interfaccia utente.
Se l'operazione funziona su più forme selezionate nell'interfaccia utente, è possibile eseguire la stessa operazione in Visual Basic costruendo una raccolta ShapeRange che contiene le forme con cui si desidera lavorare e applicando le proprietà e i metodi appropriati direttamente alla raccolta ShapeRange .
Se l'operazione non funziona su più forme selezionate nell'interfaccia utente, è comunque possibile eseguire l'operazione in Visual Basic scorrendo la raccolta Shapes o una raccolta ShapeRange che contiene le forme con cui si desidera lavorare e applicando le proprietà appropriate e metodi ai singoli oggetti Shape nella raccolta.
Molte proprietà e metodi applicabili all'oggetto Shape e alla raccolta ShapeRange falliscono se applicati a determinati tipi di forme. Ad esempio, la proprietà TextFrame ha esito negativo se applicata a una forma che non può contenere testo. Se non sei sicuro che a ogni forma in una raccolta ShapeRange possa essere applicata una determinata proprietà o metodo, non applicare la proprietà o il metodo alla raccolta ShapeRange . Se si desidera applicare una di queste proprietà o metodi a una raccolta di forme, è necessario scorrere la raccolta e testare ogni singola forma per assicurarsi che sia un tipo di forma appropriato prima di applicarvi la proprietà o il metodo.
Se è possibile eseguire contemporaneamente un'operazione su più forme selezionate nell'interfaccia utente, è possibile eseguire l'equivalente a livello di codice costruendo una raccolta ShapeRange e quindi applicandovi le proprietà o i metodi appropriati. Nell'esempio seguente viene costruito un intervallo di forme che contiene le forme denominate "Big Star" e "Little Star" e applica loro un riempimento sfumato.myDocument
V.B
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Di seguito sono riportate linee guida generali sul comportamento di proprietà e metodi quando vengono applicati a una raccolta ShapeRange .
Applicare un metodo alla raccolta equivale ad applicare il metodo a ogni singolo oggetto Shape in quella raccolta.
Impostare il valore di una proprietà della collezione equivale a impostare il valore della proprietà di ogni singola forma presente in quell'intervallo.
Una proprietà della raccolta che restituisce una costante restituisce il valore della proprietà per una singola forma nella raccolta se tutte le forme nella raccolta hanno lo stesso valore per quella proprietà. Se non tutte le forme nella raccolta hanno lo stesso valore per la proprietà, restituisce la costante "mista".
Una proprietà della raccolta che restituisce un tipo di dati semplice (come Long , Single o String ) restituisce il valore della proprietà per una singola forma se tutte le forme nella raccolta hanno lo stesso valore per quella proprietà.
Il valore di alcune proprietà può essere restituito o impostato solo se nella raccolta è presente esattamente una forma. Se nell'insieme è presente più di una forma, si verifica un errore di runtime. Questo è generalmente il caso della restituzione o dell'impostazione di proprietà quando l'azione equivalente nell'interfaccia utente è possibile solo con una singola forma (azioni come la modifica del testo in una forma o la modifica dei punti di una forma libera).
Le linee guida precedenti si applicano anche quando si impostano le proprietà delle forme raggruppate in oggetti secondari della raccolta ShapeRange , ad esempio l' oggetto FillFormat . Se l'oggetto secondario rappresenta operazioni che possono essere eseguite su più oggetti selezionati nell'interfaccia utente, sarai in grado di restituire l'oggetto da una raccolta ShapeRange e impostarne le proprietà. Ad esempio, puoi utilizzare la proprietà Fill per restituire l' oggetto FillFormat che rappresenta i riempimenti di tutte le forme nella raccolta ShapeRange . L'impostazione delle proprietà di questo oggetto FillFormat imposterà le stesse proprietà per tutte le singole forme nella raccolta ShapeRange .
Anche se non è possibile eseguire contemporaneamente un'operazione su più forme nell'interfaccia utente selezionandole e quindi utilizzando un comando, è possibile eseguire l'azione equivalente a livello di codice scorrendo la raccolta Shapes o una raccolta ShapeRange che contiene le forme desiderate. con cui si desidera lavorare e applicare le proprietà e i metodi appropriati ai singoli oggetti Shape nella raccolta. L'esempio seguente esegue il ciclo di tutte le forme e aggiunge testo a ogni forma che è una forma. e aggiunge testo a ogni forma che è una forma automatica.myDocument
V.B
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'esempio seguente crea una raccolta ShapeRange che contiene tutte le forme attualmente selezionate nella finestra attiva e imposta il testo in ogni forma della raccolta che può contenere testo.
V.B
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Utilizzare i metodi Allinea e Distribuisci per posizionare un insieme di forme l'una rispetto all'altra o rispetto al documento che le contiene. Utilizza il metodo Raggruppa o Raggruppa per formare un'unica forma raggruppata da un insieme di forme.
Ginger è un correttore ortografico e grammaticale gratuito.
Blocks è un gioco intellettuale rivolto agli studenti delle scuole elementari di terza elementare per esercitare le proprie capacità di rilevamento e vista ed è incluso dagli insegnanti nel programma di supporto all'insegnamento informatico.
Prezi è un'applicazione gratuita che ti consente di creare presentazioni digitali, sia online che offline.
Mathway è un'app molto utile che può aiutarti a risolvere tutti quei problemi di matematica che richiedono uno strumento più complesso della calcolatrice integrata nel tuo dispositivo.
Adobe Presenter è un software di e-Learning rilasciato da Adobe Systems disponibile sulla piattaforma Microsoft Windows come plug-in di Microsoft PowerPoint.
Toucan è una piattaforma tecnologica educativa. Ti consente di imparare una nuova lingua mentre navighi su siti Web comuni di tutti i giorni.
eNetViet è un'applicazione che aiuta a connettere i genitori con la scuola in cui studiano i loro figli in modo che possano comprendere chiaramente l'attuale situazione di apprendimento dei loro figli.
Duolingo - Impara le lingue gratis, o semplicemente Duolingo, è un programma educativo che ti permette di imparare e praticare molte lingue diverse.
RapidTyping è uno strumento di allenamento per la tastiera comodo e facile da usare che ti aiuterà a migliorare la velocità di digitazione e a ridurre gli errori di ortografia. Con lezioni organizzate per molti livelli diversi, RapidTyping ti insegnerà come digitare o migliorare le competenze esistenti.
MathType è un software di equazioni interattive dello sviluppatore Design Science (Dessci), che consente di creare e annotare notazioni matematiche per l'elaborazione di testi, presentazioni, eLearning, ecc. Questo editor viene utilizzato anche per creare documenti TeX, LaTeX e MathML.