Hướng dẫn cách làm VBA trong powerpoint từ A đến Z

30 624 0
Hướng dẫn cách làm VBA trong powerpoint từ A đến Z

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hướng dẫn học VBa chi tiết đầy đủ giúp các bạn có thể tiếp thu và thức hành tốt vào trong bài powerpoint của mình. Hi vộng nõ sẽ giúp ích được nhiều cho các bạn

TỔNG QUAN VỀ VBA Visual Basic for Applications (VBA) bổ sung Microsoft's Visual Basic, xây dựng tất ứng dụng Microsoft Office (bao gồm phiên cho hệ điều hành Mac OS), số ứng dụng Microsoft khác Microsoft MapPoint vàMicrosoft Visio - ứng dụng trước Microsoft; bổ sung thành công ứng dụng khác AutoCAD, WordPerfect ESRI ArcGIS Nó thay mở rộng khả ngôn ngữ macro đặc trưng WordBasic MS-Word, sử dụng để điều khiển hầu hết tất khía cạnh ứng dụng chủ, kể vận dụng nét riêng biệt giao diện người dùng menu toolbar làm việc với hình thái hộp thoại tùy ý VBA sử dụng để tạo lọc xuất nhập cho định dạng tập tin khác ODF Như tên gọi nó, VBA gần gũi với Visual Basic, chạy ứng dụng chủ chương trình độc lập Nó dùng để điều khiển ứng dụng từ OLE tự động (ví dụ, tự động tạo báo cáo Word từ liệu Excel) Hầu hết sản phẩm phần mềm (Autodesk AutoCAD / Microsoft Office / Adobe Illustrator) trang bị “Kiểu đối tượng” cho môi trường Visual Basic cho phép người dùng tạo thứ từ macro nhỏ để biểu diễn yêu cầu lặp lại cho chương trình bao quát để thêm khả cho chương trình chủ Macros gắn vào menu, nút nhấn bàn phím VBA có nhiều khả mềm dẻo có số hạn chế quan trọng, bao gồm hỗ trợ hạn chế cho hàm gọi lại Nó có khả sử dụng (nhưng không tạo ra) thư viện động, phân sau hỗ trợ cho mô-đun lớp (class modules) BÀI 01: TỔNG QUAN Mục tiêu Sau bạn có thể: • Khởi tạo môi trường làm việc với Visual Basic Powerpoint • Trình bày bước làm việc môi trường Visual Basic Giới thiệu Trong thời gian gần việc thiết kế giảng tương tác với hỗ trợ máy tính vấn đề quan tâm nhiều giáo viên Có nhiều phần mềm máy tính hỗ trợ thiết kế tương tác chuyên nghiệp Director, Flash Tuy nhiên đa số giao viên ưa thích dùng Powerpoint họ quen thuộc với phần mềm từ trước Với Powerpoint truyền thống giáo viên thường sử dụng hiệu ứng (effect), hoạt cảnh (animation) thành phần multimedia hình ảnh, âm thanh, siêu liên kết (Hyperlink), video nhúng trực tiếp vào Powerpoint Những trình chiếu mang tính minh họa (người xem nghe tiếp nhận) không tương tác với người dùng (người nghe tác động lên trình chiếu trình chiếu trả kế tương ứng) Bằng cách sử dụng ngôn ngữ VBA (Visual Basic for Application) tích hợp sẵn Powerpoint ta tạo tương tác trình chiếu Những viết phần hướng dẫn bước xây dựng tương tác diễn lớp học (Trắc nghiệm phản hồi, mô phỏng, điều khiển video, hình ảnh, Shockwave flash, thu thập ý kiến, xây dựng kiểm tra…vv) Thiết lập ban đầu Thiết lập chế độ bảo mật Mặc định Powerpoint không cho phép chạy macro lý bảo mật Để thuận tiện trình sử dụng VBA thực bước sau để thiết lập lại chế độ bảo mật cho Powerpoint Đối với Microsoft Powerpoint 2003, Từ menu Tools, chọn Macro, chọn Security Trong tabSecurity Level chọn mức Medium Low (tôi thường chọn Low phép tất Macro) Đối với Microsoft Powerpoint 2007, Click nút Microsoft Office (nút tròn góc trái hình), chọn Powerpoint Options, chọn ngăn Trust Center, click nút Trust Center Settings, chọn tab Macro Settings, chọn Enable all Macros Bật công cụ VBA Mặt định công cụ hỗ trợ làm việc VBA không bật Hãy làm bước sau để hiển thị công cụ này: Đối với Microsoft Powerpoint 2003, Click phải vào vị trí Toolbar, chọn Control Toolbox Đối với Microsoft Powerpoint 2007, Click nút Microsoft Office, chọn Powerpoint Options, chọn ngăn Popular, nhấp chọn mục Show Developer Tab in Ribbon Khi có thêm ngăn Developer Toolbar Powerpoint 2007 Cách sử dụng chung Mỗi thành phần Toolbox gọi đối tượng, đối tượng có nhóm thuộc tính phương thức tương ứng Có thể đơn giản hiểu thuộc tính đặc điểm đối tượng chiều cao (Height), chiều rộng (Width), màu (BackColor), font chữ (Font), ẩn (Visible), nội dung (Caption/Text), kiểu đường viền (Border Style)…vv Phương thức hoạt động diễn đối tượng bị tác động chẳng hạn click chuột vào xuất thông báo (ta tạo tương tác chức này) Những tác động vào đối tượng click chuột, rê chuột qua vv gọi kiện (Event) Ví dụ: chọn đối tượng label (hình chữ A) vẽ lên slide Tương tự cho đối tượng khác Để xem thuộc tính click phải vào label vừa vẽ, chọn Properties, bảng thuộc tính đối tượng xuất Ta thay đổi giá trị thuộc tính Ví dụ: Đặt tên cho label cách gán thuộc tính Name lblA, chọn thuộc tínhFont Vni-Avo, thay đổi nội dung hiển thị label cách đổi thuộc tính Captionthành “Ví dụ”, gán thuộc tính TextAlign thành 2-frmTextAlignCenter để canh text label Tạo viền cách gán thuộc tính BorderStyle giá trị 1fmBorderStyleSingle Để tạo hoạt động cho đối tượng click đúp vào đối tượng Khi cửa sổ Microsoft Visual Basic xuất cho phép ta viết hoạt động cho kiện mặc định đối tượng Ví dụ: click đúp vào label trên, nhãn kiện mặc định click chuột ta có cửa sổ VBA sau: Hãy viết thử đoạn lệnh sau: Private Sub LbA_Click() 'Xuat hien hop thoai thong bao MsgBox "Chao cac ban da den voi PowerPoint tuong tac", , "Chao cac ban" End Sub Đoạn lệnh nhằm mục đích xuất hộp thoại với lời chào "Chao cac ban da den voi PowerPoint tuong tac" ( tiêu đề hộp thoại có chữ "Chao cac ban") người dùng click vào label lblA Hãy trình chiếu tập tin Powerpoint thiết kế click vào lable slide ta có kết hình bên Những điểm cần ý: • Ngoài cách click đúp vào đối tượng để mở sổ Visual Basic dùng tổ hợp phím ALT + F11 • Có thể thay đổi đối tượng kiện xảy đối tượng thông qua combobox cửa sổ Visual Basic Tóm tắt bước sử dụng VBA Powerpoint • Chọn vẽ đối tượng lên slide • Thay đổi thuộc tính đối tượng thông qua hộp thoại Properties (Click phải vào đối tượng chọn Properties) • Viết hoạt động cho kiện xảy đối tượng cách click đúp vào đối tượng • Có thể viết hoạt động cho nhiều kiện xảy đối tượng cách chọn kiện combox sổ Visual Basic (Ví dụ viết hoạt động cho kiện click, click đúp,…) Tóm tắt Trước làm việc với VBA Powerpoint ta thường thiết lập lại chế độ bảo mật, bật công cụ Toolbox Mỗi đối tượng có thuộc tính phương thức đặc trưng Có thể xem thuộc tính đối tượng thông qua hộp thoại Properties Thay đổi thuộc tính đối tượng làm thay đổi cách hiển thị đối tượng Có thể mở nhanh số Visual Basic thông qua tổ hợp phím ALT + F11 click đúp vào đối tượng Nên đặt tên đối tượng theo quy tắc chung để dễ dàng nhận biết kiểu đối tượng sử dụng VBA BÀI CÁC ĐỐI TƯỢNG CƠ BẢN (Phần 1) Mục tiêu Sau bạn có thể: • Trình bày thuộc tính phương thức đối tượng Label, Button,Option Box, Check Box, Text Box, Image, Spin Button • Sử dụng hàm nhập xuất bản: InputBox MsgBox • Vận dụng làm dạng câu điền khuyết, sai, nhiều lựa chọn, mô cổng logic, trò chơi ghép hình Giới thiệu Để vận dụng tốt VBA cần nhớ điều: “mỗi đối tượng có thuộc tínhvà phương thức bản” đa số thuộc tính lại giống đội tượng chiều cao (Height), chiều rộng (Width), màu (BackColor), font chữ (Font), ẩn (Visible)…vv Thay đổi thuộc tính đối tượng dẫn đến thay đổi đối tượng hình Cần ý đối tượng VBA Powerpoint không hỗ trợ đầy đủ font Unicode, nên chọn thuộc tính font cho đối tượng Vni ABC Hình 2.1: Các thành phần ToolBox Loại đối tượng Chuỗi đại diện Label lbl Button btn Text Box txt Picture Box pic Spin Button spn Check Box chk Option Box opt Bảng 2.1: Chuỗi đại diện cho loại đối tượng Mỗi đối tượng có tên Để tiện cho trình viết code sau nên đặt tên theo quy ước để nhìn tên biết đối tượng thuộc loại Quy ước: tên bắt đầu chuỗi đại diện cho loại đối tượng, theo sau chuỗi có nghĩa chữ đầu từ viết hoa Ví dụ 2.1: • Tên Label: lblCauHoi, lblLuaChon1, lblLuaChon2, lblLuaChon3, lblLuaChon4, lblDapAn…vv • Tên Text Box: txtNoiDung, txtCauHoi, txtGopY,…vv • Tên Check Box: chkLuaChon1, chkLuaChon2, chkLuaChon3, chkLuaChon4,…vv • Tên Picture Box: picMinhHoa, picChanDung, picGioiThieu,…vv Khi học đối tượng bản, sử dụng số toán tử cấu trúc sau: Toán tử: & (nối chuỗi), (so sánh khác) Cấu trúc điều kiện: Cấu trúc if đơn giản điều kiện thực câu lệnh If Then Cấu trúc if đầy đủ điều kiện thực nhiều câu lệnh, ngược lại thực nhiều câu lệnh khác If Then Else End If Hai hàm nhập xuất bản: Để xuất hộp thoại thông báo cho người dùng ta dùng hàm MsgBox với mẫu MsgBox "Noi dung thong bao", , "Tieu de hop thoai" Để yêu cầu người dùng nhập vào giá trị ta dùng hàm InputBox với mẫu InputBox "Nhap vao gia tri cho x", "Nhap x" BÀI CÁC ĐỐI TƯỢNG CƠ BẢN (Phần 2) LABLE (nhãn)/ BUTTON (nút) Label/Button thông thường dùng để hiển thị thông tin text đơn giản Cho phép người dùng tác động lên thông qua kiện click, click đúp Thuộc tính Mô tả Caption Nội dung hiển thị label/button Enable Kích hoạt hay không kích hoạt Nếu mang giá trị Falsengười dùng tác động lên label/button Visible Ân mang giá trị False, mang giá trị True WordWrap Cho phép text nằm nhiều dòng mang giá trịTrue, ngược lại text nằm dòng Bảng 2.2: Các thuộc tính Label Sự kiện label/button Click nghĩa ta viết hoạt động xảy người dùng click chuột vào chúng Ví dụ 2.2: Dùng nhãn để xây dựng câu hỏi dạng điền vào chổ trống với từ cho trước hình 2.2 Kết ví dụ slide có chổ trống cần điền cụm từ cho trước Người học điền vào chổ trống cách click vào cụm từ cho sẵn sau click vào ô trống Người học có quyền làm lại cách nhấn vào nhãn “Làm lại” Sau làm xong người học click vào nút chấm điểm để xem điểm Ý tưởng: Sử dụng label dành cho ô trống, label dành cho cụm từ cho trước, label cho “Chấm điểm”, “Làm lại”, điểm trả Ngoài có label ẩn dùng để làmtrung gian Khi người dùng click vào cụm từ cho sẵn gán caption label cho label tạm Khi người dùng click vào ô trống ta thực gán caption label tạm cho label ô trống Hình 2.2: Điền vào ô trống với từ cho trước làm Label Lưu ý • Nếu có nhiều label, ta tạo label, gán thuộc tính cần thiết cho label Font (Vni-Avo), canh lề…vv Sau dùng CTRL + di chuyển đối tượng để copy nhanh đối tượng • Có thể lúc gán thuộc tính cho nhiều đối tượng lúc cách dùng phímSHIFT + click để chọn nhiều đối tượng thay đổi thuộc tính cửa sổ Properties • Những nội dung cố định cần dùng Text Box bình thường công cụ Drawing Hướng dẫn chi tiết: Bước 1: Tạo label, gán thuộc tính font = Vni-Avo, Text Align =2 Sau copy thành 14 label Bước 2: Lần lượt đặt tên đối tượng sau: lblO1, lblO2, lblO3, lblO4, lblO5 (dành chocác ô trống), lblAnswer1, lblAnswer2, lblAnswer3, lblAnswer4, lblAnswer5 (dành cho cáccụm từ cho trước), lblChamDiem, lblReset, lblDiem (dành cho “Chấm điểm” , “Làm lại” vàchứa điểm người dùng click vào “Chấm điểm”), lblTemp (dùng làm label trung gian để chuyển caption từ cụm từ cho trước sang ô trống) riêng label có thuộc tính visible=0 để không hiển thị lên slide Bước 3: Thực đoạn code giúp người dùng chuyển caption từ cụm từ cho trước sang ô trống Ở ta dùng label trung gian Khi người dùng click vào cụm từ cho trước ta gáncaption lable trung gian với caption cụm từ 'Khi nguoi dung click vao cum tu (Chu Nhat) Private Sub lblAnswer1_Click() lblTemp.Caption = lblAnswer1.Caption End Sub 'Khi nguoi dung click vao cum tu (25) Private Sub lblAnswer2_Click() lblTemp.Caption = lblAnswer2.Caption End Sub 'Khi nguoi dung click vao cum tu (Dong) Private Sub lblAnswer3_Click() lblTemp.Caption = lblAnswer3.Caption End Sub 'Khi nguoi dung click vao cum tu (Tay) Private Sub lblAnswer4_Click() lblTemp.Caption = lblAnswer4.Caption End Sub 'Khi nguoi dung click vao cum tu (24) Private Sub lblAnswer5_Click() lblTemp.Caption = lblAnswer5.Caption End Sub Bước 4: Khi người dùng click vào ô trống, ta gán caption label tạm cho ô trống 'Khi nguoi dung click vao o (Chu Nhat) Private Sub lblO1_Click() lblO1.Caption = lblTemp.Caption End Sub 'Khi nguoi dung click vao o (25) Private Sub lblO2_Click() lblO2.Caption = lblTemp.Caption End Sub 'Khi nguoi dung click vao o (Dong) Private Sub lblO3_Click() lblO3.Caption = lblTemp.Caption End Sub 'Khi nguoi dung click vao o (Tay) Private Sub lblO4_Click() lblO4.Caption = lblTemp.Caption End Sub 'Khi nguoi dung click vao o (24) Private Sub lblO5_Click() lblO5.Caption = lblTemp.Caption End Sub Bước 5: Khi người dùng muốn làm lại ta gán caption ô trống rỗng Private Sub lblReset_Click() lblO1.Caption = "" lblO2.Caption = "" lblO3.Caption = "" lblO4.Caption = "" lblO5.Caption = "" lblDiem.Caption = "" End Sub Bước 6: Khi người dùng click vào “chấm điểm” ta so sánh nội dung ô trống cụm từ cho trước, giống (đúng) ta cộng dồn caption label điểm với Private Sub lblChamDiem_Click() lblDiem.Caption = "0" If lblO1.Caption = lblAnswer1.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO2.Caption = lblAnswer2.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO3.Caption = lblAnswer3.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO4.Caption = lblAnswer4.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO5.Caption = lblAnswer5.Caption Then lblDiem.Caption = lblDiem.Caption + End Sub Ví dụ 2.3: Thay hai label “Chấm điểm” “Làm lại” button Tương tự ta xóa label này, tạo button đặt tên btnChamDiem,btnReset Nội dung code bên không thay đổi so với trường hợp Chỉ khác nút có giao diện 3D Private Sub btnReset_Click() lblO1.Caption = "" lblO2.Caption = "" lblO3.Caption = "" lblO4.Caption = "" lblO5.Caption = "" lblDiem.Caption = "" End Sub Private Sub btnChamDiem_Click() lblDiem.Caption = "0" If lblO1.Caption = lblAnswer1.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO2.Caption = lblAnswer2.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO3.Caption = lblAnswer3.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO4.Caption = lblAnswer4.Caption Then lblDiem.Caption = lblDiem.Caption + If lblO5.Caption = lblAnswer5.Caption Then lblDiem.Caption = lblDiem.Caption + End Sub BÀI CÁC ĐỐI TƯỢNG CƠ BẢN (Phần 3) OPTION BOX/CHECK BOX Thuộc tính Value Mô tả Giá trị đối tượng, True check ngược lại mang giá trịFalse GroupName Phân nhóm Những đối tượng GroupName thuộc nhóm Ví dụ có câu hỏi nhiều lựa chọn nằm trang bốn lựa chọn a-b-c-d câu thuộc nhóm, a-b-c-d câu thuộc nhóm Tên nhóm người dùng tự đặt Bảng 2.3: Những thuộc tính Option Box/Check Box Option Box/Check Box thông thường dùng để cung cấp cho người dùng lựa chọn Option Box cho phép người dùng chọn số nhiều lựa chọn (thường dùng trắc nghiệm nhiều lựa chọn) Check Box cho phép người dùng chọn nhiều lựa chọn (dùng để thu thập thông tin người dùng sở thích chẳng hạn) Ngoài thuộc tính Label/Button hai thành phần có số thuộc tính quan trọng bảng 2.3 Ví dụ 2.4: Sử dụng Option Box để tạo câu hỏi nhiều lựa chọn (hình 2.3) Kết ví dụ slide gồm câu hỏi lựa chọn, cho phép người dùng làm lại chấm điểm Hình 2.3: Câu hỏi nhiều lựa chọn với Option Box Ý tưởng: Vì câu hỏi có kết nên ta dùng Option Box để làm lựa chọn Vì Option Box cho phép chọn nhóm, ta tách Option Box thành nhóm (nhóm cau1 cau2) Hướng dẫn chi tiết: Bước 1: Tạo nội dung cố định gồm câu hỏi tiêu đề slide Powerpoint thông thường Tạo Option Box đặt tên opt1A, opt1B, opt1C, opt1D (dùng cho lựa chọn câu 1), opt2A, opt2B, opt2C, opt2D (dùng cho lựa chọn câu 2) Các nút “Chấm điểm”, “Làm lại” tương tự ví dụ 2.2 Bước 2: Tách thành nhóm cách gán thuộc tính GroupName=cau1 cho lựa chọn câu GroupName=cau2 cho lựa chọn lại Bước 3: Khi người dùng muốn làm lại ta gán giá trị False cho lựa chọn đưa điểm giá trị rỗng Private Sub lblReset_Click() opt1A.Value = False opt1B.Value = False opt1C.Value = False opt1D.Value = False opt2A.Value = False opt2B.Value = False opt2C.Value = False opt2D.Value = False lblDiem.Caption = "" End Sub Bước 4: Khi người dùng click vào “Chấm điểm” đưa điểm 0, opt1B chọn ta nâng điểm lên 1, tương tự opt2C chọn ta nâng điểm lên Private Sub lblChamDiem_Click() lblDiem.Caption = "0" If opt1B.Value = True Then lblDiem.Caption = lblDiem.Caption + If opt2C.Value = True Then lblDiem.Caption = lblDiem.Caption + End Sub BÀI CÁC ĐỐI TƯỢNG CƠ BẢN (Phần 4) TEXT BOX TextBox sử dụng để người dùng nhập liệu vào TextBox KHÔNG có thuộc tính Caption thành phần Thuộc tính quan trọng Text Box Text Dưới thuộc tính hay dùng Thuộc tính Mô tả Text/Value Nội dung có Text Box Text Value thường có giá trị giống Tuy nhiên thực phép tính số ta thường dùng value, thực phép chuỗi ta dùng thuộc tính Text MultiLine Nếu True cho phép người dùng nhập nhiều dòng Để xuống dòng Text Box ta nhấn SHIFT + ENTER ScrollBars Hiển thị cuộn trường hợp nội dung Text Box dài Bảng 2.4: Các thuộc tính hay dùng Text Box Sự kiện mặc định Text Box change xảy người dung thay đổi nội dung Text Box Ví dụ 2.5: Sử dụng Text Box để làm câu hỏi dạng điền khuyết Kết ví dụ slide có ô điền khuyết Người dùng nhập giá trị thích hợp theo yêu đề Chương trình cho phép tính điểm làm lại Hình 2.4: Câu hỏi điền khuyết dùng Text Box Hướng dẫn chi tiết: Bước 1: Soạn đề, tạo Text Box đặt tên txt1, txt2, txt3, txt4, txt5 tương ứng với năm vị trí cần điền Có thể thay đổi màu (BackColor), Font chữ cho phù hợp Các Label Orientation SmallChange Hướng Spin Dọc ngang Độ chênh lệnh lần thay đổi giá trị Bảng 2.6: Các thuộc tính Spin Button Sự kiện mặc định Spin Change Có nghĩa kiện xảy người dùng thay đổi giá trị Spin thông qua nút bấm Ví dụ 2.9: Dùng Spin kết hợp với Image xây dựng slide giúp học từ vựng tiếng anh Kết ví dụ slide có nút điều khiển tới lui (Spin) cho phép người dùng xem hình học từ vựng tương ứng Ý tưởng: Dùng Image để load hình text (hình text) tương ứng Dùng Spin để điều hướng Tùy vào giá trị Spin mà load hình tương ứng Hướng dẫn chi tiết: Bước 1: Tạo Image đặt tên imgHinh (dành cho hình minh họa), imgText (dùng cho hình text minh họa) Spin có tên spn, có Min=1, Max=5 (vì ta có hình minh họa),SmallChange=1 Bước 2: Các tập tin hình đặt tên có qui cách đặt thư mục media nằm ngang cấp với tập tin Powerpoint bao gồm: Hinh1.jpg đến Hinh5.jpg, Text1.jpg đến Text5.jpg Chú ý ta lấy vị trí tập tin Powerpoint thông qua ActivePresentation.Path Bước 3: Khi người dùng thay đổi giá trị Spin ta load hình tương ứng cách dùng phép nối chuỗi & để tạo đường dẫn thích hợp Giả sử tập tin Powerpoint ổ đĩa D:\Powerpoint, giá trị Spin 2, chuỗi trả “D:\Powerpoint” & “\media\Hinh” & & “,jpg” ta đường dẫn “D:\Powerpoint\media\Hinh1.jpg” Private Sub spn_Change() imgHinh.Picture=LoadPicture(ActivePresentation.Path & "\media\Hinh" & spn.Value & ".jpg") imgText.Picture=LoadPicture(ActivePresentation.Path & "\media\Text" & spn.Value & ".jpg") 'Refresh imgHinh imgHinh.Visible = False imgHinh.Visible = True 'Refresh imgText imgText.Visible = False imgText.Visible = True End Sub Bước 4: Khi người dùng nhấn “Học từ đầu” ta gán giá trị Spin = Private Sub lblReset_Click() spn.Value = End Sub BÀI CÁC ĐỐI TƯỢNG NÂNG CAO (Phần 1) Mục tiêu Sau bạn có thể: • Trình bày thuộc tính phương thức đối tượng mở rộng Windows Media Player, Shockwave, SpreadSheet • Sử dụng đối tượng Window Media & Shockwave để điều khiển audio, video • Sử dụng SpreadSheet để lưu trữ lấy liệu Giới thiệu Trong trình thiết kế trình chiếu muốn điểu khiển đoạn audio, video Shockwave Flash slide, lưu trữ liệu người dùng nhập vào, tạo ngân hàng câu hỏi trắc nghiệm…vv Trong Powerpoint ta làm điều nhờ sử dụng thành phần mở rộng ActiveX từ nút More Controls ToolBox Để sử dụng ActiveX máy bạn phải có Window Media (có sẵn window – tốt Window Media 10 trở lên, Flash Player (tải từ trang www.adobe.com), Excel 2003 (nếu bạn dùng Office 2007 nên cài thêm Excel 2003 để sử dụng SpreadSheet 11) BÀI CÁC ĐỐI TƯỢNG NÂNG CAO (Phần 2) WINDOWS MEDIA PLAYER (WMP) Với ActiveX ta mở tất tập tin audio hay video mà Windows Media Playe mở Nếu bạn thấy có số phim nén máy khác mở máy không mở bạn dùng từ khóa KLiteCode để tải code cài vào hệ thống Để sử dụng ActiveX click vào nút More Controls, sau tìm chọn mục Windows Media Player vẽ lên Slide Thuộc tính Mô tả url Chuỗi đường dẫn đến tập tin audio/video stretchToFit Nếu có giá trị True kéo giãn phim cho khít với kích thước WMP fullScreen True cho phép xem phim toàn hình Bảng 3.1: Các thuộc tính Windows Media Player Để đổi audio/video ta cần gán thuộc tính url WMP chuỗi vị trí tập tin audio/video Ví dụ 3.1: Dùng WMP để tạo slide cho phép người dùng xem phim sau Kết ví dụ slide cho phép người dùng xem hai đoạn phim điền vào chổ trống từ thích hợp Sau người dùng xem điểm làm lại Hình 3.1: Điều khiển Video Windows Media Player Ý tưởng: Dùng WMP cho người dùng xem phim, dùng Text Box để người dùng nhập liệu vào Hướng dẫn chi tiết: Bước 1: Tạo đối tượng WMP đặt tên wmp Tạo Text Box txt1, txt2, txt3 để người dùng nhập đáp án, nhãn lblvideo1, lblvideo2 (dùng để chọn video muốn xem), nhãn lblReset lblChamDiem tương tự ví dụ Bước 2: Khi người dùng chọn video để xem ta thay đổi thuộc tính url wmp Private Sub lblVideo1_Click() wmp.URL = ActivePresentation.Path & "\media\video1.wmv" End Sub Private Sub lblVideo2_Click() wmp.URL = ActivePresentation.Path & "\media\video2.wmv" End Sub Bước 3: Khi người dùng click “Làm lại” ta làm rỗng Text Box Private Sub lblReset_Click() txt1.Text = "" txt2.Text = "" txt3.Text = "" End Sub Bước 4: Khi người dùng click “Chấm điểm” Private Sub lblChamDiem_Click() Dim diem as Integer diem = If txt1.Text = "6" Then diem = diem + If txt2.Text = "secretary" Then diem = diem + If txt3.Text = "hard" Then diem = diem + MsgBox "Mark: " & diem & "/3" End Sub Có điểm ví dụ ta khai báo biến diem kiểu Integer từ khóa Dim sử dụng hàm MsgBox để thông báo kết BÀI CÁC ĐỐI TƯỢNG NÂNG CAO (Phần 3) SHOCKWAVE FLASH (SWF) ActiveX đóng vai trò Flash Player nằm slide trình chiếu Chính ta có load tập tin swf thông qua thuộc tính Movie ActiveX cung cấp số phương thức để điều hướng tập tin swf Stop, Play, Back, Forward…vv Để sử dụng ActiveX click vào nút More Controls, sau tìm chọn mụcShockwave Flash Object vẽ lên Slide Thuộc tính Movie Playing Mô tả Chuỗi đường dẫn đến tập tin swf Nếu True play tập tin swf ngược lại dừng Bảng 3.2: Các thuộc tính Shockwave Flash Ví dụ 3.2: Tạo slide cho phép người dùng chọn xem tập tin swf làAdd2Vectors.swf Add3Vectors.swf lưu thư mục media ngang cấp với tập tin Powerpoint Tạo nút cho phép người dùng điều hướng (stop, play, back, next, reset) Hướng dẫn chi tiết: Bước 1: Tạo SWF đặt tên swf, Label đặt tên lblStop, lblPlay, lblBack,lblNext (dùng để điều hướng tập tin swf), lblswf1, lblswf2, lblReset (dùng để load tập tin swf tương ứng) Bước 2: Khi người dùng muốn load tập tin flash tương ứng Private Sub lblswf1_Click() swf.Movie = ActivePresentation.Path & "\media\Add2Vectors.swf" End Sub Private Sub lblswf2_Click() swf.Movie = ActivePresentation.Path & "\media\Add3Vectors.swf" End Sub Private Sub lblReset_Click() swf.Movie = "No Movie" End Sub Bước 3: Khi người dùng muốn điều hướng Private Sub labBack_Click() swf.back End Sub Private Sub lblNext_Click() swf.Forward End Sub Private Sub lblPlay_Click() swf.Playing = True End Sub Private Sub lblStop_Click() swf.Playing = False End Sub BÀI CÁC ĐỐI TƯỢNG NÂNG CAO (Phần 4) SPREADSHEET 11 (SPS) ActiveX đóng vai trò một tập in Excel, thường dùng nơi để lưu trữ liệu Ta dễ dàng truy xuất thay đổi nội dung ô SPS thông qua thuộc tính Cells Thông thường thiết kế ứng dụng, ta thường lưu liệu chẳng hạn liệu người dùng nhập vào, nội dung câu hỏi đáp án Để sử dụng ActiveX click vào nút More Controls, sau tìm chọn mụcMicrosoft Office Spreadsheet 11.0 Object vẽ lên Slide Thuộc tính Mô tả Cells(row,col) Thuộc tính không thấy hộp thoại Properties Thuộc tính cho phép truy xuất thay đổi nội dung ô SPS Một ô đại diện giá trị dòng & cột Ví dụ muốn truy xuất đến ô dòng 1, cột ta dùng Cells(1,1) Bảng 3.3: Thuộc tính SpreadSheet Có thể soạn thảo nội dung trực tiếp vào SPS cách click phải vào SPS, chọn Microsoft Office Spreadsheet 11.0 Object, chọn Edit SPS hỗ trợ nhập font Unicode Khi làm việc SpreadSheet ta thường sử dụng đến cấu trúc lặp For có mẫu sau: For i = To 10 Step MsgBox i Next Đoạn code cho biến i chạy từ đến 10 với bước nhảy (step) 2, lần lặp xuất thông báo cho biết giá trị i Ví dụ 3.3: Sử dụng SPS để tạo mẫu trắc nghiệm lựa chọn có phản hồi Kết ví dụ slide cho phép người dùng di chuyển qua lại câu hỏi Ở câu hỏi, người dùng click vào lựa chọn chương trình cung cấp thông tin phản hồi (Bộ câu hỏi sử dụng ví dụ trích từ giảng điện tử môn Tâm lý học đại cương trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh) Ý tưởng: Dùng SPS để nhập vào câu hỏi, lựa chọn phản hồi Mỗi người dùng bấm nút chuyển câu hỏi ta lập công thức để lấy xác câu cần hiển thị từ Spreadsheet Hướng dẫn chi tiết: Bước 1: Tạo SPS đặt tên sps Sau nhập vào câu hỏi, lựa chọn phản hồi theo mẫu sau: Hình 3.4: Mẫu nhập câu hỏi lựa chọn vào Spreadsheet Bước 2: Thực chèn: Label lblCau (dùng để hiển thị thứ tự câu hành), lblQues (dùng để hiển thị câu hỏi), lblFB (dùng để hiển thị phản hồi) OptionBox Opt1, Opt2, Opt3, Opt4 (để hiển thị lựa chọn) Spin Button đặt tên spn dùng để đổi câu Thuộc tính value Spin lưu số thứ tự câu hành Có thuộc tính Min=1, Max=Số câu hỏi có Spreadsheet Button đặt tên btnReset để đưa câu Bước 3: Khi người dùng thay đổi giá trị spn ta thực load nội dung tương ứng Cần ý câu chiếm dòng sps Câu có dòng cuối 5, câu có dòng cuối 10, …, câu n có dòng cuối (nx5) Có dòng cuối ta tìm dòng liền cách trừ cho 1, cho 2, cho cho Vì thứ tự câu hành giá trị Spin nên ta có công thức tính sau: Câu hỏi hành = Giá trị ô nằm dòng (spn.value x – 4), cột Lựa chọn A = Giá trị ô nằm dòng (spn.value x – 3), cột Phản hồi A = Giá trị ô nằm dòng (spn.value x – 3), cột Lựa chọn B = Giá trị ô nằm dòng (spn.value x – 2), cột Phản hồi B = Giá trị ô nằm dòng (spn.value x – 2), cột Lựa chọn C = Giá trị ô nằm dòng (spn.value x – 1), cột Phản hồi C = Giá trị ô nằm dòng (spn.value x – 1), cột Lựa chọn D = Giá trị ô nằm dòng (spn.value x 5), cột Phản hồi D = Giá trị ô nằm dòng (spn.value x 5), cột Mỗi người dùng đổi câu hỏi, việc load nội dung ta bỏ chọn cho Option Box (gán value =false), làm rỗng phản hồi thay đổi số hiển thị lblCau Private Sub spn_Change() lblCau.Caption = spn.Value Opt1.Value = False Opt2.Value = False Opt3.Value = False Opt4.Value = False lblFB.Caption = "" lblQues.Caption = sps.Cells(spn.Value * - 4, 1) Opt1.Caption = sps.Cells(spn.Value * - 3, 1) Opt2.Caption = sps.Cells(spn.Value * - 2, 1) Opt3.Caption = sps.Cells(spn.Value * - 1, 1) Opt4.Caption = sps.Cells(spn.Value * 5, 1) End Sub Bước 4: Khi người dùng click lựa chọn hiển thị phản hồi tường ứng Private Sub Opt1_Click() lblFB.Caption = sps.Cells(spn.Value * - 3, 2) End Sub Private Sub Opt2_Click() lblFB.Caption = sps.Cells(spn.Value * - 2, 2) End Sub Private Sub Opt3_Click() lblFB.Caption = sps.Cells(spn.Value * - 1, 2) End Sub Private Sub Opt4_Click() lblFB.Caption = sps.Cells(spn.Value * 5, 2) End Sub Bước 5: Khi người dùng nhấn “Làm lại” ta chuyển câu 1, bỏ chọn cho Option Box, làm rỗng phản hồi Private Sub btnReset_Click() Opt1.Value = False Opt2.Value = False Opt3.Value = False Opt4.Value = False lblFB.Caption = "" spn.Value = End Sub BÀI 04 THỜI GIAN TRONG VBA Mục tiêu Sau bạn có thể: • Trình bày nguyên tắc quản lý thời gian VBA • Vận dụng tạo đồng hồ, thiết lập thời gian cho học Giới thiệu Trong trình thiết kế học, kiểm tra Powerpoint, muốn giới hạn thời gian thực cho hoạt động đó, lúc ta phải tự xây dựng cho đồng hồ thời gian để làm điều Mặc định, VBA không cung cấp đối tượng để quản lý thời gian Trong Visual Basic có đối tượng Timer tự động thực sau khoảng thời gian (interval), VBA không Trong người dùng thực hoạt động khác, đồng hồ phải chạy Vì ý tưởng là, ta kích hoạt đồng hồ giây lần, thời gian giây ta trả quyền quản lý cho hệ thống lệnh DoEvents Nguyên tắc quản lý thời gian VBA Để xây dựng trình chiếu có tính đến yếu tố thời gian dùng VBA cần tuân theo nguyên tắc sau: • Phải xác định điểm dừng: ví dụ đồng hồ (thời gian làm bài) dừng sau 60 phút, 10 phút, 60 giây vv • Viết kiện để bắt đầu tính thời gian: ví dụ phải có nút bắt đầu • Viết kiện để kết thúc việc tính thời gian trước khoảng thời gian quy định: ví dụ người học muốn kết thúc trước hết làm • Chọn kiện khoảng thời gian để cập nhật lại đồng hồ: ví dụ sau giây cập nhật lại đồng hồ • Không bấm nút ESC để thoát khỏi slide đồng hồ chạy mà phải gọi kiện kết thúc trước bấm nút ESC Xây dựng đồng hồ Ta có lệnh DoEvents trả quyền kiểm soát cho hệ thống Khi ta gọi câu lệnh hệ thống có quyền sử dụng CPU cho tiến trình khác Ví dụ ta thực vòng lặp từ đến tỉ khoảng thời gian Trong khoảng thời gian ta không làm việc khác nữa, hệ thống thực vòng lặp Tuy nhiên vòng lặp ta gọi DoEvents vòng lặp hệ thống có khoản thời gian để thực công việc khác ta cảm giác vòng lặp chạy Chính đặc điểm ta sử dụng DoEvents để người dùng làm hoạt động khác đồng hồ chạy Đoạn code chung để tạo đồng hồ VBA Dim PauseTime, Start, Finish 'Gán thoi gian cho la giay PauseTime = 'Lay thoi diem hien tai Start = Timer 'Tao vong lap chua het thoi gian cho Do While Timer < Start + PauseTime ' Chuyen quyen quan ly cho he thong lap DoEvents Loop Biến nhận khoảng thời gian chờ tính theo giây, biến lấy thời gian hàm Timer, Ta thực vòng lặp hết thời gian chờ Trong lần lặp ta trả quyền kiểm soát cho hệ thống để thực tác vụ khác Ví dụ 4.1: Giả sử thời gian làm câu ví dụ 3.3 30 giây, viết thêm chức hiển thị đồng hồ, đếm lùi thời gian để người dùng canh thời gian làm Ý tưởng: Khi người dùng click “Bắt đầu” ta thực việc gán cho Text Box đếm ngược thời gian làm (300) Mỗi Text Box thay đổi ta lại cho chờ khoảng giây sau trừ giá trị Text Box giá trị 0, đồng thời cập nhật lại Label hiển thị đồng hồ Trong chờ ta chuyển quyền quản lý cho hệ thống Hướng dẫn chi tiết: Bước 1: Sử dụng lại kết ví dụ 3.3 Tạo thêm Text Box txtSecond để hiển thị số giây đếm ngược, Label lblClock để hiển thị đồng hồ Thêm Button cmdKetThuc làm nút kết thúc Bước 2: Khi người dùng bấm “Bắt đầu” (tương đương với nút làm lại cũ) ta thực gán thời gian làm 30*10 (30 giây câu, ta có 10 câu) Đồng thời bỏ chọn Option box ví dụ 3.3 Private Sub btnReset_Click() Opt1.Value = False Opt2.Value = False Opt3.Value = False Opt4.Value = False spn.Value = lblFB.Caption = "" txtSecond.Value = 30 * 10 End Sub Bước 3: Mỗi txtSecond thay đổi ta chờ giây, sau cập nhật lại đồng hồ trừ bớt giá trị TextBox Trong thời gian chờ nhớ trả quyền quản lý cho hệ thống Lưu ý để lấy thời gian ta dùng hàm Now kết hợp với hàm Format với chuỗi định dạng tttttt Private Sub txtSecond_Change() If txtSecond.Value > Then Dim PauseTime, Start, Finish ' Gán thoi gian cho la giay PauseTime = 'Lay thoi diem hien tai Start = Timer 'Tao vong lap chua het thoi gian cho Do While Timer < Start + PauseTime ' Chuyen quyen quan ly cho he thong lap DoEvents Loop If txtSecond.Value > Then lblClock.Caption = Format(Now, "tttttt") txtSecond.Value = txtSecond.Value - End If End If End Sub Như Text Box thay đổi lại gọi kiện giá trị đến Điểm dừng ta Text Box Điểm bắt đầu người dùng bấm vào “Bắt đầu” Bước 4: Khi người dùng không muốn làm click nút kết thúc Private Sub cmdKetThuc_Click() txtSecond.Value = End Sub BÀI SLIDE & SHAPE Mục tiêu Sau bạn có thể: • Đặt tên cho slide & shape • Truy xuất đến slide & shape • Viết Macro cho shape Giới thiệu Thành phần trình chiếu Slide Trên Slide thường chèn TextBox, hình ảnh, shape Ở ta gọi chung đối tượng Shape Slide & Shape có tên để truy xuất đến Tuy nhiên Powerpoint không cung cấp chức để xem tên gán tên cho Slide/Shape Chúng ta đổi tên cho Shape/Slide code, nhiên thường xuyên làm việc Shape điều rõ rang không thuận tiện, tạo Plugin sử dụng cho PowerPoint 2007 giúp bạn thực điều Có thể truy cậphttp://vn.myblog.yahoo.com/onceclick để download Plugin Sau cài đặt PowerPoint 2007 có thêm tab VBA Support Ribbon Trên cung cấp chức lấy tên slide/shape đưa vào clipboard, đặt tên cho slide/shape, lấy đường dẫn truy xuất đến slide/shape, số đoạn code điều hướng slide Hình 5.1: Giao diện VBA Support Nếu sử dụng công cụ không cần phải đọc phần đổi tên cho Slide/Shape Nếu bạn sài Powerpoint 2003 đổi tên cho Slide/Shape sau Đọc/đổi tên Shape/Slide Bước 1: Chọn Slide Shape muốn đổi tên Bước 2: Bấm ALT+F11 để mở cửa sổ Visual Basic Sau bấm Ctrl + G chọn MenuView/Immediate Window để mở ngăn Immediate Ngăn cho phép người dùng gõ chạy code thử nghiệm Ta sử dụng ngăn để đọc đổi tên Slide/Shape Mỗi lệnh ngăn nằm dòng, nhấn Enter thực lệnh Ví dụ gõ vào msgbox "Hello" sau Enter xuất thông báo với chuỗi “Hello” Bước 3: Gõ vào lệnh sau để thực nhiệm vụ tương ứng Nhiệm vụ Code Đọc tên Slide debug.print ActiveWindow.View.Slide.Name Đổi tên Slide ActiveWindow.View.Slide.Name = "Hello" Đọc tên Shape debug.print ActiveWindow.Selection.ShapeRange.Name Đổi tên Shape ActiveWindow.Selection.ShapeRange.Name = "TenShape" Bảng 5.1: Đọc/đổi tên Slide/Shape Truy xuất đến Slide/Shape Giả sử Shape có tên “Title 1” nằm Slide tên “Hello” ta truy xuất đến Slide/Shape thông qua đoạn code sau: Loại Code Slide ActivePresentation.Slides("Hello") Shape ActivePresentation.Slides("Hello").Shapes("Title 1") Bảng 5.2: Truy xuất đến Slide/Shape Muốn thay đổi hay gọi thuộc tính/phương thức Slide/Shape cần truy xất đến Slide/Shape sau thêm dấu chấm VBA hộp thoại cho bạn chọn Ví dụ 5.1: Xem tọa độ bên trái Shape: debug.print ActivePresentation.Slides("Hello").Shapes("Title 1").Left Ví dụ 5.2: Quay Shape 45 độ: ActivePresentation.Slides("Hello").Shapes("Title 1").IncrementRotation 45 Ví dụ 5.3: Lật shape theo chiều dọc ActivePresentation.Slides("Hello").Shapes("Title 1").Flip msoFlipVertical Viết Macro cho Shape Macro thật đoạn code nhằm thực công việc Để tạo Macro cho Shape ta thực sau: Bước 1: Nhấn ATL + F11 để mở cửa sổ Visual Basic, Từ Menu Insert, chọn Insert Module Module mặc định tạo module1, tạo module tùy ý nhiên thường cần viết module đủ Code viết Module gọi từ đâu, slide Bước 2: Từ Menu Insert chọn Procedure, đặt tên cho thủ tục nhấn OK để chèn thủ tục Thủ tục gọi Macro Sau viết code cho macro Bước 3: Quay cửa sổ thiết kế: Đối với PowerPoint 2003: Click phải vào Shape muốn gán Macro, chọn Action Settings, chọn Run Macro chọn tên Macro cần thực Đối với PowerPoint 2007: Chọn Shape cần gán Macro, click vào nút Action ngănInsert, chọn Run Macro chọn tên Macro cần thực Điều hướng Slide Thông thường muốn di chuyển Slide, ta cần chèn Shape sau mở hộp thoại Action Settings phần trên, phần Hyperlink To chọn Slide muốn chuyển tới click vào Shape Tuy nhiên đôi muốn tùy thuộc vào điều kiện mà chuyển đến Slide thích hợp (người dùng trả lời đúng/sai), thực công việc trước chuyển tới Slide khác (cộng dồn điểm, khởi tạo giá trị…) phải viết Macro để chuyển Slide Dưới số mã lệnh để chuyển Slide Di chuyển Code Chuyển đến slideActivePresentation.SlideShowWindow.View.GotoSlide(i) thứ i Slide ActivePresentation.SlideShowWindow.View.First Slide cuối ActivePresentation.SlideShowWindow.View.Last Slide liền trước ActivePresentation.SlideShowWindow.View.Previous Slide liền sau ActivePresentation.SlideShowWindow.View.Next Kết thúc trìnhActivePresentation.SlideShowWindow.View.Exit chiếu Bảng 5.3: Điều hướng Slide Thay đổi nội dung Text bên Shape Cấu trúc chung: TextFrame.TextRange.Text ="Hello" Ví dụ 5.4: Thay đổi giá trị cho Shape “hoten” slide “user” giá trị “Nguyen Van A” ActivePresentation.Slides("user").Shapes("hoten").TextFrame.TextRange.Text ="Nguyen Van A" Các ứng dụng thực tiễn shape Ví dụ 5.5: Xây dựng đồng hồ Shape Kết ví dụ đồng hồ Analog, cho phép người dùng chạy dừng Hình 5.2: Đồng hồ Shape Ý tưởng: Đối tượng Shape có thuộc tính Rotation, thuộc tính mang giá trị từ (0-360), cho phép Shape quay xung quanh điểm Shape Nhờ đặc điểm ta dùng để thực tập Hướng dẫn chi tiết: Bước 1: Vẽ hình tròn làm khung đồng hồ Bước 2: Tạo kim đồng hồ Vì Shape quay quanh tâm kim đồng hồ lại không quay quanh tâm Chính ý tưởng đơn giản group kim đồng hồ với hình tròn có kích thước hình tròn bước Cần ý bỏ đường viền cho hình tròn suốt trước group Lần lượt tạo kim giờ, kim phút kim giây (Chú ý nên làm kim đứng thẳng xem độ) Bước 3: Lần lượt đặt tên cho group KimGio, KimPhut, KimGiay Đặt tên cho Slide làclock Tạo Button đặt tên btnStart để bật/tắt đồng hồ Bước 4: Cần lưu ý phút tương đương với độ, giây tương đương với độ, tương ứng với 30 độ (vì phải sử dụng hàm làm tròn) Chính có giây ta cho KimGiay quanh góc (SoGiay*6), tương tự cho kim phút, riêng kim việc quay góc (giờ*30) phải cộng thêm góc phút tạo (SoPhut/2) (vì tương đương 30 độ, có nghĩa 60 phút tương đương 30 độ có kết SoPhut/2) Bước 5: Khi người dùng bật đồng hồ, giây ta cập nhật lại góc quay kim Ở có sử dụng vòng lặp dạng While {các lệnh} Wend Có nghĩa thực lệnh Vì việc cập nhật bao gồm nhiều lệnh nên ta viết riêng thủ tục CapNhatGio để cập nhật lại góc kim đồng hồ Sub CapNhatGio() Dim gio, phut, giay As Integer gio = Hour(Now) Mod 12 phut = Minute(Now) giay = Second(Now) '1 giay tuong duong voi ActivePresentation.Slides("user").Shapes("KimGiay").Rotation = giay * '1 phut tuong duong voi ActivePresentation.Slides("user").Shapes("KimPhut").Rotation= phut * '1h tuong duong voi 30 ActivePresentation.Slides("user").Shapes("KimGio").Rotation=gio*30+Round(phut/2) End Sub Private Sub btnStart_Click() If (btnStart.Caption = "Run Clock") Then btnStart.Caption = "Stop Clock" Else btnStart.Caption = "Run Clock" End If While (btnStart.Caption = "Stop Clock") CapNhatGio Dim PauseTime, Start, Finish ' Gán thoi gian cho la giay PauseTime = 'Lay thoi diem hien tai Start = Timer 'Tao vong lap chua het thoi gian cho Do While Timer < Start + PauseTime ' Chuyen quyen quan ly cho he thong lap DoEvents Loop Wend End Sub Ví dụ 5.6: Xây dựng Slide thu thập ý kiến Shape Kết ví dụ slide cho phép người dùng nhập ý kiến vào Text Box, bấm nút Add thêm nội dung vào Shape Bấm Reset thu thập ý kiến từ đầu Hình 5.3: Slide thu thập ý kiến Ý tưởng: Dùng thuộc tính TextFrame.TextRange.Text Shape Hướng dẫn chi tiết: Bước 1: Chèn Text Shape có dạng hình 5.3 đặt tên YKien, Slide có tên làThuThap, button text box có tên btnAdd, btnReset txtAdd Bước 2: Khi người dùng bấm nút Add ta đưa nội dung từ txtAdd lên YKien cách nối chuỗi (&) đồng thời làm rỗng txtAdd, người dung bấm Reset ta làm rỗng txtAdd YKien Điểm lưu ý ký tự xuống dòng chr$(13) Ở có sử dụng cấu trúc With End With , cấu trúc cho phép phần code bên không cần viết lại đối tượng mà cần dùng dấu “.” để gọi thuộc tính đối tượng Private Sub btnAdd_Click() With ActivePresentation.Slides("ThuThap").Shapes("YKien") TextFrame.TextRange.Text = TextFrame.TextRange.Text & txtAdd.Text & Chr$(13) txtAdd.Text = "" End With End Sub Private Sub btnReset_Click() ActivePresentation.Slides("ThuThap").Shapes("YKien").TextFrame.TextRange.Text = "" txtAdd.Text = "" End Sub Powerful PowerPoint for Educators: Using Visual Basic for Applications to Make PowerPoint Interactive" David M Marcovitz Nhận xét Đăng nhập|Báo cáo lạm dụng|Trang in|Được cung cấp Google Sites ... muốn làm lại ta gán giá trị False cho l a chọn đ a điểm giá trị rỗng Private Sub lblReset_Click() opt 1A. Value = False opt1B.Value = False opt1C.Value = False opt1D.Value = False opt 2A. Value = False... (gán value =false), làm rỗng phản hồi thay đổi số hiển thị lblCau Private Sub spn_Change() lblCau.Caption = spn.Value Opt1.Value = False Opt2.Value = False Opt3.Value = False Opt4.Value = False... cong nhap If txtIn1.Value And txtIn1.Value Then txtIn1.Value = If txtIn2.Value And txtIn2.Value Then txtIn2.Value = 'Tao ket qua If txtIn1.Value = txtIn2.Value And txtIn1.Value =

Ngày đăng: 19/05/2017, 14:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan