vba cho ppt

42
VBA cho PowerPoint Ging viên: Lê Văn Hunh Trường: ESTIH

Upload: xongdzomuong

Post on 04-Jul-2015

191 views

Category:

Education


2 download

DESCRIPTION

VBA cho Powerpoint

TRANSCRIPT

Page 1: Vba cho ppt

VBA cho PowerPoint

Giảng viên: Lê Văn HuỳnhTrường: ESTIH

Page 2: Vba cho ppt

Visual Basic Editor

• Chọn Tools\Macros• Chọn Visual Basic Editor

Page 3: Vba cho ppt

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ở

Page 4: Vba cho ppt

Đối tượng Presentations

Page 5: Vba cho ppt

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

Page 6: Vba cho ppt

Đối tượng Presentation• Là đối tượng đại diện cho tệp trình diễn đang mở (.ppt)• Các thuộc tính:

.FullName: Tên tệp đầy đủ (bao gồm cả đường dẫn). Ví dụ: “C:\My Document\ESTIH.PPT”.Name: Tên tệp (không có đường dẫn).Path: Đường dẫn.Saved: Giá trị msoTrue nếu tệp đã được lưu vào đĩa

Giá trị msoFalse nếu tệp chưa được ghi.SlideMaster: Trả về Slide chủ (Slide Master), khuôn mẫu của các

slide con..TitleMaster: Trả về slide chủ (TitleMaster), khuôn mẫu của các

slide tiêu đề (Trang đầu, trang bìa).Slides: Trả về tập hợp các slide con có trong trình diễn..SlideShowSettings: Đối tượng chứa các tùy chọn cài đặt cho trình

diễn

Page 7: Vba cho ppt

Đối tượng Presentation

• Các phương thức.ApplyTemplate (Tên tệp): Áp đặt một thiết kế mẫu.Close: Đóng trình diễn.NewWindow: Mở cửa sổ mới cho trình diễn.Save: Lưu trình diễn.SaveAs: Lưu và đặt tên.PrintOut: In ra máy in

¸p dông 012.pot

¸p dông Writing close-up design template.pot

Thªm cöa sæ míi

Page 8: Vba cho ppt

Đối tượng Slide• Mỗi trình diễn PowerPoint được tạo nên từ nhiều Slide.• Mỗi Slide là một đối tượng thuộc kiểu Slide.• Slides là một đối tượng chứa tập hợp các đối tượng

Slide.• Trong đối tượng Slides, mỗi slide được tham chiếu qua

chỉ số, hoặc qua tên gọi của nó.– Ví dụ:

• ActivePresentation.Slides(1)• ActivePresentation.Slides(“Slide1”)

• Đối tượng Slide có các thuộc tính qui định bố cục, chỉđịnh các hiệu ứng chuyển tiếp, sao chép và xóa Slide.

Page 9: Vba cho ppt

Đối tượng Range

• Đối tượng Range là một thành phần củađối tượng Slides, cho phép tập hợp mộtsố Slide thành một danh sách, trong đómỗi Slide có một chỉ 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ất cả các slide bằngcách sử dụng Range không có chỉ số.

Range

Page 10: Vba cho ppt

Tạo Slide mới• Dùng phương thức Add:Presentation.Slides.Add(Index, Layout)• Layout là tham số cho phép chọn Design

Template (mẫu thiết kế) cho slide• Ví dụ:Width ActivePresentation.Slides

.add Index := Count+1

.Layout := ppLayoutOrgchartEnd With

Thªm slide vµo cuèi tr×nh diÔn vµ hiÓn thÞ slide ®ã

Page 11: Vba cho ppt

Chèn các Slide từ một tệp

With ActivePresentation.Slides

.InsertFromFile FileName :=“C:\Presentations\Hinh10.ppt”, _

Index := .Count, _

SlideStart := 1, _

SlideEnd := 5

End With

ChÌn 4 slide tõ tÖp Hinh10.ppt vµo cuèi tÖp nµy

Page 12: Vba cho ppt

Thay đổi thuộctính Slide

• Có thể thay đổi thuộc tính slide thông qua thay đổi Slide chủ. Tác động sẽ làm thayđổi tất cả các slide liênquan.

• Nếu muốn thay đổi từng slide riêng rẽ, phải đặt thuộc tính FollowMaster…. Củanó thành False.

• Ví dụ, muốn thay đổi màu nền của mộtslide, phải đặt thuộc tínhFollowMasterBackGround thành False.

Page 13: Vba cho ppt

Thay đổi thuộc tính Slide MasterSet slideBack = ActivePresentation.SlideMaster.BackGroundslideBack.Fill.PresetGradient Style := msoGradientHorizontal, _Variant := 1, PresetGradientType := msoGradientFire

Thay ®æi thuéc tÝnh nÒn cña tÊt c¶ c¸c Slide

§Æt l¹i

Page 14: Vba cho ppt

Đặt lại thuộc tính nền cho một Slide riêng rẽ

With ActivePresentation.Slides(13).FollowMasterBackGround = False.Background.Fill.PresetGradient _

Style := msoGradientVertical, _Variant := 1, _PresetGradientType := msoGradientFire

End WithSöa thuéc tÝnh nÒn cña Slide thø 13

Tr¶ l¹i thuéc tÝnh FollowMasterBackGround thµnh True

Page 15: Vba cho ppt

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ểu thức sau là tương đương:– ActivePresentation.SlideMaster– ActivePresentation.Slides(1).Master

• Slide.Name: Trả về tên của Slide• Slide.Shapes: Trả về tập hợp các Shapes có

trong Slide, truy cập qua chỉ số.• Slide.SlideShowTransition: Hiệu ứng chuyển

tiếp của Slide

Page 16: Vba cho ppt

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” & iNext i

End With

For i = 1 To 4With .Slides(i + 1)

.FollowMasterBackground = False

.Background.Fill.PresetGradient _Style:=i, _Variant:=1, _PresetGradientType:=msoGradientChromeII

With .SlideShowTransition.EntryEffect = ppEffectBoxIn.AdvanceOnTime = True.AdvanceTime = 5.SoundEffect.ImportFromFile

"c:\windows\media\dogbark.wav"End With

End WithNext i.SlideShowSettings.AdvanceMode = ppSlideShowManualAdvance

End WithPres.ApplyTemplate "C:\Program Files\Microsoft

Office\Templates\Presentation Designs\014.pot"

Tạo cácSlide mớivà đặtthuộc tínhcho cácSlide đó

VÝ dô minh häa

Page 17: Vba cho ppt

Các Shapes trong Slide• Các tham số cần cung

cấp khi thêm Shape vàoSlide– BeginX, BeginY– EndX, EndY– FileName– Orientation

• Một số thuộc tính củaShape– TextFrame.TextRange.Text– Shadow– SafeArrayOfPoints– AnimationSettings– EntryEffect– AutoShapeType– Fill– Left, Top– Height, Width– Visible

VÝ dô minh häa: Thay ®æi Text trong TextBox

Page 18: Vba cho ppt

Ví dụ

• Tạo một trình diễn• Tạo Slide đầu tiên• Cài đặt các xác lập văn bản và hoạt hình

CommandButton1

Page 19: Vba cho ppt

Một số phương thức của Shape• Apply: Cho phép áp dụng

một định dạng có sẵnchép từ Shape khác.

• Duplicate: Tạo bản sao• Flip: Lật• IncrementLeft: Di chuyển

ngang• IncrementRotation: Quay• IncrementTop: Di chuyển

dọc• PickUp: Sao chép định

dạng• Select: Chọn

Creat

T¹o 2 Shape míi

Luu

Format

Khoi phuc

Page 20: Vba cho ppt

Beep

• Private Sub CommandButton1_Click()• For i = 1 To 3• Beep• Next• End Sub

Ph¸t 3 tiÕng bÝp

Page 21: Vba cho ppt

ĐĐốốii tưtượợngng AnimationSettingsAnimationSettings

ĐĐốốii tưtượợngng SlideShowTransitionSlideShowTransition

ThuThuộộcc ttíínhnh SoundEffectSoundEffect

T¹o Slide míi, thiÕt lËp SoundEffect cho SlideShowTransition

Page 22: Vba cho ppt

Thay đổi tiêu đề ứng dụngVidu01

Page 23: Vba cho ppt

Lấy các thông số về cửa sổ

Vidu02

Page 24: Vba cho ppt

Đọc tệp

C:\Presentations TracNghiem1.txt

Read LineCommandButton1

Page 25: Vba cho ppt

Gi¶i ph−¬ng tr×nh bËc hai

Gi¸o viªn : Lª V¨n HuúnhTr−êng :THBC KTTH Hµ Néi-ESTIH

Page 26: Vba cho ppt

ThuËt to¸nEm giải phương trìnhPhương trình bậc 2 có dạng tổng quát như sau:ax2 + bx + c = 0trong đó:

a, b, c là các hệ số cho trước. a ≠ 0.x là nghiệm cần tìm.

Cách giải :Bước 1 : Tính định thức ∆ :

∆ = b2 – 4acBước 2 : Nếu ∆ < 0 : Phương trình vô nghiệm.

Tới Bước 5Bước 3 : Nếu ∆ = 0 : Phương trình có nghiệm kép

x1 = x2 = -b/2/aTới Bước 5

Bước 4 :

Bước 5 : Kết thúca

bxa

bx2

,2 21

∆−−=

∆+−=

Page 27: Vba cho ppt

02 =++ cbxaxa=

b=

c=

∆=

x1=

x2=

8

1

4

2

PH¦¥NG TR×NH Cã HAI NGHIÖM THùC PH¢N BIÖT

x1 = -0.585786437626905

x2 = -3.41421356237309

Page 28: Vba cho ppt
Page 29: Vba cho ppt

Trắc nghiệm đơn giản

Page 30: Vba cho ppt

1. Tạo một trình diễn mới2. Tạo Slide giới thiệu3. Áp đặt thiết kế mẫu (Format\Slide Design…)4. Mở View\Master, chọn Slide Master5. Chọn TitleMaster6. Vẽ một shape hình mũi tên ở góc phải phía dưới7. Copy mũi tên đó. Chọn SlideMaster.8. Paste mũi tên đó vào SlideMaster9. Tạo một nhãn (Label)

1. Đặt tên nhãn là lbResult. Xóa bỏ Caption2. Đặt BackStyle là 0-fmBackStyleTransparent3. Đặt Font là .VnArial, cỡ chữ 284. Đặt Visible là False

10.Chọn Close Master View

Sửa thiết kế mẫu

Page 31: Vba cho ppt

Giao diện

1. Tạo slide mới2. Viết một câu hỏi trắc nghiệm3. Viết 4 phương án trả lời (văn bản,đồ

họa…)4. Vào Visual Basic Editor5. Thêm module

Page 32: Vba cho ppt

Viết mãSub Dung()

SlideMaster.txtResult.Caption = "§óNG"SlideMaster.txtResult.Visible = True

End Sub

Sub Sai()SlideMaster.txtResult.Caption = "SAI"SlideMaster.txtResult.Visible = True

End Sub

Sub Hide()SlideMaster.txtResult.Visible = FalseActivePresentation.SlideShowWindow.View.Next

End Sub

Page 33: Vba cho ppt

Áp đặt Actions Settings1. Quay lại PowerPoint2. Chọn phương án đúng3. Chọn Slide Show\Action Settings…4. Chọn Run Macro5. Chọn Macro Dung6. Chọn lần lượt các phương án sai7. Chọn Slide Show\Action Settings…8. Chọn Run Macro9. Chọn Macro Sai

Page 34: Vba cho ppt

1. Mở View\SlideMaster2. Vào TitleMaster3. Chọn mũi tên4. Chọn Slide Show\Action Settings…5. Chọn Run Macro6. Chọn Macro Hide7. Vào SlideMaster8. Chọn mũi tên9. Chọn Slide Show\Action Settings…10.Chọn Run Macro11.Chọn Macro Hide

Page 35: Vba cho ppt

Chạy thử

• Chạy SlideShow• Click vào mũi tên• Chọn phương án trả lời

Page 36: Vba cho ppt

Trắc nghiệm

Page 37: Vba cho ppt

Gà có mấy chân?

23

Page 38: Vba cho ppt

XXááoo trtrộộnn bbộộ đđềề trtrắắcc nghinghiệệmm

ĐĐặặtt vvấấnn đđềềTTừừ mmộộtt bbộộ đđềề trtrắắcc nghinghiệệmm, , ccóó đđáápp áánn, , xâyxây

ddựựngng mmộộtt macro macro chocho phphéépp ttạạoo rara mmộộtt bbộộ đđềềmmớớii bbằằngng ccááchch xxááoo trtrộộnn ngngẫẫuu nhiênnhiên bbộộ đđềề đãđã

ccóó, , kkèèmm theotheo phiphiếếuu llààmm bbààii vvàà phiphiếếuu chchấấmmđiđiểểmm..

BBộộ đđềề ggốốcc trtrììnhnh bbààyy trongtrong bbảảngng, , ccóó 2 2 ccộộtt. . CCộộttmmộộtt llàà ccáácc câucâu hhỏỏii vvàà phươngphương áánn trtrảả llờờii, , mmỗỗiicâucâu ghighi trongtrong 1 ô. 1 ô. CCộộtt 2 2 llàà ccáácc phươngphương áánn

đđúúngng..

Page 39: Vba cho ppt

ThThựựcc hihiệệnn

1.1. ChChéépp bbộộ đđềề vvàà đđáápp áánn sang sang mmộộtt trangtrang mmớớii2.2. ChChèènn thêmthêm ccộộtt ththứứ 333.3. GhiGhi vvààoo mmỗỗii ô ô ccộộtt ththứứ 3 3 mmộộtt ssốố ngngẫẫuu nhiênnhiên4.4. SSắắpp xxếếpp llạạii bbảảngng theotheo ccộộtt ththứứ 335.5. XXóóaa ccộộtt ththứứ 336.6. GhiGhi nhnhớớ ccộộtt ththứứ 2 (2 (đđáápp áánn))7.7. XXóóaa ccộộtt ththứứ 22

Page 40: Vba cho ppt

TTạạoo phiphiếếuu trtrảả llờờii

1.1. TTạạoo bbảảngng ccóó ssốố hhààngng llàà ssốố câucâu hhỏỏii, , ssốốccộộtt llàà ssốố phươngphương áánn trtrảả llớớii..

2.2. GhiGhi vvààoo ccáácc ô ô tiêutiêu đđềề ccộộtt ccáácc kýký hihiệệuuA, B, C, DA, B, C, D

3.3. GhiGhi vvààoo ccáácc ô ô tiêutiêu đđềề hhààngng caccac ssốố ththứứttựự câucâu hhỏỏii

4.4. TrongTrong mmỗỗii ô ô ghighi mmộộtt ddấấuu tròntròn trtrắắngng

Page 41: Vba cho ppt

TTạạoo phiphiếếuu chchấấmm điđiểểmm1.1. TTạạoo bbảảngng ccóó ssốố hhààngng llàà ssốố câucâu hhỏỏii, , ssốố ccộộtt llàà

ssốố phươngphương áánn trtrảả llớớii..2.2. GhiGhi vvààoo ccáácc ô ô tiêutiêu đđềề ccộộtt ccáácc kýký hihiệệuu A, B, A, B,

C, DC, D3.3. GhiGhi vvààoo ccáácc ô ô tiêutiêu đđềề hhààngng caccac ssốố ththứứ ttựự

câucâu hhỏỏii4.4. TrongTrong ô ô ccóó phươngphương áánn đđúúngng ththìì ghighi mmộộtt ddấấuu

tròntròn đenđen5.5. TrongTrong ô ô ccóó phươngphương áánn saisai ththìì ghighi mmộộtt ddấấuu

tròntròn trtrắắngng

Page 42: Vba cho ppt