Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
tannguyen291

[WPS sheet] - Tạo Ribbon với WPS sheet - VBA

Các bài được khuyến nghị

Chào cả nhà, thời gian qua vấn đề bản quyền khá gắt nên nhiều doanh nghiệp hoặc cá nhân chuyển qua sử dụng WPS Office. 

Qua thời gian ban đầu mình nhận thấy WPS rất giống với Microsoft Office, giống từ cách sử dụng cho đến lập trình VBA, C#...

Tuy nhiên nhiều chỗ vẫn có điểm khác biệt, rõ nhất vẫn là thiếu tài liệu. 

Sau một thời gian đọc các Web trung và công cụ AI hỗ trợ mình cũng đã vọc vạch được cách tạo ribbon cho sheet.

Chúng ta sẽ không đi theo hướng tạo file  XML \AppData\Local\Microsoft\Office\Excel.officeUI" như với Excel. 

Thay vào đó chúng ta tao customUI ngay trong addins .XLAM.

Cấu trúc của 1 customUI như sau: 

Folder: customUI
    - Folder: _rels
        - File: customUI.xml.rels
    - Folder: images
        - File: inmage1.png, inmage2.png......
    - File: customUI.xml

File customUI.xml.rels có dạng: 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="Image1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/Image1.png"/>
<Relationship Id="Image2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/Image2.png"/>
<Relationship Id="Image3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/Image3.png"/>
.....
</Relationships>

File customUI.xml có dạng:

<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab idMso="Tab1" label="ADDins1">
                <group id="IDGroup1" label="NameGroup">
                    <button id="ID1" image="Image1" onAction="Button01" label="Phim 1" size="large" />
                    <button id="ID2" image="Image2" onAction="Button02" label="Phim 2" size="large" />
                    <button id="ID3" image="Image3" onAction="Button03" label="Phim 3" size="large" />
                </group>
				....
            </tab>
          .....
        </tabs>
    </ribbon>
</customUI>

Tới đây chúng ta đã có đủ cấu trúc của một customUI cần chèn vào File XLAM.

Tạo 1 file XLAM bất kỳ sau đó đổi tên file .xlam thành .zip

Mở file .zip Mở folder_rels (có sẵn trong file .zip), tìm file .rels và mở bằng Notepad.

thêm dòng sau vào cuối:

<Relationship Id="myCustomUI" 
              Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" 
              Target="customUI/customUI.xml"/>

Lưu file nén sau đó đổi tên lại thành XLAM.

Như vậy chúng ta đã có 1 file Addins có ribbon hoàn chỉnh việc tiếp theo là viết code VBA như bình thường.

Cách này cảm giác có hơi trích lỏ nhưng nó đã hoạt động.

Chúc các bạn thành công trong công việc sắp tới.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 15/7/2026 tại 19:17, cuongtk2 đã nói:

Không có dạng .addin hả Tân?

Ribbon Excel thường là dạng XML mà bác. Với lập trình VBA thì em thấy chỉ có vài dạng cơ bản như xlam, xla, xlsm, xls...

Còn vụ file .addin thì em còn chưa biết đến luôn :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×