Tạo Menu Ribbon bằng VBA

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
875
Lang thang trên mạng thấy cái CODE tạo menu Ribbon trong vba |||||
PHP:
Sub LoadCustRibbon()
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI      xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + "  <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "      <mso:tab id='reportTab' label='Reports' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + "        <mso:group id='reportGroup' label='Reports' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <mso:button id='runReport' label='PTO' "   & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3'      onAction='GenReport'/>" & vbNewLine
ribbonXML = ribbonXML + "        </mso:group>" & vbNewLine
ribbonXML = ribbonXML + "      </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + "    </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "  </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"

ribbonXML = Replace(ribbonXML, """", "")

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

Sub ClearCustRibbon()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI           xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
 End Sub
 
Lang thang trên mạng thấy cái CODE tạo menu Ribbon trong vba |||||
PHP:
Sub LoadCustRibbon()
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI      xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + "  <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + "    <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "      <mso:tab id='reportTab' label='Reports' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + "        <mso:group id='reportGroup' label='Reports' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + "          <mso:button id='runReport' label='PTO' "   & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor3'      onAction='GenReport'/>" & vbNewLine
ribbonXML = ribbonXML + "        </mso:group>" & vbNewLine
ribbonXML = ribbonXML + "      </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + "    </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + "  </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"

ribbonXML = Replace(ribbonXML, """", "")

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile

End Sub

Sub ClearCustRibbon()

Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String

hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"

ribbonXML = "<mso:customUI           xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"

Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
 End Sub

Bạn tham khảo them 2 link sau trên GPE

http://www.giaiphapexcel.com/forum/...s-Tạo-Menu-RibbonTiếng-Việt-Có-Dấu-Cho-Office

http://www.giaiphapexcel.com/forum/...ia-sẻ-công-cụ-tạo-Ribbon-cho-file-Excel/page2
 
Upvote 0
Lang thang trên mạng thấy cái CODE tạo menu Ribbon trong vba |||||

Code không có tác dụng ngay mà phải đóng, lưu file xong mở lại mới thấy
Mà chắc phải thế rồi chứ không thể nào khác hơn được
----------------
Nói thêm: Tôi nghi rằng code này không tạo được các Caption với tiếng Việt có dấu
 
Upvote 0
Lang thang trên mạng thấy cái CODE tạo menu Ribbon trong vba |||||
gửi bạn
bạn tạo 1 file có đuôi mở rộng có thể lưu code rồi chạy tạo trên file đó nhé. nếu thực hiện trên file không lưu code được thì có một số trường hợp không chạy được đâu.
xử dụng có lỗi hay hạn chế gì thì góp ý kiến cho mình hoàn thiện thêm nhé.
-----------------------
tham khảo nguồn: GPE
 

File đính kèm

  • Ribbon.xlsm
    526.8 KB · Đọc: 438
Lần chỉnh sửa cuối:
Upvote 0
gửi bạn
bạn tạo 1 file có đuôi mở rộng có thể lưu code rồi chạy tạo trên file đó nhé. nếu thực hiện trên file không lưu code được thì có một số trường hợp không chạy được đâu.
xử dụng có lỗi hay hạn chế gì thì góp ý kiến cho mình hoàn thiện thêm nhé.
-----------------------
tham khảo nguồn: GPE
Mới viết lại à .........
 
Upvote 0
gửi bạn
bạn tạo 1 file có đuôi mở rộng có thể lưu code rồi chạy tạo trên file đó nhé. nếu thực hiện trên file không lưu code được thì có một số trường hợp không chạy được đâu.
xử dụng có lỗi hay hạn chế gì thì góp ý kiến cho mình hoàn thiện thêm nhé.
-----------------------
tham khảo nguồn: GPE
Cám ơn anh đã chia sẻ, sao em tạo Ribbon no lại báo lỗi anh nhỉ )(&&@@

loi tao Ribbon.jpg

PS: Em đã kiếm ra lỗi chưa đánh dấu check vào Trust Access to Visua....
 
Lần chỉnh sửa cuối:
Upvote 0
ripbon2.jpg

Sao em chuyển File thì cái Menu Ribbon File kia mất không thấy là sao nhỉ )(&&@@
 
Upvote 0
Cái này cập được UNICODE ah chuyễn qua Decimal
PHP:
C & # 7853 ; p nh & # 7853 ; t UNICODE
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
như vậy đúng rồi bạn. tại vì nó là Ribbon trên 1 file nên chỉ thấy trên file đó, còn nếu bạn muốn xuất hiện trên mọi file thì nó phải là Addins thì mới thấy được trên file khác.
Mà sao em sửa thủ công chỉ thay cái dòng insertBeforeMso thành insertApter..Mso sao nó không chạy nhỉ
 
Upvote 0
Mà sao em sửa thủ công chỉ thay cái dòng insertBeforeMso thành insertApter..Mso sao nó không chạy nhỉ
sửa thế nào bạn. có hết tại dòng 1 rồi mà. đâu có gì mà phải sửa. đừng có sửa 2 dòng đâu của file nha. sửa sai là chả tạo được đâu. nó phân biệt chữ hoa chữ thường đó.
 
Upvote 0
Sửa thủ công là sửa thế nào vậy bạn? có thể hướng dẫn mình làm với được không?
Là mở File customUI14.xml không dùng code.
ripbon.jpg

Em mở file customUI14.xml bằng Notepad
sửa dòng này
<tab id="TAB1" insertBeforeMso="TabHome" label="Tiêu đê tab ngôn ngu ">

thành

<tab id="TAB1" insertAfterMso="TabHome" label="Tiêu đê tab ngôn ngu ">
nó khong chay hichic +-+-+-+
 
Lần chỉnh sửa cuối:
Upvote 0
Là mở File customUI14.xml không dùng code.


Em mở file customUI14.xml bằng Notepad
sửa dòng này
<tab id="TAB1" insertBeforeMso="TabHome" label="Tiêu đê tab ngôn ngu ">

thành

<tab id="TAB1" insertAfterMso="TabHome" label="Tiêu đê tab ngôn ngu ">
nó khong chay hichic +-+-+-+
lệnh đó có mà sao bạn không dùng.
mình có thử sửa thủ công như bạn nói, vẫn chạy bình thường, bạn kiểm tra lại xem, dư dấu cách hay viết sai in hoa in thường thì cũng không được đâu nha.
 

File đính kèm

  • Chưa có tên.jpg
    Chưa có tên.jpg
    27.2 KB · Đọc: 126
Lần chỉnh sửa cuối:
Upvote 0
gửi bạn
bạn tạo 1 file có đuôi mở rộng có thể lưu code rồi chạy tạo trên file đó nhé. nếu thực hiện trên file không lưu code được thì có một số trường hợp không chạy được đâu.
xử dụng có lỗi hay hạn chế gì thì góp ý kiến cho mình hoàn thiện thêm nhé.
-----------------------
tham khảo nguồn: GPE
Cái này sao chép sang file khác chỉnh sửa sao vậy bạn. Chỉ với
 
Upvote 0
Là mở File customUI14.xml không dùng code.
View attachment 169266

Em mở file customUI14.xml bằng Notepad
sửa dòng này
<tab id="TAB1" insertBeforeMso="TabHome" label="Tiêu đê tab ngôn ngu ">

thành

<tab id="TAB1" insertAfterMso="TabHome" label="Tiêu đê tab ngôn ngu ">
nó khong chay hichic +-+-+-+
Cảm ơn anh đã chia sẻ, nhưng mỗi lần sửa hoặc thêm lại mở file customUI14.xml để sửa thì hơi không tiện cho lắm. hy vọng anh cải tiến làm sao để sửa được trực tiếp trong vba thì sẽ đỡ mất nhiều thao tác hơn.
em lang thang tìm thấy có bài Chỉnh sửa các thành phần trong tệp OpenXML bằng VBA:
Nhưng chưa biết cách áp dụng hy vọng các cao thủ GPE hướng đẫn thêm ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom