RaoVat24h
Blogger Thủ thuật

[Lập Trình Excel] Bài 4 – Tạo thêm tab trên Ribbon trong Excel 2016

Advertisement

Các bạn xem trên hình, có xuất hiện một tab tên “UExcel” do mình tạo nên. Tab này bạn có thể chèn vào đó nhiều nút lệnh chứa nhiều tính năng bổ ích cho công việc của bạn. Như vậy, cách tạo tab này như thế nào?
Trong bài viết này mình sẽ hướng dẫn các bạn tạo và chèn một tab công cụ cho riêng bản thân mình. 
Bạn truy cập vào link này: Custom UI Editor For Microsoft Office và tải tool về.

Truy cập đến nơi lưu Tool mới tải, giải nén ra, và nhấp đúp vào file để cài đặt. Chọn I Agree, và nhấp tiếp vào nút Next, Next, Next.

Khi khung Installation Complete xuất hiện, chọn Close để hoàn tất cài đặt. Trên màn hình máy tính xuất hiện biểu tượng như hình. 
Nhấp đôi biểu tượng để mở tool lên. Các bước tạo tab trên Ribbon bắt đầu bằng cách chọn Open trên tool, tìm đến file Add-In của bạn, chọn file đó và Open.
Tiếp theo nhấp phải vào file mới Open và chọn tab phù hợp (chọn Office 2010 nếu bạn đang sử dụng Office 2010, 2013, 2016; chọn Office 2007 nếu bạn sử dụng Office 2003, 2007).

Ở đây mình sử dụng Office 2016 nên chọn loại Office 2010 Custom UI Part. Xuất hiện file CustomUI14.xml (hoặc CustomUI.xml), chọn file xml, sau đó nhấp vào tab Insert và click Sample XML, tiếp tục nhấp chọn Excel – A Custom Tab. Khung soạn code XML xuất hiện như hình:

Trong khung soạn code này, các bạn cần chú ý các điểm sau:
1. Mỗi tab Menu đều có tên, trong code được chỉ định là label.
2. Vi trí xuất hiện của tab cần chèn, như trong hình tab sẽ xuất hiện sau Home.
3. Trên mỗi tab, có nhiều Group, mỗi group đều có một id duy nhất.
4. Tên của group trên tab.
5. Trong mỗi group, bạn có thể thêm nhiều đối tượng khác nhau (button, label, editbox, gallery, item,…). 
6,7: Mỗi đối tượng cũng có id, tên, kích thước icon, loại icon, hàm được thực thi khi click vào đối tượng.

Bài tập: 
Mình sẽ làm một ví dụ đơn giản, hiển thị 1 tab có tên là myTab, trong myTab có một Group có tên là First Lesson, trong group có một nút nhấn tên là Hello. Khi click vào nút Hello thì màn hình sẽ xuất hiện MsbBox với nội dung là:
Xin chao moi nguoi, toi moi bat dau hoc VBA – Excel.
Chuc moi nguoi mot ngay vui ve!

Bài giải: 
Bước 1:

Mở excel lên, và lưu lại file với định dạng Add-In. 
Tips: Bài 2: Tính năng Record Macro và tạo Add-In trên Excel 
Ở đây mình lưu lại với tên myTab, trên desktop cho dễ tìm.

Bước 2: 
Mở tool Custom UI Editor lên, click vào Open, tìm đến file myTab và Open lên. Mình đang sử dụng Excel 2016 nên chọn loại Office 2010 Custom UI Part (CustomUI14.xml). Tiếp theo chọn Insert Sample XML Excel – A Custom Tab. 

Bước 3: Mình sẽ xóa hết code hiện tại và dán lên đoạn code bên dưới vào, và nhấn Save để lưu lại.

<customui xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="customTab" insertaftermso="TabView" label="myTab">
<group id="cusGroup1" label="First Lesson">
<button id="btn1" imagemso="HappyFace" label="Hello" onaction="HelloCall" size="large"></button>
</group>
</tab>
</tabs>
</ribbon>
</customui>
Bước 4: 
Add file Add-In này vào Excel, và kết quả được như hình.

Tips:Cách enable tab Developer tại Bài 1: Làm quen với lập trình VBA trên Excel 

Ở đây, khi nhấn vào nút Hello, thông báo lỗi như trên hình sẽ xuất hiện. Nguyên nhân là do chúng ta chưa viết đoạn chương trình thực thi tên HelloCall cho nút nhấn Hello.

Bước 5: 
Viết đoạn chương trình thực thi khi nhấn nút Hello.

Trên khung làm việc của excel, mình mở Visual Basic (tab Developer) lên. Nhấp phải vào  và chọn Insert Module. Gõ đoạn code như hình bên dưới vào. 

Trở về khung làm việc Excel, và nhấn vào nút Hello, kết quả đã được như mong muốn nhé.


Rate this post

DienDan.Edu.Vn

DienDan.Edu.Vn Cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.
DienDan.Edu.Vn! là một website với tiêu chí chia sẻ thông tin,... Bạn có thể nhận xét, bổ sung hay yêu cầu hướng dẫn liên quan đến bài viết. Vậy nên đề nghị các bạn cũng không quảng cáo trong comment này ngoại trừ trong chính phần tên của bạn.
Cám ơn.

Đăng bình luận

(+84) (901) 369.468