VBA cho PowerPoint
Giảng viên: Lê VănHuỳnh
Trường: ESTIH
Visual Basic Editor
•Chọn Tools\Macros
•Chọn Visual Basic Editor
Mở modul đã có
• Trong cửa sổ Visual
Basic Editor, ở cánh
trái là Project
Explorer.
• Click vào các dấu
• Double-click vào
modul cần mở
Đối tượng Presentations
Mở một tệp trình diễn
•Mở tệp đã có:
Presentations.Open <Tên tệp>
Ví dụ:
Presentaions.Open “
SlidePres.ppt
”
•Mở tệp mới:
Presentations.Add(WithWindow)
Trong đó:
WithWindow = msoTrue nếu muốn tệp mới hiển
thị
WithWindow=msoFalse nếu muốn tệp mới ẩn
T¹o tÖp míi
Më tÖp SlidePres.ppt
Đối tượng Presentation
• Slides là một đốitượng chứatậphợpcácđốitượng
Slide.
• Trong đốitượng Slides, mỗislide được tham chiếuqua
chỉ số, hoặc qua tên gọicủa nó.
–Vídụ:
• ActivePresentation.Slides(1)
• ActivePresentation.Slides(“Slide1”)
• Đốitượng Slide có các thuộc tính qui định bố cục, chỉ
định các hiệu ứng chuyểntiếp, sao chép và xóa Slide.
Đốitượng Range
• Đốitượng Range là một thành phầncủa
đốitượng Slides, cho phép tậphợpmột
số Slide thành một danh sách, trong đó
mỗi Slide có mộtchỉ số.
•Cóthể truy cập các slide trong Range
thông qua chỉ số hoặc thông qua tên.
•Cóthể tác động lên tấtcả các slide bằng
cách sử dụng Range không có chỉ số.
Range
Tạo Slide mới
•Dùngphương thức Add:
Presentation.Slides.Add(Index, Layout)
• Layout là tham số cho phép chọn Design
Template (mẫuthiếtkế) cho slide
•Vídụ:
Width ActivePresentation.Slides
.add Index := Count+1
.Layout := ppLayoutOrgchart
End With
Thªm slide vµo cuèi tr×nh diÔn vµ hiÓn thÞ slide ®ã
.Background.Fill.PresetGradient _
Style := msoGradientVertical, _
Variant := 1, _
PresetGradientType := msoGradientFire
End With
Söa thuéc tÝnh nÒn cña Slide thø 13
Tr¶ l¹i thuéc tÝnh FollowMasterBackGround thµnh
True
Các thuộc tính khác của Slide
• Slide.Layout: Cách bố trí các khung trên Slide
• Slide.Master: Trả về Slide chủ của slide. Hai
biểuthứcsaulàtương đương:
– ActivePresentation.SlideMaster
– ActivePresentation.Slides(1).Master
• Slide.Name: Trả về tên củaSlide
• Slide.Shapes: Trả về tậphợp các Shapes có
trong Slide, truy cập qua chỉ số.
• Slide.SlideShowTransition: Hiệu ứng chuyển
tiếpcủa Slide
Set Pres = Presentations.Add
'Pres.SaveAs FileName:=“Vidu.ppt”
With Pres
With .Slides
.Add(Index:=1, Layout:=ppLayoutTitle).Name = “Opener”
For i = 1 To 4
.Add(Index:=i + 1, Layout:=ppLayoutTitle).Name = “Vidu00” & i
Next i
End With
For i = 1 To 4
With .Slides(i + 1)