Ứng dụng tạo Ribbon cho Word, Excel, Access và PowerPoint.

Liên hệ QC
Tình hình là khi tôi bấm tạo Ribbon thì báo lỗi như hình. Tôi chỉ tạo mấy cái tên Tab, group thôi.
Test trên:
- Win10 (64bit) - Office 2013 (32bit)
- Win 7 (64bit) - Office 2016 (64bit)
Cài đặt với "Run As Administrator".
Tạo ribbob trên "Tệp tin đã có" hay mới đều bị lỗi như vậy.
Tạo trên file xlsx cũng lỗi.


View attachment 263025

View attachment 263026 View attachment 263027
Mình cũng bị lỗi này, nếu bạn đã khắc phục được thì hỗ trợ mình với nhé
 
Chào bạn, mình dùng thử, làm như video hướng dẫn đến bước cấu hình ribbon, do không hiểu tác dụng của nó nên mình để mặc định không tích vào chỗ nào cả, sau đó chuyển sang bước tạo ribbon, tích tạo mới, chọn đường dẫn và xuất, nhưng nó báo lỗi: đã có lỗi xảy ra trong quá trình tạo ribbon cho tệp tin ... không biết làm sao khắc phục, nhờ bạn hỗ trợ, xin cám ơn
Mình có thể Update lại Office thử xem, tôi mới test ở một laptop Windows 10 64bit và Office 2016 64bit cũng bị báo lỗi giống như các bác, sau đó Update lại thì chạy ngon luôn.
 
Đã tìm ra nguyên nhân không tạo được tệp tin Word, Excel và PowerPoint là do chưa bật chức năng cho phép chạy code cho tệp tin, chính vì vậy ứng dụng không thêm được code vào file khi tạo xong ribbon. Để tạo được file Word có chứa Ribbon thì trước khi chạy ứng dụng phải mở chức năng cho phép chạy macro của word (Excel và PowerPoint cũng vậy). Đã cập nhật hướng dẫn ở bài 1.
 
Anh kiểm tra xem có dùng addin hay Tool nào c r a c k trong Project không? Hoặc mã lệnh can thiệp sâu vào Windows...
Không phải đâu Hướng ơi.
Khi viết các action làm cho các chương trình diệt virus "cho là virus". Tình trạng này trên mạng họ kêu ca nhiều.
Đăng ký tốn tiền thì chắc hết. :)

Lê Văn Duyệt
 
Mình tạo ribbon xong rồi làm sao để gán macro cho nó vậy ạ
 
Mình tạo ribbon xong rồi làm sao để gán macro cho nó vậy ạ
Khi thiết kế xong và tạo Ribbon thì trong file của bạn sẽ được thêm sẳn code để chạy nút lệnh. Tùy thuộc vào đối tượng bạn tạo trong Ribbon mà tên các Sub điều khiển sẽ khác nhau.
Hinh.png

Cụ thể trên hình nếu đối tượng bạn tạo là Button thì tên Sub trong file sẽ là onAction, vậy để điều khiển cho nút lệnh bạn mở cửa sổ VBE lên và vào Module mdlCallBack và tìm đến Sub OnAction, đó là nơi bạn cần điều khiển code làm việc.
 
Khi thiết kế xong và tạo Ribbon thì trong file của bạn sẽ được thêm sẳn code để chạy nút lệnh. Tùy thuộc vào đối tượng bạn tạo trong Ribbon mà tên các Sub điều khiển sẽ khác nhau.
View attachment 265427

Cụ thể trên hình nếu đối tượng bạn tạo là Button thì tên Sub trong file sẽ là onAction, vậy để điều khiển cho nút lệnh bạn mở cửa sổ VBE lên và vào Module mdlCallBack và tìm đến Sub OnAction, đó là nơi bạn cần điều khiển code làm việc.
1630733274800.pngAnh giúp em một ví dụ cụ thể được không ạ, em không rõ lắm id với Call Macro thì mình đặt nó vào đâu.
Em cảm ơn
 

File đính kèm

  • Vi du mau.xlsm
    19.4 KB · Đọc: 48
z2857227119491_4960694501bb727764fe8809f4fdd3b7.jpg
Lỗi hiển thị khi chọn Style --> Black.
Khi tạo file vẩn bị lỗi "Đã bị xảy ra lỗi trong quá trình tạo ribbon...." mặc dù đã bật như hướng dẩn ở bài #1
 
View attachment 267939
Lỗi hiển thị khi chọn Style --> Black.
Khi tạo file vẩn bị lỗi "Đã bị xảy ra lỗi trong quá trình tạo ribbon...." mặc dù đã bật như hướng dẩn ở bài #1
Cái đó không phải lỗi nhé bạn, bạn chọn Black thì nó phải đen thôi chứ sao lại lỗi.
Bạn tạo file bị lỗi có thể chọn cách mở ứng dụng như sau: Nhấp phải vào Create Ribbon và chọn Run as administrator thử xem có tạo được hay không?
Hinh.png
 
Cái đó không phải lỗi nhé bạn, bạn chọn Black thì nó phải đen thôi chứ sao lại lỗi.
Bạn tạo file bị lỗi có thể chọn cách mở ứng dụng như sau: Nhấp phải vào Create Ribbon và chọn Run as administrator thử xem có tạo được hay không?
View attachment 267940
Nền đen thì chữ phải trắng chứ a :)))
Chạy run as Admin vẩn lỗi như v a
 
Nền đen thì chữ phải trắng chứ a :)))
Chạy run as Admin vẩn lỗi như v a
Cái chữ đen là lý do nút lệnh nó bị vô hiệu hóa (Disable), còn nút nào dùng được nó sẽ có chữ màu trắng mà bạn. Cụ thể bạn nhìn nút chỉnh sửa đó. Để kiểm chứng lần nửa bạn chọn thử test 1 xem có gì khác biệt.
Nếu cho chạy với quyền administrator không được nửa thì tui thua rồi.
 
Em đang xài thì báo như hình ( hết bản dùng thử), em cũng làm theo các bước như hình nhưng không thấy mail gửi về. Có ai biết chỉ giúp em
Em cám ơn.
p/s: em đã được gửi mail có mã đăng kí rồi.
2021-11-24_16-24-43.jpg
 
Lần chỉnh sửa cuối:
Xin hỏi làm cách nào để lấy hình ảnh của mình bỏ vào thay thế các hình ảnh mặc định các nút bấm. Xin cám ơn
 
Cái này vẫn bị lỗi, không xuất được, chỉ xuất được ra file xml. Cái này không được phát triển nữa thì phải ?
 
Mình cũng đang thắc mắc vấn đề này nhưng chưa có bạn nào hỗ trợ
Mã:
Sub onAction(control As IRibbonControl)
Application.ScreenUpdating = False

    Dim Arr_Sheet As Variant
    Select Case control.ID
    
        Case "WL93" 'Chi ti?t-Chi ti?t t?ng s?n ph?m
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Thong_Tin_San_Pham
            
        Case "WL94" 'Mă hàng-Chi ti?t t?ng mă hàng
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Chi_Tiet_Ma_Hang
            
        Case "WL703" 'tao ma hang
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Tao_Ma_Hang
            
        Case "WL101" 'Date xu?t-Date xu?t theo tháng
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Date_Xuat_INV
        
        Case "WL348" 'Date xu?t-Date xu?t theo tháng
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call The_Kho_Thang
            
        Case "WL725" 'to mau trang thai
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call To_Mau_Trang_Thai
            
        Case "WL170" '??n cu?i hoàn t?t-?i ??n v? trí cu?i ḍng hoàn t?t
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Den_Cuoi_Hoan_Tat
            
        Case "WL107" 'Setup ID-Setup ID
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Set_ID
            
        Case "WL112" 'Check ID-Check ID
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Check_ID
            
        Case "WL356" 'Check ID-Check ID
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Check_ID1
            
        Case "WL120" 'Check NXT-Check nh?p xu?t t?n
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Check_NXT
            
        Case "WL121" 'Check HD-Check h?p ??ng xu?t c̣n d?
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Check_Hop_Dong
            
        Case "WL125" 'Backup-Backup d? li?u
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Backup_Du_Lieu
            
        Case "WL272" 'Nhóm s?n ph?m-Báo cáo th? kho theo nhóm s?n ph?m
            Arr_Sheet = Array("DATABASE", "NHOM_SAN_PHAM")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_The_Kho_Nhom_San_Pham
            
        Case "WL273" 'Chi ti?t theo s?n ph?m-Báo cáo th? kho theo chi ti?t s?n ph?m
            Arr_Sheet = Array("DATABASE", "THE_KHO_CHI_TIET")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_The_Kho_Chi_Tiet_San_Pham
            
        Case "WL274" 'Th? kho thu g?n-Báo cáo th? kho thu g?n
            Arr_Sheet = Array("DATABASE", "IN_THE_KHO")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_The_Kho_Thu_Gon
            
        Case "WL275" 'Tái ch? NSP-Báo cáo tái ch? theo nhóm s?n ph?m
            Arr_Sheet = Array("DATABASE", "BAO_CAO_CHI_TIET_TAI_CHE", "BAO_CAO_TAI_CHE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_Tai_Che_NSP
            
        Case "WL276" 'Tái ch? chi ti?t-Báo cáo tái ch? chi ti?t
            Arr_Sheet = Array("DATABASE", "BAO_CAO_CHI_TIET_TAI_CHE", "BAO_CAO_TAI_CHE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_Tai_Che_NSP
            
        Case "WL710" 'NET ban thanh pham
            Arr_Sheet = Array("DATABASE", "BTP")
            Call UnHide_Sheets(Arr_Sheet)
            Call Ban_Thanh_Pham
            
        Case "WL277" 'T?ng h?p th? kho-Báo cáo t?ng h?p th? kho
            Arr_Sheet = Array("DATABASE", "THTK", "BCSX", "NL_TeToan")
            Call UnHide_Sheets(Arr_Sheet)
            Call THTK
            
        Case "WL739" 'ws
            Arr_Sheet = Array("DATABASE", "WS")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_WS
            
        Case "WL740" 'ws1
            Arr_Sheet = Array("DATABASE", "WS_Form1")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_WS_Form1
            
        Case "WL741" 'ws2
            Arr_Sheet = Array("DATABASE", "WS_Form2")
            Call UnHide_Sheets(Arr_Sheet)
            Call Xem_WS_Form2
            
        Case "WL278" 'Nh?p s?n xu?t NSP-Báo cáo nh?p s?n xu?t theo nhóm s?n ph?m
            Arr_Sheet = Array("DATABASE", "NHAP_XUAT_NSP")
            Call UnHide_Sheets(Arr_Sheet)
            Call Lay_Nhap_Xuat_Theo_NSP
            
        Case "WL687" 'Nh?p s?n xu?t NSP-Báo cáo nh?p s?n xu?t theo nhóm s?n ph?m
            Arr_Sheet = Array("DATABASE", "NHAP_XUAT_MSP")
            Call UnHide_Sheets(Arr_Sheet)
            Call Lay_Nhap_Xuat_Theo_MSP
            
        Case "WL153" 'Xu?t Excel NSP-Xu?t báo cáo theo kho theo nhóm s?n ph?m
            Arr_Sheet = Array("DATABASE", "NHOM_SAN_PHAM")
            Call UnHide_Sheets(Arr_Sheet)
            Call Export_The_Kho_Nhom_San_Pham
            
        Case "WL154" 'Xu?t Excel CTSP-Xu?t báo cáo theo kho theo chi ti?t s?n ph?m
            Arr_Sheet = Array("DATABASE", "THE_KHO_CHI_TIET")
            Call UnHide_Sheets(Arr_Sheet)
            Call Export_The_Kho_Chi_Tiet_San_Pham
            
        Case "WL717" 'Xu?t Excel CTSP-Xu?t báo cáo theo kho theo chi ti?t s?n ph?m
            Arr_Sheet = Array("DATABASE", "IN_THE_KHO")
            Call UnHide_Sheets(Arr_Sheet)
            Call Export_The_Kho_Chi_Tiet_San_Pham_IN
            
        Case "WL155" 'Xu?t Excel TKTG-Xu?t báo cáo theo kho thu g?n
            Arr_Sheet = Array("DATABASE", "IN_THE_KHO")
            Call UnHide_Sheets(Arr_Sheet)
            Call Export_The_Kho_Thu_Gon
            
        Case "WL194" 'L?y nh?p-L?y d? li?u nh?p t? k? toán
            Arr_Sheet = Array("DATABASE", "LAY_NHAP")
            Call UnHide_Sheets(Arr_Sheet)
            Call Lay_Nhap_File_Ke_Toan
            
        Case "WL195" 'Tách INV xu?t-Tách INV xu?t t? file k? toán
            Arr_Sheet = Array("DATABASE", "TACH_INV_XUAT_CHI_THUY", "BAO_CAO_XUAT_CONT", "HOA_DON")
            Call UnHide_Sheets(Arr_Sheet)
            Call Tach_INV_File_Ke_Toan
            
        Case "WL339" 'Tách INV xu?t-Tách INV xu?t t? file k? toán
            Arr_Sheet = Array("DATABASE", "TACH_INV_XUAT_CHI_THUY", "BAO_CAO_XUAT_CONT", "HOA_DON")
            Call UnHide_Sheets(Arr_Sheet)
            Call Phan_Tich_Chi_Tiet_Hoa_Don
            
        Case "WL205" 'Phân tích INV-Phân tích INV xu?t
            Arr_Sheet = Array("DATABASE", "TACH_INV_XUAT_CHI_THUY", "BAO_CAO_XUAT_CONT", "HOA_DON")
            Call UnHide_Sheets(Arr_Sheet)
            Call Phan_Tich_Chi_Tiet_INV
            
        Case "WL215" 'Nh?p KHSX-Nh?p hàng theo KHSX M?
            Arr_Sheet = Array("DATABASE", "KHSX")
            Call UnHide_Sheets(Arr_Sheet)
            Call Nhap_Hang_KHSX_MY
            
        Case "WL216" 'Nh?p hàng M?-Nh?p hàng M?
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Nhap_Hang_My
            
        Case "WL217" 'Nh?p hàng ngoài M?-Nh?p hàng ngoài M?
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Nhap_Hang_Ngoai_USA
            
        Case "WL695" 'Nh?p hàng ngoài M?-Nh?p hàng ngoài M?
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Nhap_Hang_Ngoai_My_Da_Co_Ten
            
        Case "WL223" 'Sort hoàn t?t-Sort theo hàng hoàn t?t
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Sort_Hoan_Tat
            
        Case "WL228" 'Sort ch?a hoàn t?t-Sort theo hàng ch?a hoàn t?t
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Sort_Chua_Hoan_Tat
            
        Case "WL320" 'Sort ch?a hoàn t?t-Sort theo hàng ch?a hoàn t?t chua nhap
            Arr_Sheet = Array("DATABASE")
            Call UnHide_Sheets(Arr_Sheet)
            Call Sort_Chua_Hoan_Tat_Chua_Nhap
            
        Case "WL759" 'Cao thanh pham
            Arr_Sheet = Array("DATABASE", "CAO_THE_KHO", "DOI_NGAY_TP")
            Call UnHide_Sheets(Arr_Sheet)
            ThisWorkbook.Sheets("CAO_THE_KHO").Select
    End Select
    
Application.ScreenUpdating = True
End Sub



Gợi ý cho bạn gắn code để chạy
 
Web KT
Back
Top Bottom