Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 175 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
175
Dung lượng
2,28 MB
Nội dung
Đại Học Sư Phạm Tp Hồ Chí Minh Chuyên đề VBA Visual Basic for Application Thông tin giảng viên • LƯƠNG TRẦN HY HIẾN • Bộ môn Tin Học • Khoa Toán – Tin học • Phone: 0989 366 990 • Email: hienlth@hcmup.edu.vn • Website: http://fit.hcmup.edu.vn/~hienlth/VBA Chuyên đề VBA – HIENLTH Thông tin môn học • Chuyên đề VBA • Số đvht: (60t = 30LT + 30TH) • Môi trường làm việc: – Bộ MS Office 2003 (2007) • VBA for WORD • VBA for EXCEL • VBA for PowerPoint • VBA for Access • VBA for Outlook Chuyên đề VBA – HIENLTH Mục tiêu • Nhằm cung cấp cho sinh viên kiến thức liên quan đến lập trình Visual Basic MS Office • Cung cấp kiến thức ngôn ngữ VBA • Viết Macro từ đơn giản đến phức tạp Chuyên đề VBA – HIENLTH Đề cương môn học: VBA • • • • • • Chương 1: Giới thiệu tổng quan VBA Chương 2: VBA for Word Chương 3: VBA for Excel Chương 4: VBA for Access Chương 5: VBA for Outlook Chương 6: Bài tập Chuyên đề VBA – HIENLTH Đánh giá kết học tập • Làm tập: Thang điểm 10 • Bài tập không nộp hạn, làm giống điểm • Nhóm sinh viên(3-5 SV) chọn số đề tài cho tổng điểm 10, không nhóm chọn • Nộp qua email: hyhien@gmail.com trước ngày 5/9/2010 2010 • Tiêu đề thư: VBA_DongNai_STTNhom Chuyên đề VBA – HIENLTH Tài liệu tham khảo • Slide giảng giảng viên • Ebook cung cấp: – Absolute.Beginners.Guide.to.VBA Absolute.Beginners.Guide.to.VBA.chm – Excel VBA Macro Programming.chm Programming – Writing Excel Macros With VBA 2nd Ed.pdf Ed – Access VBA Programming.chm Programming • Tham khảo tài liệu Internet • Các ví dụ mẫu Chuyên đề VBA – HIENLTH Tài liệu tham khảo - URL • • • • • • • • http://www.caulacbovb.com/ http://www.vbaexpress.com/ http://www.excel-vba.com/ http://word.mvps.org http://homepage.swissonline.ch/cindymeister http://www.excelguru.ca/sitemenu http://www.fontstuff.com/ http://www.andreavb.com/forum/viewboard_10.ht ml Chuyên đề VBA – HIENLTH Câu hỏi thảo luận Chuyên đề VBA – HIENLTH Đại Học Sư Phạm Tp Hồ Chí Minh Chuyên đề VBA Giới thiệu tổng quan Điều chỉnh cổng gửi/nhận thư Chuyên đề VBA – HIENLTH 161 Điều chỉnh cổng gửi/nhận thư • POP3: 995 • SMTP: 465 Chuyên đề VBA – HIENLTH 162 Nội dung chương • • • • • Xác định, copy, di chuyển, xóa email Xác định người gửi, chủ đề, nội dung,… Gửi email Thêm, xóa, download attach Sử dụng Outlook ứng dụng khác MS Office Chuyên đề VBA – HIENLTH 163 Khai báo Dim ns As NameSpace Dim ib As MAPIFolder Set ns = ThisOutlookSession.Session Set ib = ns.GetDefaultFolder(olFolderInbox) Khai báo Namespace MAPIFolder Ví dụ: Truy xuất tới thư mục Input Personal Folders ns.Folders(1).Folders(3) ns.Folders("Personal Folders").Folders(“Input") Chuyên đề VBA – HIENLTH 164 Liệt kê tất Folder Sub demo() Dim ns As NameSpace Dim folder As MAPIFolder Dim subfolder As MAPIFolder ' Dat namespace lam viec Set ns = ThisOutlookSession.Session For Each folder In ns.Folders MsgBox "TM cha: " & folder.Name If folder.Folders.Count > Then For Each subfolder In folder.Folders MsgBox subfolder.Name Next 'subfolder End If Next 'folder Set ns = Nothing End Sub Làm việc với Email - MailItem • Khai báo: Dim msg As MailItem • Các thuộc tính: (msg.Tên_thuộc_tính) – – – – – – – – – BCC, CC: Địa BCC, CC Body, BodyFormat: Nội dung thư HTMLBody: Nội dung thư dạng HTML Recipients: Người nhận SenderName: Người gửi Subject: Chủ đề thư To: Tên người nhận UnRead: Đã đọc chưa? SenderEmailAddress: Email người gửi Chuyên đề VBA – HIENLTH 166 Mail Items • Các phương thức: – Close – Copy, Move, Delete – Save – Print Out – Send – Forward, Reply, ReplyAll Chuyên đề VBA – HIENLTH 167 Gửi email đơn giản Sub Send_First_Email() Dim mi As MailItem Set mi = Application.CreateItem(olMailItem) mi.To To = "hpt7777@gmail.com" mi.Subject Subject = "Test email" mi.Body Body = "test" mi.Send Send End Sub Chuyên đề VBA – HIENLTH 168 Ví dụ: Tạo email trả lời tự động Sub autoreply_Thanks() Dim ns As NameSpace Dim oInbox As MAPIFolder Dim msg As MailItem 'Tao doi tuong Inbox Set ns = ThisOutlookSession.Session Set oInbox = ns.GetDefaultFolder(olFolderInbox) 'Duyet chua doc inbox For Each msg In oInbox.Items With msg If UnRead Then With Reply Subject = "THANKS FOR EMAIL" Body = "Thanks for email!!! Good luck!" Send End With End If End With Next msg End Sub Chuyên đề VBA – HIENLTH 169 Chọn email người nhận • mi.To: Thêm 01 người nhận • mi.Recipients.Add:Thêm nhiều người nhận Chuyên đề VBA – HIENLTH 170 Attachment • • • • mi.Attachments.Add mi.Attachments.FileName mi.Attachments.Delete mi.Attachments.SaveAs (Path) Chuyên đề VBA – HIENLTH 171 Sử dụng Email ứng dụng khác • (Alt + F11) Tools / References… – Microsoft Outlook 11.0 Object Library Chuyên đề VBA – HIENLTH 172 Khai báo sử dụng Dim ol As Outlook.Application Set ol = CreateObject("Outlook.Application") Dim ns As NameSpace Dim folder As MAPIFolder ‘Thiết lập kết nối Set ns = ol.GetNamespace("MAPI") ns.Logon ‘Thực công việc tương tự Outlook Chuyên đề VBA – HIENLTH 173 Ví dụ gửi mail Excel Public Function SendEMail(Recipient As String, Subj As String, Body As String) Dim App As Object Dim Mail As Object Set App = CreateObject("Outlook.Application") Set Mail = App.CreateItem(0) With Mail Subject = Subj ‘Tiêu đề thư Recipients.Add (Recipient) ‘Email người nhận Body = Body ‘Nội dung thư End With Mail.Send Set Mail = Nothing Set App = Nothing End Function Chuyên đề VBA – HIENLTH 174 Câu hỏi thảo luận Chúc bạn hoàn thành tốt tập ứng dụng vào công việc thực tế! Chuyên đề VBA – HIENLTH 175 [...]...Chương 1: Giới thiệu tổng quan • Là bộ phần mềm lập trình dành riêng cho MS Office và tích hợp sẵn trong MS Office • Với VBA, các thao tác thực hiện một cách tự động theo ý muốn người sử dụng • Các cú pháp tương đương Visual Basic 6.0 + Thêm 1 số cái khác • Khơng phân biệt hoa/thường Chun đề VBA – HIENLTH 11 Để VBA (Macro) hoạt động •... hằng: • CONST [as ] = trị • Ví dụ: – Const x = 5 – Const y = 1 Chun đề VBA – HIENLTH 32 Các hàm chuyển đổi kiểu… • Trong lập trình, cần chuyển đổi qua lại giữa các kiểu dữ liệu • Các hàm chuyển đổi kiểu là một phần khơng thể thiếu của các ngơn ngữ lập trình • VBA cung cấp các hàm chuyển đổi kiểu khá tiện Chun đề VBA – HIENLTH 33 CBool Chuyển 0 thành false, các trị khác thành true CByte... – Bắt đầu với ký tự chữ – Khơng vượt q 255 ký tự – Khơng trùng từ khóa VBA – Khơng chứa khoảng trắng, , !, #, $, %, &, @ Chun đề VBA – HIENLTH 29 Khai báo tường minh trong VBA Option Explicit • Chương trình sẽ tự kiểm tra và nhắc khai báo biến tường minh (khai báo trong phần General) Require Variable Declaration • Có thể khai báo tự động trong mục: Menu Tools - Option Chun đề VBA – HIENLTH 30 Phạm vi ... Outlook Chun đề VBA – HIENLTH Mục tiêu • Nhằm cung cấp cho sinh viên kiến thức liên quan đến lập trình Visual Basic MS Office • Cung cấp kiến thức ngơn ngữ VBA • Viết Macro từ đơn giản đến phức tạp... quan • Là phần mềm lập trình dành riêng cho MS Office tích hợp sẵn MS Office • Với VBA, thao tác thực cách tự động theo ý muốn người sử dụng • Các cú pháp tương đương Visual Basic 6.0 + Thêm số... HIENLTH 32 Các hàm chuyển đổi kiểu… • Trong lập trình, cần chuyển đổi qua lại kiểu liệu • Các hàm chuyển đổi kiểu phần khơng thể thiếu ngơn ngữ lập trình • VBA cung cấp hàm chuyển đổi kiểu tiện