Chia sẻ công cụ tạo Ribbon cho file Excel

Liên hệ QC

huuthang_bd

Chuyên gia GPE
Tham gia
10/9/08
Bài viết
8,709
Được thích
10,814
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Thợ đụng
Xuất phát từ ý tưởng của topic Add-Ins Tạo Menu RibbonTiếng Việt Có Dấu Cho Office
Tôi viết lại công cụ tạo Ribbon cho file Excel. Vì topic kia đã quá nhiều bài nên tôi mở topic này để mọi người dễ tìm hơn.
Ai cần thì tải về dùng. "Open source" --=0
 

File đính kèm

  • Ribbon Creator.rar
    439.7 KB · Đọc: 1,129
Upvote 0
Upvote 0
Thật ra cái này của bác Hữu Thắng là tạo trên file xlsm, bạn thử với file xlsm đã có sẳn Ribbon (tôi nghĩ đây là hạn chế cần được khắc phục) sẽ được.
Mạnh mới viết xong ....tạo cho 1 file Excel bất kỳ có trên máy của bạn (Office từ 2007 đến 2016)

dạng file...File *.xlsm,*.xlsb và *.xlsx Nhưng File *.xlsx Mình bỏ vì liên quan tới Code....

đang test lại mai mốt úp thớt bên kia
 
Upvote 0
Thật ra cái này của bác Hữu Thắng là tạo trên file xlsm, bạn thử với file xlsm đã có sẳn Ribbon (tôi nghĩ đây là hạn chế cần được khắc phục) sẽ được.
Cái này tôi viết là để tạo Ribbon cho file Excel2007+ bất kỳ. Không cần trước đó đã có Ribbon.
Tôi đã test trên Excel 2007. Có thể cấu trúc file Excel 2010 trở lên khác với Excel 2007 nhưng tôi chưa có điều kiên test.

Còn về code VBA, quan điểm của tôi là không nên thêm vào vì ai biết người ta muốn viết thế nào mà thêm vào.
 
Upvote 0
Cái này tôi viết là để tạo Ribbon cho file Excel2007+ bất kỳ. Không cần trước đó đã có Ribbon.
Tôi đã test trên Excel 2007. Có thể cấu trúc file Excel 2010 trở lên khác với Excel 2007 nhưng tôi chưa có điều kiên test.

Còn về code VBA, quan điểm của tôi là không nên thêm vào vì ai biết người ta muốn viết thế nào mà thêm vào.

Mình mới coi lại thấy File mẫu Example.xlsm có tới 2 File customUI.xml và Files customUI14.xml ...

Phòng cho xài từ Office 2007 tới 2016 ....như vây là ko thể tạo Ribbon cho một file Excel bất kỳ trên máy được ....

Mai Mình úp cái của Mình cho xem muốn tao file nào trên máy cũng ok hết ...--=0

dạng file *.xlsm, *.xlsb và *.xlsx ... nhưng *.xlsx mình bỏ vì liên quan tới code
 
Upvote 0
Mình mới coi lại thấy File mẫu Example.xlsm có tới 2 File customUI.xml và Files customUI14.xml ...

Phòng cho xài từ Office 2007 tới 2016 ....như vây là ko thể tạo Ribbon cho một file Excel bất kỳ trên máy được
Cái này chỉ là võ đoán của bạn mà thôi. Sao bạn không nghĩ 2 file đó được tạo khi chạy code --=0
 
Upvote 0
Còn về code VBA, quan điểm của tôi là không nên thêm vào vì ai biết người ta muốn viết thế nào mà thêm vào.
Code ở đây là tùy thuộc vào đối tượng bạn nhé, khi button thì cần code gì, checkbox thì cần code gì... Giả sử tôi là người dùng khi tạo ra ribbon làm sao biết được thêm code cho button như thế nào, checkbox ra sao (các tham số của nó là bao nhiêu). Thấy các phần mềm sẽ tạo luôn code cho bạn, bạn chỉ việc thêm các lệnh theo nhu cầu thôi.
 
Upvote 0
Code ở đây là tùy thuộc vào đối tượng bạn nhé, khi button thì cần code gì, checkbox thì cần code gì... Giả sử tôi là người dùng khi tạo ra ribbon làm sao biết được thêm code cho button như thế nào, checkbox ra sao (các tham số của nó là bao nhiêu). Thấy các phần mềm sẽ tạo luôn code cho bạn, bạn chỉ việc thêm các lệnh theo nhu cầu thôi.
Tôi thì nghĩ khác, người thiết kế Ribbon thì phải biết viết code để Ribbon gọi macro viết như thế nào. Hơn nữa với tôi không làm thì thôi, làm thì làm cho bài bản mà tính cả các thủ tục callback thì hơi bị nhiều, làm sẽ mất nhiều thời gian. Để khi nào có hứng có thể sẽ bổ sung thêm phần chèn code mẫu.
--
Bài #2 làm không được có thể do làm chưa đúng - chưa chọn đúng phiên bản office. Cái này cũng là hạn chế mà lúc đầu tôi chưa tính tới, đáng lẽ Ribbon tạo cho Office 2007 thì Office 2010-2016 phải dùng được.

File đính kèm ở bài này tôi đã khắc phục vấn đề này.
 

File đính kèm

  • Ribbon Creator.rar
    314.5 KB · Đọc: 360
Upvote 0
Mạnh mới Thử Bài #11 chỉ tạo được mỗi File *.xlsm thôi ... Còn File *.xlsb là tan xác pháo đó nha ....--=0

Mà sao ko thiết kế khi chọn Icon một cái nó Copy paste luôn vào Cells giống mình đó ...Ai làm cho người ta ngó cái Msgbox một cái tiếng Anh ai nhớ nổi ...hahahaha

Nếu Bạn nào chưa biết Tìm thì Link Sau Bài #69

http://www.giaiphapexcel.com/forum/...Menu-RibbonTiếng-Việt-Có-Dấu-Cho-Office/page7
 
Lần chỉnh sửa cuối:
Upvote 0
Mạnh mới Thử Bài #11 chỉ tạo được mỗi File *.xlsm thôi ... Còn File *.xlsb là tan xác pháo đó nha ....--=0
Đúng là lỗi với file xlsb. Tôi không test file xlsb nên không phát hiện ra file xlsb có hơi khác một chút. Chỉ cần sửa lại code một chút là được.
Mà sao ko thiết khi chọn Icon một cái nó Copy paste luôn vào Cells giống mình đó ...Ai làm cho người ta ngó cái Msgbox một cái tiếng Anh ai nhớ nổi ...hahahaha

Nếu Bạn nào chưa biết Tìm thì Link Sau Bài #69

http://www.giaiphapexcel.com/forum/...Menu-RibbonTiếng-Việt-Có-Dấu-Cho-Office/page7
Bạn cứ test cho tử tế thì sẽ biết là nó có gán imageMso vào đúng chỗ hay không. Không phải control nào cũng có thuộc tính imageMso. Đúng chỗ thì mới gán, không đúng chỗ mà gán bừa bãi thì khi sai không biết sai chỗ nào.
 

File đính kèm

  • Ribbon Creator.rar
    295.9 KB · Đọc: 264
Upvote 0
Đúng là lỗi với file xlsb. Tôi không test file xlsb nên không phát hiện ra file xlsb có hơi khác một chút. Chỉ cần sửa lại code một chút là được.

Bạn cứ test cho tử tế thì sẽ biết là nó có gán imageMso vào đúng chỗ hay không. Không phải control nào cũng có thuộc tính imageMso. Đúng chỗ thì mới gán, không đúng chỗ mà gán bừa bãi thì khi sai không biết sai chỗ nào.
Bạn Mới chỉnh lại hả .... File này OK rồi đó ...

Thì Mình chạy File mẫu đó mà Design Example.xlsm

Vậy là code cho một File Excel bất kỳ Sau Mình Nha....hahaha ...Mình úp sáng sớm giờ Bạn mới xong ...
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn Mới chỉnh lại hả .... File này OK rồi đó ...

Thì Mình chạy File mẫu đó mà Design Example.xlsm

Vậy là code cho một File Excel bất kỳ Sau Mình Nha....hahaha ...Mình úp sáng sớm giờ Bạn mới xong ...
Tôi mới sửa lại lỗi file xlsb, còn cái imageMso bạn tải file bài #1 về mà test. Tôi thì không dám test file bạn, thấy file dll là bỏ chạy.
Chả biết ai trước ai sau nhưng với tôi không quan trọng. Tôi đưa lên là chia sẻ cho mọi người sử dụng. Ai thích thì dùng, không thích thì thôi. Với tôi chả có vấn đề.
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi mới sửa lại lỗi file xlsb, còn cái imageMso bạn tải file bài #1 về mà test. Tôi thì không dám test file bạn, thấy file dll là bỏ chạy.
Chả biết ai trước ai sau nhưng với tôi không quan trọng. Tôi đưa lên là chia sẻ cho mọi người sử dụng. Ai thích thì dùng, không thích thì thôi. Với tôi chả có vấn đề.

File Bài #1 thử tới lui rồi chạy cho File *.xlsb vẫn Tan xác pháo

Chúc Một ngày mới tốt lành và vui vẻ
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng là lỗi với file xlsb. Tôi không test file xlsb nên không phát hiện ra file xlsb có hơi khác một chút. Chỉ cần sửa lại code một chút là được.

Bạn cứ test cho tử tế thì sẽ biết là nó có gán imageMso vào đúng chỗ hay không. Không phải control nào cũng có thuộc tính imageMso. Đúng chỗ thì mới gán, không đúng chỗ mà gán bừa bãi thì khi sai không biết sai chỗ nào.
File này của Bạn còn lỗi đó nha ...

Nếu sau 3 ngày mà Bạn chưa tìm ra lỗi và xác nhận là chưa tìm ra thì Mạnh nói ...Còn cứ khẳng định là không thì Mạnh Ứ nói ....
Nói thật lòng và chân thành đó nha ...Mạnh không hàm ý nhỏ nhặt ...--=0//**/--=--

Thân

Kiều Mạnh
 
Upvote 0
Tôi thì nghĩ khác, người thiết kế Ribbon thì phải biết viết code để Ribbon gọi macro viết như thế nào. Hơn nữa với tôi không làm thì thôi, làm thì làm cho bài bản mà tính cả các thủ tục callback thì hơi bị nhiều, làm sẽ mất nhiều thời gian. Để khi nào có hứng có thể sẽ bổ sung thêm phần chèn code mẫu.
--
Bài #2 làm không được có thể do làm chưa đúng - chưa chọn đúng phiên bản office. Cái này cũng là hạn chế mà lúc đầu tôi chưa tính tới, đáng lẽ Ribbon tạo cho Office 2007 thì Office 2010-2016 phải dùng được.

File đính kèm ở bài này tôi đã khắc phục vấn đề này.
Chào Anh!.
Ví dụ: Tôi có file TD; Trong file có code xóa dữ liệu; Tôi muốn tạo menu xóa dữ liệu bằng tiếng việt để chạy code xóa đó thực hiện theo file của Anh để tạo
Cảm ơn Anh Nhiều!.
- Cách đây cũng không lâu tôi có tạo menu tiếng việt nhưng tôi sử dụng "Custom UI Editor For Microsoft Office"; Phần tiếng việt tôi sử dụng file tạo chuỗi "Tao chuoi cho Custom UI Editor" Trên GPE do Anh siwtom viết. Với cách đó tôi đã tạo ra được Menu tiếng việt nó chỉ thực hiện được với file .xlsm còn file .xlsb không thực hiện được. Nếu file của Anh thực hiện được nhanh và cả file định dạng .xlsb thì thật tốt; Nhưng tôi chưa hiểu cách dùng. Mong Anh hướng dẫn chi tiết hơn với file Ribbon Creator.

Mã:
[/COLOR]<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"><!-- Thêm the? mo´i va`o Ribbon -->
<ribbon>
<tabs>
<tab id="MyCustomTab" label="TỔNG HỢP DỮ LIỆU" insertAfterMso="TabHome">
<group id="customGroup3" label="XÓA DANH SÁCH">
<button id="customButton35" label="Xóa dữ liệu báo cáo" size="large" onAction="Xoa_du_lieu_bao_cao" imageMso="TableDeleteRowsAndColumnsMenuWord" />
<button id="customButton36" label="Xóa dữ liệu báo cáo tổng hợp" size="large" onAction="Xoa_du_lieu_bao_cao_tong_hop" imageMso="TableDeleteRowsAndColumnsMenuWord" />


</group>


</tab>
</tabs>
</ribbon>
</customUI>


[COLOR=#000099]
 

File đính kèm

  • TD.xlsm
    23.2 KB · Đọc: 91
Upvote 0
File này của Bạn còn lỗi đó nha ...

Nếu sau 3 ngày mà Bạn chưa tìm ra lỗi và xác nhận là chưa tìm ra thì Mạnh nói ...Còn cứ khẳng định là không thì Mạnh Ứ nói ....
Nói thật lòng và chân thành đó nha ...Mạnh không hàm ý nhỏ nhặt ...--=0//**/--=--

Thân

Kiều Mạnh
Chuyện có lỗi là bình thường.
Nếu người dùng sử dụng gặp lỗi thì họ sẽ la lên, lúc đó tôi sẽ tìm cách sửa. Còn nếu có lỗi mà dùng không gặp lỗi thì thiết nghĩ cũng không cần phải sửa --=0.

File này tôi thấy còn có trường hợp cần đề phòng đó là file được chọn đang mở. Không biết có phải bạn nói cái này không. Tôi cũng đang chờ xem có ai la lên thì tôi sửa còn không thì khi nào có gì cập nhật sửa một lần.
 
Upvote 0
Web KT
Back
Top Bottom