Giao diện người dùng

Một phần của tài liệu Tài liệu Ứng dụng VBA sử dụng trong ngành giao thông - P2 docx (Trang 56 - 59)

M ở workbook

8.Giao diện người dùng

Khi xây dựng các bảng tính để người khác có thể dùng được, người lập trình cần phải đặc biệt chú ý đến giao diện người dùng. Giao diện người dùng được hiểu là cách thức người sử dụng sẽ tương tác với chương trình bằng cách nhấn nút bấm, chọn một trình đơn, nhấn phím, chọn trên thanh công cụ,…

Khi xây dựng các ứng dụng, cần phải luôn ghi nhớ rằng mục đích xây dựng chương trình là để cho người dùng cuối cùng sử dụng. Người lập trình lại thường có kinh nghiệm sử dụng máy tính hơn người dùng, vì vậy một giao diện người dùng có thể là dễ sử dụng đối với người lập trình nhưng lại rất khó dùng đối với người sử dụng.

Một hướng xây dựng giao diện người dùng là dựa trên các tính năng đã có trong Excel như tình đơn, thanh công cụ,… hay nói cách khác, người lập trình chỉ đơn giản tạo nên một bảng tính, và người sử dụng có thể tuỳ ý thao tác trên bảng tính đó. Điều này sẽ là hợp lý nếu người sử dụng am hiểu về Excel. Tuy nhiên, có khá nhiều người dùng chưa có nhiều kinh nghiệm sử dụng Excel và nhiệm vụ của người lập trình là phải cố gắng để tạo ra giao diện người dùng dễ sử dụng hơn. Excel cung cấp nhiều tính năng cho phép người lập trình tuỳ biến tạo nên giao diện người dùng thân thiện hơn:

Ø

ØSử dụng điều khiển nhúng trực tiếp trên worksheet chẳng hạn như ListBox hoặc CommandButton;

Ø

ØSử dụng các hộp thoại thông dụng có sẵn trong Excel;

Ø

ØTạo các hộp thoại tuỳ biến (UserForm);

Ø

ØTuỳ biến trình đơn;

Ø

ØTuỳ biến thanh công cụ;

Ø

ØTuỳ biến phím tắt.

8.1. Điểu khiển nhúng trong Worksheet

Điều khiển nhúng trong Worksheet, hay còn gọi là điều khiển ActiveX, là những điều khiển có thể chèn trực tiếp lên trong worksheet, liên kết trực tiếp với dữ liệu trong các worksheet mà không cần thêm một đoạn mã lệnh nào khác. Đương nhiên, nếu cần người lập trình có thể thêm các đoạn mã lệnh để xử lý các tình huống khác cho từng điều khiển.

Hình: Bảng tính sử dụng điều khiển nhúng trong worksheet.

Để hiển thị thanh công cụ Control Toolbox, chọn trình đơn ViewÖToolbarsÖControl Toolbox. Trên thanh công cụ này, cần chú ý đến 3 biểu tượng đầu tiên phục vụ cho quá trình thiết kế các điều khiển trong worksheet:

Ø

ØDesign Mode : khi biểu tượng này được hiện sáng ( ), tức là các điều khiển đang ở trong chế độ thiết kế. Ở chế độ này, người lập trình có thể chọn các điều khiển, thay đổi các thuộc tính của chúng… Khi biểu tượng này ở chế độ thông thường, tức là các điều khiển đang ở trong chế độ thực thi. Ở chế độ này, các điều khiển sẽ ở trạng thái sử dụng.

Ø

ØProperties : nhấn chuột vào biểu tượng này sẽ hiển thị cửa sổ Properties, liệt kê tất cả các thuộc tính của điều khiển được chọn. Thông qua cửa sổ này, người lập trình có thể thay đổi từng thuộc tính liên quan đến điều khiển được chọn.

Ø

ØView Code : nhấn chuột vào biểu tượng này sẽ hiển thị cửa sổ mã lệnh tương ứng với điều khiển được chọn.

Trên thanh công cụ Control Toolbox còn có nhiều biểu tượng khác nữa, mỗi biểu tượng là một điều khiển thường được sử dụng. Ngoài ra người lập trình còn có thể thêm vào các điều khiển ActiveX khác có trong hệ thống.

Chi tiết về các điều khiển, xem thêm phần … trang… (PHẦN CỦA ANH ĐỘ)

Dưới đây chỉ trình bày một số điều khiển hay dùng và một số thuộc tính đặc trưng trong khi sử dụng kết hợp với Excel.

8.1.1.Điu khin Spin Button

Spin button, , là một nút bấm gắn với một ô nào đó trong worksheet. Để tăng giá trị trong ô đó, người dùng sẽ bấm vào mũi tên lên, còn để giảm giá trị, người dùng sẽ bấm vào mũi tên xuống.

Spin button thích hợp khi muốn hạn chế số liệu nhập vào nằm trong một giới hạn nào đó. Các thuộc tính cơ bản của Spin button: (adsbygoogle = window.adsbygoogle || []).push({});

Thuộc tính Mô tả

Name Kiểu String. Tên của điều khiển

LinkedCell Kiểu String. Địa chỉ của ô sẽ liên kết trực tiếp với điều khiển Max Kiểu Integer. Giá trị lớn nhất có thểđạt được

Min Kiểu Integer. Giá trị nhỏ nhất có thểđạt được

SmallChange Kiểu Integer. Số gia mỗi khi người dùng nhấn vào mũi tên lên hoặc xuống

Value Kiểu Integer. Giá trị hiện thời của điều khiển, cũng là giá trị sẽ hiển thị trong ô liên kết trực tiếp với điều khiển

8.1.2.Điu khin ComboBox

Combo Box, , sử dụng để người dùng lựa chọn một phần tử trong danh sách xổ xuống. Điều khiển này thường được sử dụng khi người lập trình muốn người sử dụng chỉ có thể chọn được những phần tử đã được định trước, tránh những sai sót trong quá trình nhập dữ liệu, chẳng hạn như danh sách các loại mác của bê tông để người dùng lựa chọn chẳng hạn. Combo Box thường được đặt trùng lên ô mà nó liên kết.

Các thuộc tính cơ bản của Combo Box:

Thuộc tính Mô tả

Name Kiểu String. Tên của điều khiển

LinkedCell Kiểu String. Địa chỉ của ô liên kết trực tiêp với Combo Box. Giá trị của Combo Box chính là giá trị của ô được liên kết.

ListFillRange Kiểu String. Địa chỉ của vùng dữ liệu cấu thành danh sách các phần tử trong Combo Box. Mỗi một hàng của vùng dữ liệu là một phần tử trong danh sách đó. ColumnCount Kiểu Integer. Số cột sẽđược hiển thị trong danh sách xổ xuống của Combo Box.

Mặc định ColumnCount=1.

BoundColumn Kiểu Integer. Số thứ tự cột trong vùng dữ liệu, là cột mà giá trị của cột đó sẽđược gán cho thuộc tính Value của Combo Box khi một phần tử trong Combo Box được chọn.

ColumnHeads Kiểu Boolean. Nếu bằng FALSE, không hiển thị phần tiêu đề của cột trong danh sách xổ xuống. Nếu bằng TRUE, hiển thị tiêu đề của cột trong danh sách xổ xuống, và hàng dữ liệu nằm ngay phía trên ListFillRange sẽđược lấy làm tiêu đề của cột.

ColumnWidths Bề rộng của cột, tính bằng pt. Nếu có nhiều cột thì bề rộng của mỗi cột sẽđược cách nhau bằng dấu chấm phẩy (;). Ví dụ 60:80

Style Kiểu Integer. Nếu bằng 0, người dùng có thể nhập dữ liệu trực tiếp vào Combo Box hoặc chọn từ danh sách. Nếu bằng 1, người dùng chỉ có thể nhập dữ liệu bằng cách chọn từ danh sách.

Text Kiểu String. Là đoạn văn bản/dữ liệu được hiển thị trong Combox.

Value Kiểu Variant. Là giá trị thực tế của phần tử được chọn trong Combo Box. Giá trị của thuộc tính Value này chính là giá trị của ô được liên kết với Combo Box thông qua thuộc tính LinkedCell.

Tạo Combo Box có nhiều cột 

Ví dụ sau sẽ làm rõ ý nghĩa của các thuộc tính trên thông qua việc tạo một Combo Box có nhiều cột. Combo Box sẽ hiển thị các cấp đường thiết kế, và khi lựa chọn một cấp đường, giá trị vận tốc thiết kế tương ứng sẽ được gán cho ô. Trình tự thực hiện như sau:

Một phần của tài liệu Tài liệu Ứng dụng VBA sử dụng trong ngành giao thông - P2 docx (Trang 56 - 59)