Bạn đang xem bài viết Class Module Trong Vba: Cách Tạo Mới Và Thêm Thuộc Tính được cập nhật mới nhất trên website Hoisinhvienqnam.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.
Trong bài này chúng ta sẽ tìm hiểu về Class trong VBA, đây là một module dùng để xây dựng thư viện khi lập trình VBA Excel, và mình cũng đã từng giới thiệu trong bài viết cấu trúc module VBA.
1. Class Module trong VBA là gì?
Class module là nơi tập hợp những module hoạt động theo hướng đối tượng, nghĩa là nó có thuộc tính và phương thức, cũng như các hàm khởi tạo cho các thuộc tính. Class module khác với những module thông thường ở chỗ nó giúp cho việc tạo mô hình Component Object Model (COM) thuận lợi hơn.
Mình sẽ lấy một đối tượng có sẵn trong Excel đó là Worksheets. Trong đối tượng này có một số thuộc tính và phương thức giúp bạn lấy được những thông tin của các sheet excel mà bạn đang làm việc như: Số lượng sheet, thao tác ẩn và xóa sheet ….
Khi bạn tạo một đối tượng mới theo cách này thì đối tượng đó có thể được sử dụng ở bất kỳ đâu trong VBA, giúp hạn chế việc code đi code lại quá nhiều lần.
Một ví dụ thực tế: Giả sử bạn đang code ứng dụng quản lý lương cho nhân viên thì mình sẽ tạo một class module NhanVien, trong đó gồm những thuộc tính như:
Và có các hành động ( phương thức) như:
Nhập thông tin nhân viên
Cập nhật nhân viên
Thay đổi mức lương
…
Những thao tác trên lặp đi lặp lại trên mỗi nhân viên, vì vậy việc sử dụng class module thế này sẽ giúp tối ưu code hơn, tức ta chỉ code một lần và sử dụng cho toàn bộ nhân viên.
2. Thêm một class module vào VBA
Lúc này giao diện VBE ( Visual Basic Editor) sẽ xuất hiện cấu trúc như sau:
Bạn có thể thay đổi tên cho class bằng cách đổi Name nằm trong cửa sổ Properties mà mình đã đánh dấu.
3. Thêm thuộc tính vào Class module
Để thêm thuộc tính vào một class thì chúng ta có hai cách. Cách thứ nhất là bạn sẽ nhập code thủ công, cách thứ hai là sử dụng công cụ của Visual Basic Editor.
Cách 1: Code thủ công
Giả sử mình cần khai báo hai thuộc tính cho Class1, mình sẽ mở nó ra và nhập vào đoạn code sau.
Private mItem As String Private mDetail As StringTiếp theo sẽ cần tạo một số phương thức Get và Let cho hai thuộc tính này. Đây là 2 phương thức khởi tạo mà hầu như thuộc tính nào cũng cần phải có.
Public Property Let Item(vdata As String) mItem = vdata End Property Public Property Get Item () As String Item = mItem End Property Public Property Let Detail (vdata As String) mDetail = vdata End Property Public Property Get Detail () As String Detail = mDetail End PropertyCách 2: Sử dụng giao diện
Bạn vẫn phải tạo hai thuộc tính như cách 1.
Giả sư nình nhập là MyProperty thì kết quả trong file xuất hiện một số phương thức như sau.
Public Property Get MyProperty() As Variant End Property Public Property Let MyProperty(ByVal vNewValue As Variant) End Property4. Gọi class module VBA
Khi bạn khai báo ở đây thì một đối tượng được tạo ra trùng tên với class module mà bạn đã đặt, vì vậy chỉ cần khai báo biến có kiểu dữ liệu đúng như vậy là được.
Dim MyClass As New MyItemsSau khi tạo xong bạn có thể sử dụng các thuộc tính và phương thức một cách thoải mái.
Làm Thế Nào Chèn Code Vào Module Trong Vba Excel
1. Tạo Module trong VBA
Trước hết chúng ta hãy mở cửa sổ VBA lên bằng việc sử dụng phím tắt Alt+F11 hoặc chọn mục Visual Basic trong thẻ Developer
Trong cửa sổ Project chúng ta sẽ bấm chuột phải và tạo mới 1 Module là Module1
Trong Module1 chúng ta sẽ thực hiện viết code:
2. Cách chèn Code vào 1 module
Code sẽ bắt đầu với việc tạo 1 Sub. Sub có thể có 2 dạng là Private Sub hoặc Sub. Khi tạo 1 Sub đồng thời sẽ xuất hiện End Sub (mở đầu và kết thúc của 1 sub)
Dòng Option Explicit (không bắt buộc, khuyến khích sử dụng) đặt ở đầu mỗi 1 Module để giúp người viết code trong VBA tránh được các lỗi không khai báo biến.
3. Cách gọi ra 1 Sub khác
Trong sub bạn đang viết code, bạn có thể gọi ra 1 sub khác. Thay vì phải viết 1 sub rất dài, bạn có thể ngắt đoạn cho sub đó để mỗi sub sẽ thực hiện 1 nhiệm vụ riêng, sau đó sẽ dựa theo trình thự công việc cần thực hiện để gọi tên các sub đó.
Để gọi 1 sub, bạn thực hiện lệnh Call + Tên sub
Để gọi 1 Userform, bạn thực hiện lệnh Tên Userform.Show
Lưu ý:
Khi gọi tên 1 sub hoặc 1 Userform, bạn phải viết lại đúng tên của Sub hoặc Userform đó
Các sub được gọi cần tránh những đoạn code gây xung đột với sub chính. Thường chỉ là 1 phần nội dung của sub chính để giúp sub chính dễ viết hơn, viết nhanh hơn, gọn hơn
Với sứ mệnh: ” Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người “, đội ngũ phát triển đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án…
Gitiho tự hào khi được đồng hành cùng:
50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…
Một Số Thuộc Tính Xử Lý Text Trong Css
Bài viết này chúng tôi sẽ cùng bạn tìm hiểu cách xử lý đoạn text quá dài gây tình trạng tràn ra ngoài phần tử chứa nó bằng cách sử dụng các thuộc tính:
Text Overflow
Thuộc tính text-overflow dùng để xử lý một đoạn text bị tràn ra ngoài phần tử chứa nó bằng cách cắt bớt đoạn tràn hoặc hiển thị dưới dạng dấu chấm lửng “…” để làm dấu hiệu cho người dùng.
Hai giá trị thường dùng nhất là:
clip: cắt bớt đoạn text bị tràn ra ngoài (mặc định).
ellipsis: thêm ba dấu chấm (…) nếu text bị tràn ra ngoài.
Hai thuộc tính đi kèm text-overflow là:
Ví dụ 1: Xử lý text tràn ra ngoài.
Kết quả hiển thị:
Code đầy đủ:
Ví dụ 2: Hiển thị nội dung bị tràn khi di chuột qua phần tử:
Word Wrap
Thuộc tính word-wrap cho phép đoạn text xuống dòng nếu quá dài, có thể gây hiện tượng đứt gãy một từ.
Hai giá trị tiêu biểu nhất là:
normal: hiển thị theo mặc định, từ dài có thể bị tràn ra ngoài box (mặc định)
break-word: đoạn text nhảy xuống dòng nếu chữ quá dài, có thể gây hiện tượng đứt gãy từ.
Ví dụ: Xử lý đoạn text quá dài
Kết quả hiển thị:
Code đầy đủ:
Word Break
Word-wrap xác định có xuống dòng hay không, còn thuộc tính work-break xác định kiểu xuống dòng.
Các giá trị thường thấy là:
normal: hiển thị theo mặc định, từ dài có thể bị tràn ra ngoài box (mặc định)
keep-all: không sử dụng với các đoạn text tiếng Trung Quốc/Nhật Bản/Hàn Quốc (CJK), chức năng tương tự với normal. Khác biệt ở chỗ nếu từ có gạch nối sẽ được xuống dòng tại một vị trí thích hợp.
break-all: khi hết đoạn thì một từ sẽ tự động ngắt ở bất kỳ ký tự nào để xuống dòng, có thể gây hiện tượng đứt gãy từ.
break-word: khi hết đoạn thì sẽ tự động ngắt ở bất kỳ từ nào để xuống dòng.
Nếu là văn bản bình thường, ta sẽ dùng break-word nhiều hơn, còn break-all thường chỉ dùng cho số (nếu có).
Ví dụ: Thuộc tính work-break xác định kiểu xuống dòng
Writing Mode
Thuộc tính writing-mode sử dụng để định kiểu cho đoạn text được đặt theo chiều ngang hay chiều dọc.
Các giá trị của writing-mode:
horizontal-tb: đoạn text sẽ được đặt theo chiều ngang từ trái sang phải, đọc từ trên xuống dưới (mặc định).
vertical-rl: đoạn text được đặt theo chiều dọc từ phải sang trái, đọc từ trên xuống dưới.
vertical-lr: đoạn text được đặt theo chiều dọc từ trái sang phải, đọc từ trên xuống dưới.
Ví dụ: Sử dụng writing-mode
Kết quả hiển thị:
Code đầy đủ: Bài trước: Hiệu ứng Shadow trong CSS Bài tiếp: Sử dụng Web Font trong CSS
Các Thuộc Tính Tác Động Vào Text Trong Css3
1, Thuộc tính tab-size trong CSS3.
– Thuộc tính tab-size trong CSS3 có tác dụng xác định khoảng trống khi chúng ta cấn tab được sử lý như thế nào.
Cú Pháp:
tab-size: value;Trong đó: value có thể là giá các số đo khoảng cách hoặc initial hoặc inherit.
VD:
.tab1{ tab-size: 4; } .tab2{ tab-size: 24; } .tab3{ tab-size: 30; }2, Thuộc tính text-align-last trong CSS3.
-Thuộc tính này trong CSS3 có tác dụng xác định xem dòng cuối cùng của thành phần được căn lề như thế nào.
Cú Pháp:
text-align-last: value;Trong đó: value có thể là một trong các giá trị
auto – đây là giá trị mặc định. Xác định dòng cuối cùng của thành phần được căn lề trái ví dụ.
left – xác định dòng cuối cùng của thành phần được căn lề trái ví dụ.
right – xác định dòng cuối cùng của thành phần được căn lề phải ví dụ.
center – xác định dòng cuối cùng của thành phần được căn giữa ví dụ.
justify – xác định dòng cuối cùng của thành phần được căn đều trên một dòng ví dụ.
start – xác định dòng cuối cùng của thành phần được căn theo chiều của thành phần ví dụ.
end – xác định dòng cuối cùng của thành phần được căn theo chiều ngược lại của thành phần ví dụ.
3, Thuộc tính word-break trong CSS3.
-Thuộc tính này trong CSS3 có tác dụng thay đổi thể thống nhất của một từ. Nghĩa một từ có thể xuống dòng bất kỳ từ chữ nào, nếu dòng trên đã bị lấp đầy.
Cú Pháp:
word-break: value;Trong đó value là một trong các giá trị sau:
break-all – cứ khi nào một dòng được lấp đầy thì sẽ xuống dòng bất kể là đã hết chữ cái hay chưa.
hyphenate – sẽ xuống dòng nếu như gặp dấu gạch nối thích hợp.
normal – trả về giá trị mặc định cho thành phần.
VD:
-Ví dụ về giá trị là break-all
p{ width: 200px; word-break: break-all; }-Ví dụ về giá trị hyphenate
p{ width: 200px; word-break: hyphenate; }4, Thuộc tính word-wrap trong CSS3.
-Thuộc tính này có tác dụng làm cho những từ dài xuống mà không làm vỡ giao diện (thuộc tính này rất quan trọng trong responsive design).
Cú Pháp:
word-wrap: value;Trong đó value có thể là 1 trong 2 giá trị sau:
break-word – những từ dài quá sẽ được ngắt xuống dòng sao cho thích hợp.
normal – trả về giá trị mặc định cho thành phần.
VD:
.wrod-wrap{ word-wrap: break-word; }5, Thuộc tính text-shadow trong CSS3.
-Thuộc tính này có tác dụng tạo ra bóng cho chữ(text) trong 1 trang web.
Cú pháp:
text-shadow: ngang doc blur color;Trong đó:
ngang – xác định vị trí của bóng theo chiều ngang, có thể âm (tham số bắt buộc).
doc – xác định vị trí của bóng theo chiều dọc, có thể âm (tham số bắt buộc).
blur – là độ nhòe của bóng (tham số không bắt buộc).
color – là màu sắc của bóng.
VD: Thiết lập bóng cho thành phần.
h1{ text-shadow: 2px 2px 3px orange; }-Hoặc chúng ta cũng có thể xác định nhiều bóng cho một thành phần.
VD: Xác định nhiều bóng cho 1 thành phần.
h1{ text-shadow: 2px 2px 3px orange, 4px 4px 3px blue; }6, Các thuộc tính mới trong text-decoration.
-Như ở trong bài các thuộc tính tác động đến text trong CSS thì mình cũng đã có giới thiệu với mọi người về thuộc tính text-decoration rồi. Và cũng là thuộc tính này trong CSS3 đã hỗ trợ thêm cho chúng ta 4 thuộc tính khác tác động vào nó như sau:
Thuộc tính text-decoration-color.
-Thuộc tính này có tác dụng thiết lập màu sắc cho đường line trong thuộc tính text-decoration.
Cú Pháp:
text-decoration-color: value;Trong đó: value là màu sắc mà bạn muốn thiết lập.
VD:
h1{ text-decoration: underline; -webkit-text-decoration-color: red; text-decoration-color: red; }Thuộc tính text-decoration-line
-Thuộc tính này xác định các kiểu đường line cho thuộc tính text-decoration
Cú Pháp:
text-decoration-line: value;Trong đó, value là một trong các giá trị sau:
none – không gạch.
underline – gạch dưới.
overline – gạch trên.
line-through – gạch ngang.
initial.
inherit.
VD:
.decoration-none{ text-decoration-line: none; } .decoration-underline{ text-decoration-line: underline; } .decoration-overline{ text-decoration-line: overline; } .decoration-line-through{ text-decoration-line: line-through; } .decoration-all{ text-decoration-line:underline overline line-through; }Thuộc tính text-decoration-style trong CSS3.
-Thuộc tính này có tác dụng xác định kiểu đường line của thuộc tính text-decoration.
Cú Pháp:
text-decoration-style: value;Trong đó, value là một trong các giá trị sau:
Thuộc tính text-underline-position trong CSS3.
-Thuộc tính này có tác dụng xác định vị trí của underline nếu như nó được sử dụng trong thuộc tính text-decoration.
7, Lời kết.
-Bài này, mình đã tổng hợp gần như là đầy đủ các thuộc tính tác động đến text được hỗ trợ trong CSS3 rồi, chỉ trừ còn một số thuộc tính đến thời điểm hiện tại vẫn chưa được hỗ trợ trên các trình duyệt thì mình chưa nhắc tới ở đây.
Cập nhật thông tin chi tiết về Class Module Trong Vba: Cách Tạo Mới Và Thêm Thuộc Tính trên website Hoisinhvienqnam.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!