H ng d n l p trình VB.NET ướ Ch ng 13: T đ ng hóa và qu n lý ti nươ ế
trình
Ch ng ươ 13:
T đ ng hóa trong ng d ng Microsoft và qu n lý ti n trình ế
--------oOo--------
N i dung th o lu n:
- S d ng Object Browser đ tìm hi u đ i t ng ượ
- S d ng Microsoft Excel đ tính toán trong ch ng trình VB ươ
- X lý b ng tính Excel t trong ch ng trình VB.NET ươ
- Kh i đ ng và ch m d t ti n trình Windows b ng thành ph n qu n lý ti n trình ế ế
Trong ch ng này chúng ta s th qu n các ng d ng văn phòng c a Microsoft tươ
ch ng trình VB.NET, xem các đ i t ng v i thu c tính, ph ng th c b ng Objectươ ượ ươ
Browser.
Chú ý:
- gi đây tính năng ActiveX d a trên hình công ngh COM không còn
đ c thi t k trong VB.NET n a tuy nhiên b n v n có th s d ng chúng nhượ ế ế ư
đã nói trong ch ng tr c.ươ ướ
- Các ng d ng văn phòng v n có th truy xu t theo đ c t COM và có th đi u
khi n ngay trong ng d ng VB.NET thông qua k thu t Automation. Tuy nhiên
các tham chi u nên s d ng lúc biên d ch thay cho lúc ch ng trình th c thi.ế ươ
- Gi đây trong VB.NET l p đ i t ng Process đ c đ t ngay trong TOOLBOX ượ ượ
đ ph c v cho công vi c kh i t o, đi u khi n m t ng d ng bên ngoài.
1. L p trình đi u khi n các đ i t ng ng d ng b ng Atomation ượ
Automation k thu t d a trên ng ngh n n t ng c a hình thành ph n đ i
t ng COM (Component Object Model). COM cho phép các đ i t ng c a ng d ngượ ượ
khác nhau có th ch y chung nh trong m t môi tr ng. Ví d , b n có th t n d ng các ư ườ
ng d ng so n th o văn b n trong ch ng trình c a b n. V i ASP.NET thì b n th ươ
dùng m t s đ i t ng so n th o nh FreeTextBox 2.0…. V i VB.NET, đ th s ượ ư
d ng COM thì b n c n làm theo m t s b c s đ c gi i thi u sau đây. ướ ượ
Hi n t i b n th truy xu t các ng d ng văn phòng Microsoft Office sau theo
hình COM:
- Microsoft Visual Studio.NET, Microsoft Visual 6.
- MS.World 2003, 2002, 2000, 97
- MS.Excel 2003, 2002, 2000, 97
Biên so n: Ph m Đ c L p - 1 - Add: cnt-44-dh,
VIMARU
H ng d n l p trình VB.NET ướ Ch ng 13: T đ ng hóa và qu n lý ti nươ ế
trình
- MS.Powerpoint 2003, 2002, 2000, 97
- MS.Outlook 2003, 2002, 2000, 97 – 98
Hi n nay Microsoft đã chính th c cho phép VB ngôn ng l p trình chính th c cho các
ng d ngn h u h t các ng d ng windows h tr Automation đ ế u cung c p cho b n
cách t ng tác và vi t l nh r t gi ng v i ch ng trình VB.ươ ế ươ
1.1. S d ng Automation trong VB.NET
Trong VB b n v a th t o ra ng d ng d ng đ i t ng d ng server, client. ượ Trong
ph n này chúng ta s s d ng các đ i t ng server có s n. ượ
Trong ng d ng microsoft office đ um t t p h p đ i t ng v i ph ng th c h tr ượ ươ
riêng. B n có th xem chúng qua tài li u h ng d n hay nh đ i t ng Object Browser. ướ ượ
1.2. Công c Visual Studio Object Browser
Công c này cho phép b n th c hi n quan sát n i dung đ i t ng nh : ượ ư
- Xem t t c các thu c tính, ph ng th c t p đ i t ng con c a VB.NET. ươ ượ
B n có th bi t tham s , ki u d li u c a thu c tính và m c đích s d ng c a ế
chúng.
- Xem t t c các thu c tính, ph ng th c t p con c a các ng d ng ươ
Automation server đang cài trên h th ng c a b n.
Bây gi chúng ta s t o ch ng trình MyExcelAutomation đ dùng đ i t ng Object ươ ượ
Browser xem các đ i t ng trong ng d ng MS.Excel 2003. ượ
Ch ng trình MyExcelAutomation:ươ
B n t o m i m t gi i pháp thêm vào d án cùng tên MyExcelAutomation nh đãư
bi t. Sau đó làm theo các b c sau:ế ướ
- Ch n Project | Add Reference làm xu t hi n m t h p tho i nh hình: ư
Biên so n: Ph m Đ c L p - 2 - Add: cnt-44-dh,
VIMARU
H ng d n l p trình VB.NET ướ Ch ng 13: T đ ng hóa và qu n lý ti nươ ế
trình
- Co 5 tab nh hình, m i tab ch a m t t p các đ i t ng dùng theo các ch cư ượ
năng riêng bi t.
- Nh n ch n tab COM, các đ i t ng trong tab này đ c h th ng đăng s n ượ ượ
trong Registry c a windows (b n có th xem Registry b ng cách m h p tho i
run và gõ l nh Regedit)
- B n cu n xu ng tìm Microsoft Excel 11.0 Object Library, nh n nút OK nh ư
hình
Biên so n: Ph m Đ c L p - 3 - Add: cnt-44-dh,
VIMARU
H ng d n l p trình VB.NET ướ Ch ng 13: T đ ng hóa và qu n lý ti nươ ế
trình
- Ch n View | Object Browser hay n phím F2 đ m c a s công c Object
Browser nh hình:ư
- B n nh n vào nút (+) k bên ế Excel xem chi ti t v thông tin c a các đ iế
t ng Automation mà Excel cung c p.ượ
- N u c n b n th n ti p nút (+) nhánh Application đ xem danh sách cácế ế
ph ng th c, s ki n thu c tính dành cho đ i t ng s xu t hi n trongươ ượ
khung Member of: Exce l bên ph i. Chúng nh ng ph ng th c cho phép b n ươ
truy c p b ng tính Excel.
- B n th xem b t kỳ ph ng th c nào trong ph n đ c li t trong khung ươ ượ
member. Ví d ta có th xem ph ng th c ươ Quit là ph ng th c đóng ng d ngươ
Excel cũng nh các ng d ng Automation.ư
Bây gi sau khi đã xem xét các ph ng th c, đ i t ng v i Object Browser chúng ta s ươ ượ
s d ng Atomation Excel trong ch ng trình c a mình. ươ
2. T đ ng hóa b ng Atomation EXCEL trong ch ng trình Visual Bas ươ ic
Sau đây các b c t ng quát đ s d ng các l nh Excel cũng nh các đ i t ngướ ư ượ
Automation nói chung:
B1. Thêm vào d án tham chi u tr đ n th vi n đ i t ng b n mu n truy ế ế ư ượ
xu t b ng l nh Add Reference nh đã bi t trong ph n 1. ư ế
B2. Vi t ch ng trình VB. Dùng phát bi u Dim đ khai báo s d ng đ i t ngế ươ ượ
Atomation. Ti p theo dùng hàm Ctype CreatObject đ t o m t th hi n choế
đ i t ng: ượ
Biên so n: Ph m Đ c L p - 4 - Add: cnt-44-dh,
VIMARU
H ng d n l p trình VB.NET ướ Ch ng 13: T đ ng hóa và qu n lý ti nươ ế
trình
Dim xlApp As Excel.Application
xlApp = CType(CreateObject("Excel.Application"), _
Excel.Application)
Trong VB.NET s d ng c ch ràng bu c s m (early binding). Sau khi t o đ i ơ ế
t ng nên dùng hàm Ctype chuy n đ i đ i t ng v m t ki u t ng minh đ khi biênượ ượ ườ
d ch VB.NET bi t đây là ki u gì. ế
B3. S d ng các ph ng th c, thu c tính c a đ i t ng Atomation trong ch ng ươ ượ ươ
trình c a mình. N u ch a n m b n th xem l i b ng Object Browser nh ế ư ư
đã bi t. Ví d :ế
Dim loanPayment As Single
loanPayment = xlApp.WorksheetFunction.Pmt _
(txtInterest.Text / 12, txtMonths.Text, txtPrincipal.Text)
B4. Khi đã hoàn thành vi c s d ng đ i t ng Automation thì b n g i ph ng ượ ươ
th c Quit đ ch m d t s d ng chúng:
xlApp.Quit()
Trong bài t p ExcelPayment sau đây chúng ta s dùng tính toán t đ ng c a Excel đ
tính s ti n ph i tr khi thuê nhà .
2.1. Ch ng trình ExcelPayươ ment
Tìm hi u ch ng trình: ươ
Ch ng trình có m t form, form có ba textbox cho phép nh p vào m c lãi su t, s thángươ
s ti n đ n giá thuê nhà. Khi ng i dùng click vào nút tính ti n thì ch ng trình s ơ ườ ươ
tính s ti n hàng tháng ph i tr .
Thi t k giao di n:ế ế
Giao di n ch ng trình nh hình: ươ ư
Biên so n: Ph m Đ c L p - 5 - Add: cnt-44-dh,
VIMARU