Imbir 2.7.53.0
Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.
Kilka dni temu chciałem zautomatyzować dość przyziemne zadanie tworzenia slajdów programu PowerPoint. Podczas automatyzacji programu PowerPoint zwykle pracujesz z kolekcją Slajdy i kształty. Slajdy są raczej oczywiste, a kształty to prawie wszystko inne, w tym pola tekstowe, przyciski akcji, obiekty multimedialne, etykiety, obrazy, objaśnienia, schematy blokowe i tak dalej. Chociaż będę prezentować techniki w programie PowerPoint, część składni jest w rzeczywistości całkiem odpowiednia w programach Microsoft Word i Excel.
Krótko mówiąc, zanim zaczniesz opracowywać makra w języku VBA w programie PowerPoint, musisz włączyć kartę rozwoju .
Po pierwsze, zacznijmy od automatycznego utworzenia prezentacji z kilkoma slajdami, jak pokazano w tym samouczku: tworzenie prezentacji w VBA .
Teraz możemy rozpocząć pracę z kształtami. Po pierwsze, przejdźmy dalej i otwórz edytor VBA, naciskając Alt + F11. Jeśli postępowałeś zgodnie z poprzednim samouczkiem, powinieneś mieć moduł 1 na liście modułów (jak pokazano poniżej)
Praca z kształtami w VBA
Dodawanie pola tekstowego za pomocą VBA
Zaczniemy od dodania pionowego pola tekstowego do naszego pierwszego slajdu w prezentacji. Dodaj następujący kod do Module1, a następnie naciśnij przycisk Zapisz (Ctrl + s) i uruchom swoje makro (naciśnij F5 lub naciśnij Uruchom formularz podrzędny/użytkownika).
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
Zauważ, że możesz dość łatwo zmienić rozmiar pola tekstowego za pomocą VBA. W takim przypadku zmienimy rozmiar pierwszego kształtu na drugim slajdzie, możesz dowolnie modyfikować.
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
Efekty tekstowe z VBA
Załóżmy teraz, że chcemy dodać pole tekstowe do wszystkich slajdów w prezentacji, tym razem nieco bardziej atrakcyjne wizualnie. W tym celu użyjemy VBA do tworzenia niestandardowych efektów tekstowych, które możemy osadzić w jednym lub kilku slajdach w prezentacji. Najpierw przejdziemy przez slajdy prezentacji, a następnie w razie potrzeby dodamy efekt tekstowy.
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
Oto wynik ;-):
Zauważ, że równie dobrze możesz użyć prostego znaku wodnego, aby osiągnąć ten konkretny wynik.
Objaśnienia PowerPoint z VBA
Następnym przykładem będzie dodanie objaśnień do prezentacji. W tym przykładzie dodamy objaśnienie drugiego slajdu.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
Wiele właściwości formatujących kształty nie jest ustawianych przez właściwości, które mają zastosowanie bezpośrednio do obiektu Shape lub ShapeRange . Zamiast tego powiązane atrybuty kształtu są grupowane w obiektach drugorzędnych, takich jak obiekt FillFormat , który zawiera wszystkie właściwości związane z wypełnieniem kształtu, lub obiekt LinkFormat , który zawiera wszystkie właściwości unikalne dla połączonych obiektów OLE. Aby ustawić właściwości kształtu, należy najpierw zwrócić obiekt reprezentujący zestaw powiązanych atrybutów kształtu, a następnie ustawić właściwości zwróconego obiektu. Na przykład użyj właściwości Fill , aby zwrócić obiekt FillFormat , a następnie ustaw właściwość ForeColor obiektu FillFormat , aby ustawić kolor pierwszego planu wypełnienia dla określonego kształtu, jak pokazano w poniższym przykładzie.
VB
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
W interfejsie użytkownika można wykonać pewne operacje, mając wybranych kilka kształtów; na przykład możesz wybrać kilka kształtów i jednocześnie ustawić wszystkie ich indywidualne wypełnienia. Istnieją inne operacje, które można wykonać tylko po wybraniu jednego kształtu; na przykład tekst w kształcie można edytować tylko wtedy, gdy zaznaczony jest pojedynczy kształt.
W Visual Basic istnieją dwa sposoby stosowania właściwości i metod do zestawu kształtów. Te dwa sposoby umożliwiają wykonanie dowolnej operacji, którą można wykonać na pojedynczym kształcie na wielu kształtach, niezależnie od tego, czy można wykonać tę samą operację w interfejsie użytkownika.
Jeśli operacja działa na wielu wybranych kształtach w interfejsie użytkownika, możesz wykonać tę samą operację w Visual Basic, tworząc kolekcję ShapeRange zawierającą kształty, z którymi chcesz pracować, i stosując odpowiednie właściwości i metody bezpośrednio do kolekcji ShapeRange .
Jeśli operacja nie działa na wielu wybranych kształtach w interfejsie użytkownika, nadal możesz wykonać tę operację w Visual Basic, przechodząc przez kolekcję Shapes lub kolekcję ShapeRange zawierającą kształty, z którymi chcesz pracować, i stosując odpowiednie właściwości i metody do poszczególnych obiektów Shape w kolekcji.
Wiele właściwości i metod mających zastosowanie do obiektu Shape i kolekcji ShapeRange nie działa, jeśli zostaną zastosowane do określonych rodzajów kształtów. Na przykład właściwość TextFrame nie działa, jeśli zostanie zastosowana do kształtu, który nie może zawierać tekstu. Jeśli nie masz pewności, że do każdego kształtu w kolekcji ShapeRange można zastosować określoną właściwość lub metodę, nie stosuj tej właściwości lub metody do kolekcji ShapeRange . Jeśli chcesz zastosować jedną z tych właściwości lub metod do kolekcji kształtów, musisz przejść przez kolekcję i przetestować każdy kształt, aby upewnić się, że jest to odpowiedni typ kształtu, zanim zastosujesz do niego tę właściwość lub metodę.
Jeśli w interfejsie użytkownika możesz wykonać operację na wielu wybranych kształtach jednocześnie, możesz wykonać programowy odpowiednik, tworząc kolekcję ShapeRange , a następnie stosując do niej odpowiednie właściwości lub metody. Poniższy przykład konstruuje zakres kształtów zawierający autokształty o nazwach „Duża gwiazda” i „Mała gwiazda”, a następnie stosuje do nich wypełnienie gradientowe i stosuje do nich wypełnienie gradientowe.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Poniżej znajdują się ogólne wytyczne dotyczące zachowania właściwości i metod zastosowanych do kolekcji ShapeRange .
Zastosowanie metody do kolekcji jest równoznaczne z zastosowaniem metody do każdego pojedynczego obiektu Shape w tej kolekcji.
Ustawienie wartości właściwości kolekcji jest równoznaczne z ustawieniem wartości właściwości każdego pojedynczego kształtu w tym zakresie.
Właściwość kolekcji zwracająca stałą zwraca wartość właściwości dla pojedynczego kształtu w kolekcji, jeśli wszystkie kształty w kolekcji mają tę samą wartość tej właściwości. Jeśli nie wszystkie kształty w kolekcji mają tę samą wartość właściwości, zwracana jest stała „mieszana”.
Właściwość kolekcji zwracająca prosty typ danych (taki jak Long , Single lub String ) zwraca wartość właściwości dla pojedynczego kształtu, jeśli wszystkie kształty w kolekcji mają tę samą wartość tej właściwości.
Wartość niektórych właściwości można zwrócić lub ustawić tylko wtedy, gdy w kolekcji znajduje się dokładnie jeden kształt. Jeśli w kolekcji znajduje się więcej niż jeden kształt, wystąpi błąd wykonania. Dzieje się tak zazwyczaj w przypadku zwracania lub ustawiania właściwości, gdy równoważna akcja w interfejsie użytkownika jest możliwa tylko w przypadku pojedynczego kształtu (akcje takie jak edycja tekstu w kształcie lub edycja punktów dowolnego kształtu).
Powyższe wytyczne mają zastosowanie również podczas ustawiania właściwości kształtów zgrupowanych w obiektach wtórnych kolekcji ShapeRange , takich jak obiekt FillFormat . Jeśli obiekt dodatkowy reprezentuje operacje, które można wykonać na wielu wybranych obiektach w interfejsie użytkownika, będzie można zwrócić obiekt z kolekcji ShapeRange i ustawić jego właściwości. Na przykład możesz użyć właściwości Fill , aby zwrócić obiekt FillFormat , który reprezentuje wypełnienia wszystkich kształtów w kolekcji ShapeRange . Ustawienie właściwości tego obiektu FillFormat spowoduje ustawienie tych samych właściwości dla wszystkich poszczególnych kształtów w kolekcji ShapeRange .
Nawet jeśli nie możesz wykonać operacji na kilku kształtach w interfejsie użytkownika jednocześnie, zaznaczając je, a następnie używając polecenia, możesz programowo wykonać równoważną czynność, przeglądając w pętli kolekcję Shapes lub kolekcję ShapeRange zawierającą kształty, które chcesz chcesz pracować i stosować odpowiednie właściwości i metody do poszczególnych obiektów Shape w kolekcji. Poniższy przykład przegląda wszystkie kształty i dodaje tekst do każdego kształtu będącego autokształtem. i dodaje tekst do każdego kształtu będącego autokształtem.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
Poniższy przykład konstruuje kolekcję ShapeRange , która zawiera wszystkie aktualnie wybrane kształty w aktywnym oknie i ustawia tekst w każdym kształcie w kolekcji, który może zawierać tekst.
VB
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Użyj metod Align i Distribute , aby ustawić zestaw kształtów względem siebie lub względem dokumentu, który je zawiera. Użyj metody Group lub Regroup , aby utworzyć pojedynczy zgrupowany kształt z zestawu kształtów.
Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.
Blocks to intelektualna gra przeznaczona dla uczniów klas trzecich szkół podstawowych, służąca ćwiczeniu umiejętności wykrywania i wzroku. Nauczyciele objęli ją programem wspierania nauczania informatyki.
Prezi to darmowa aplikacja, która umożliwia tworzenie cyfrowych prezentacji, zarówno online, jak i offline.
Mathway to bardzo przydatna aplikacja, która pomoże Ci rozwiązać wszystkie problemy matematyczne, które wymagają bardziej złożonego narzędzia niż kalkulator wbudowany w Twoje urządzenie.
Adobe Presenter to oprogramowanie do e-learningu wydane przez firmę Adobe Systems, dostępne na platformie Microsoft Windows jako wtyczka Microsoft PowerPoint.
Toucan to edukacyjna platforma technologiczna. Pozwala nauczyć się nowego języka podczas przeglądania popularnych, codziennych stron internetowych.
eNetViet to aplikacja, która pomaga rodzicom połączyć się ze szkołą, w której uczą się ich dzieci, aby mogli lepiej zrozumieć aktualną sytuację edukacyjną swojego dziecka.
Duolingo - Ucz się języków za darmo, czyli po prostu Duolingo, to program edukacyjny, który pozwala uczyć się i ćwiczyć wiele różnych języków.
RapidTyping to wygodne i łatwe w użyciu narzędzie do nauki obsługi klawiatury, które pomoże Ci poprawić szybkość pisania i zmniejszyć liczbę błędów ortograficznych. Dzięki lekcjom zorganizowanym na wielu różnych poziomach RapidTyping nauczy Cię, jak pisać na klawiaturze lub doskonalić istniejące umiejętności.
MathType to interaktywne oprogramowanie do równań opracowane przez projektanta Design Science (Dessci), które umożliwia tworzenie i dodawanie adnotacji do notacji matematycznej na potrzeby przetwarzania tekstu, prezentacji, e-learningu itp. Ten edytor jest również używany do tworzenia dokumentów TeX, LaTeX i MathML.