Bài giảng Hướng dẫn lập trình VB.NET - Chương 13: Tự động hóa trong ứng dụng Microsoft và quản lý tiến trình - Phạm Đức Lập

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 lý 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ú ý:

- Dù giờ đây tính năng ActiveX dựa trên mô 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.

pdf 8 trang yennguyen 1480
Bạn đang xem tài liệu "Bài giảng Hướng dẫn lập trình VB.NET - Chương 13: Tự động hóa trong ứng dụng Microsoft và quản lý tiến trình - Phạm Đức Lập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hướng dẫn lập trình VB.NET - Chương 13: Tự động hóa trong ứng dụng Microsoft và quản lý tiến trình - Phạm Đức Lập

Bài giảng Hướng dẫn lập trình VB.NET - Chương 13: Tự động hóa trong ứng dụng Microsoft và quản lý tiến trình - Phạm Đức Lập
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 
Biên soạn: Phạm Đức Lập - 1 - Add: cnt-44-dh, VIMARU 
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 lý 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ú ý: 
- Dù giờ đây tính năng ActiveX dựa trên mô 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 là kỹ thuật dựa trên công nghệ và nền tảng của mô 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 có thể dùng một số 
đối tượng soạn thảo như FreeTextBox 2.0. Với VB.NET, để có 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 có thể truy xuất các ứng dụng văn phòng Microsoft Office sau theo mô hình 
COM: 
- Microsoft Visual Studio.NET, Microsoft Visual 6. 
- MS.World 2003, 2002, 2000, 97 
- MS.Excel 2003, 2002, 2000, 97 
- MS.Powerpoint 2003, 2002, 2000, 97 
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 
Biên soạn: Phạm Đức Lập - 2 - Add: cnt-44-dh, VIMARU 
- MS.Outlook 2003, 2002, 2000, 97 – 98 
Hiện nay Microsoft đã chính thức cho phép VB là ngôn ngữ lập trình chính thức cho các 
ứng dụng nên 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 có 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 đều có mộ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 và 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 và 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 và 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: 
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 
Biên soạn: Phạm Đức Lập - 3 - Add: cnt-44-dh, VIMARU 
- 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 ký 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 và tìm Microsoft Excel 11.0 Object Library, nhấn nút OK như 
hình 
- Chọn View | Object Browser hay ấn phím F2 để mở cửa sổ công cụ Object 
Browser như hình: 
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 
Biên soạn: Phạm Đức Lập - 4 - Add: cnt-44-dh, VIMARU 
- Bạn nhấn vào nút (+) kế bên Excel và 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 có thể ấn tiếp nút (+) nhánh Application để xem danh sách các 
phương thức, sự kiện và thuộc tính dành cho đối tượng sẽ xuất hiện trong khung 
Member of: Excel bên phải. Chúng là những phương thức cho phép bạn truy cập 
bảng tính Excel. 
- Bạn có thể xem bất kỳ phương thức nào trong phần được liệt kê 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 Basic 
Sau đây là 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 mà 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 và CreatObject để tạo một thể hiện cho đối 
tượng: 
 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 rõ bạn có 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() 
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 
Biên soạn: Phạm Đức Lập - 5 - Add: cnt-44-dh, VIMARU 
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 ExcelPayment 
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 và 
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: 
Trong đó thuộc tính name của các textbox như sau: “Lãi suất” – txtLaisuat, “Số tháng” – 
txtSothang, “Giá thuê nhà” – txtGia. Button “Tính tiền” - btnTinhtien 
Viết mã: 
Do chương trình có sử dụng một số hàm toán học như Abs nên ta cần khai báo Imports lớp 
Math ở đầu form như sau: 
 Imports System.Math 
Tạo thủ tục btnTinhtien_Click như sau: 
Dim xlApp As Excel.Application 
Dim LoanPayment As Single 
xlApp = CType(CreateObject("Excel.Application"), Excel.Application) 
LoanPayment = xlApp.WorksheetFunction.Pmt _ 
(txtLaisuat.Text / 12, txtSothang.Text, txtGia.Text) 
MsgBox("Số tiền hàng tháng phải trả là: " & _ 
Format(Abs(LoanPayment), "$#.##"), , "ExcelPayment") 
xlApp.Quit() 
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 
Biên soạn: Phạm Đức Lập - 6 - Add: cnt-44-dh, VIMARU 
Chạy chương trình: 
Bạn chạy chương trình và nhập vào các ô textbox các giá trị lần lượt là: 0.09, 360, 150000 
và ấn nút Tính tiền để xem kết quả. 
2.2. Xử lý bảng tính Excel 
Bây giờ chúng ta sẽ xử lý bảng tính Excel thông qua ví dụ MyExcelSheetTask sau đây. 
Tìm hiểu chương trình: 
Chương trình khá đơn giản, nó chỉ có một nút nhấn cho phép tạo một bảng tính Excel với 
một hàm tính tổng, một dạng định dạng font và lưu vào một thư mục trong ổ cứng. 
Thiết kế giao diện: 
Giao diện như hình: 
Viết mã: 
Trước hết bạn cần tạo tham chiếu đến Automation Excel như đã biết. 
Tiếp theo tạo thủ tục Button1_Click như sau: 
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 
Biên soạn: Phạm Đức Lập - 7 - Add: cnt-44-dh, VIMARU 
 Dim xlApp As Excel.Application 
 Dim xlBook As Excel.Workbook 
 Dim xlSheet As Excel.Worksheet 
 xlApp = CType(CreateObject("Excel.Application"), 
Excel.Application) 
 xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook) 
 xlSheet = CType(xlBook.Worksheets.Add, Excel.Worksheet) 
 'Chèn dữ liệu 
 xlSheet.Cells(1, 2) = 5000 
 xlSheet.Cells(2, 2) = 75 
 xlSheet.Cells(3, 1) = "Tổng" 
 'Chèn công thức tính tổng 
 xlSheet.Range("B3").Formula = "=Sum(R1C2:R2C2)" 
 'Định dạng các ô 
 xlSheet.Range("B3").Font.Bold = True 
 'Hiển thị bảng tính 
 xlSheet.Application.Visible = True 
 'Lưu bảng tính vào thư mục nào đó 
 xlSheet.SaveAs("D:\Data\Studying\VS.Net 05\Tung buoc lap trinh 
vb.net\Tung buoc lap trinh vb.net\13_Chapter13\Bai 
tap\MyExcelSheetTask\MyExcelSheetTask") 
Chạy chương trình: 
Bạn nhấn F5 để chạy chương trình. 
3. Khởi động và dừng một chương trình Windows sử dụng đối tượng 
Process 
Như ta đã biết phương thức Process có thể khởi động hay dừng bất kỳ ứng dụng hay tài 
liệu nào đã đăng ký trong Registry của hệ thống. Process.Start có thể tự tìm đường dẫn của 
chương trình để khởi động. Nhược điểm của nó là ta vẫn phải tạo ra bằng hàm CreatObject 
như các đối tượng Automation khác.Việc chấm dứt chương trình chúng ta phải dựa vào 
thành phần đối tượng Process trên bảng công cụ Component của ToolBox thực hiện. 
Trong bài tập MyStarApplication sau đây chúng ta sẽ dùng Process để khởi động và dừng 
chương trình NotePad của windows. Bạn có thể dùng Process để khởi động hay chấm dứt 
bất kỳ chương trình nào của windows. 
Tìm hiểu chương trình: 
Chương trình gồm hai nút nhấn, nút “Start NotePad” cho phép khởi động chương trình 
NotePad. Nút nhấn “Stop NotePad” cho phép dừng chương trình NotePad giống như khi 
bạn click vào nút (X) bên góc phải trên của chương trình như vẫn thấy. 
Thiết kế giao diện: 
Bạn tạo mới một giải pháp và thêm vào một dự án có cùng tên là MyStartApplication, tiếp 
theo thiết kế giao diện như hình: 
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 
Biên soạn: Phạm Đức Lập - 8 - Add: cnt-44-dh, VIMARU 
Viết mã: 
Bạn thêm vào form một đối tượng Process trên ToolBox bằng cách double click vào đối 
tượng đó hay kéo thả. Đổi thuộc tính Name của nó thành noteProcess. Để cho noteProcess 
khởi động chương trình NotePad bạn có thể chỉ định ngay chương trình NotePad.exe trong 
thuộc tính FileName của phần StartInfo (click vào dấu + bên trái) hay chỉ định trong lúc 
chương trình thực thi. 
Để sử dụng lớp đối tượng Process ta cần khai báo yêu cầu sử dụng lớp này bằng phát biểu 
Imports ở đầu mã như sau: 
 Imports System.Threading 
 Imports System.Diagnostics 
Ở đây mình chỉ định sẵn trong thuộc tính FileName của nó là NotePad.Exe. 
Tiếp theo tạo thủ tục btnStartNote_Click (btnStartNote là thuộc tính Name của nút nhấn 
“Start NotePad”) như sau: 
 noteProcess.Start() 
Tạo thủ tục btnStopNote_Click (btnStopNote là thuộc tính Name của nút nhấn “Stop 
NotePad”) như sau: 
 noteProcess.CloseMainWindow() 
Phương thức CloseMainWindow() tương đương với việc người dùng click vào nút nhẫn 
close trên góc phải thanh tiêu đề cửa sổ. 
Bạn có thể dùng phương thức Kill() nhưng phương thức này không thân thiện, nó giống 
như việc bạn dùng End Task của Task Manager vậy. 
Chạy chương trình: 
Ấn F5 để thực thi chương trình. 
4. Tổng kết chương 13 
Bạn tạo bảng liệt kê những gì đã biết trong chương này và làm lại các ví dụ có thể mở rộng 
thêm như xuất các tính toán ra một bảng tính excel. 

File đính kèm:

  • pdfbai_giang_huong_dan_lap_trinh_vb_net_chuong_13_tu_dong_hoa_t.pdf