Làm sao để thêm dữ liệu vào Combobox trong Ribbon

Liên hệ QC

chipvang

Thành viên mới
Tham gia
29/11/08
Bài viết
37
Được thích
11
Hi All,

Tôi đang làm giao diện trên excel 2007, cái Ribbon quả là rắc rối. Tôi đã tạo được button, label, Combobox..

Cái khó là làm sao thêm mục (Item) vào combobox (dropdown) đó khi chạy (runtime). Tìm mãi mà không thấy giải pháp nào cho VBA cả.

Các bác có cao kiến gì không, giúp chipvang một tay với, mất 2 ngày rồi


Thanks
 
Để mọi người có thể dễ hiểu, tôi một đoạn code lên, lẽ ra nó phải chạy rồi vì làm theo hướng dẫn trên web, nhưng nó lại không chạy, thế mới khó tìm nguyên nhân.
Mong mọi người giúp

Thanks,
 

File đính kèm

Upvote 0
Excel 2003 dùng VBA có thể tạo menu, toolbar, nhưng 2007 lại dùng xml mới mệt. Chipvang thử tìm kiếm trên mạng xem sao?
 
Upvote 0
Excel 2003 dùng VBA có thể tạo menu, toolbar, nhưng 2007 lại dùng xml mới mệt. Chipvang thử tìm kiếm trên mạng xem sao?

Thank PTH, Em đã tìm rất nhiều trên mạng, dùng công nghệ Xml để tạo được menu ribbon rồi, làm việc với button, text thì ok, còn cái combo muốn nạp danh mục múc chạy lại không làm được, tạo tĩnh bằng cú pháp additem="item i" thì OK.

Câu hỏi là add dynamically Items to combobox at the runtime, Ribbon 2007, VBA (COM)

thanks
 
Upvote 0
Thank PTH, Em đã tìm rất nhiều trên mạng, dùng công nghệ Xml để tạo được menu ribbon rồi, làm việc với button, text thì ok, còn cái combo muốn nạp danh mục múc chạy lại không làm được, tạo tĩnh bằng cú pháp additem="item i" thì OK.

Câu hỏi là add dynamically Items to combobox at the runtime, Ribbon 2007, VBA (COM)

thanks

Trong code của Chipvang có và lỗi nhỏ là dùng Private, chỉnh lại như sau:
Mã:
Function GetItemID(control As IRibbonControl, index As Integer) As String
    GetItemID = index
End Function

Function GetItemCount(control As IRibbonControl) As Integer
    GetItemCount = 4
End Function

Function GetItemLabel(control As IRibbonControl, index As Integer) As String
    GetItemLabel = CboItem(index + 1)
End Function

Lưu ý, không nên references tới các thư viện lạ. Chỉ link thêm tới MSO.DLL, Excel.exe
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn TuanVNUNI nhiều nhiều.

Đúng là mình nghỉ trong Class thì thêm chữ Private vào, ai dè sai cú pháp

Đúng là cao thủ

Thanks.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom