To: Tuanktcdcn,
Theo Duyệt nghĩ, chúng ta có thể thao tác với Excel bằng Visual basic. Do đó khi mở một tập tin đã dịch ra exe, với biểu tượng sau khi dịch là biểu tượng của excel nhưng thực chất là tập tin exe, khi chạy chương trình nó sẽ mở excel và tạo menu. Do đó thực sự không phải tạo menu bằng VBA do đó hòan toàn không có code. Bạn hãy thử đọan code sau, chỉnh sửa lại sao cho phù hợp với phiên bản của excel. Và thế là chúng ta có thể "ngủ" được! Không thể ngủ được nếu chưa thể giải quyết bài tóan..."khò, khò, khò..."
Chúc mọi người cuối tuần vui vẻ.
1.
Start Excel.
2.
Click Toolbars on the View Menu and then choose Customize.
3.
Click on the New button in the Customize dialog box to add a new CommandBar.
4.
Type ExistingBar for the Toolbar name and click OK.
5.
Close the Customize dialog box and quit Excel.
6.
Open a new Visual Basic EXE project. Form1 is created by default.
7.
Click References on the Project menu and check Microsoft Visual Basic for Applications Extensibility 5.3, Microsoft Excel 9.0 Object Library (or Microsoft Excel 8.0 Object Library for Microsoft Excel 97) and Microsoft Office 9.0 Object Library (or Microsoft Office 8.0 Object Library for Microsoft Office 97).
8.
Add a CommandButton to Form1. In the code module for Form1, add the following code:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Private Sub Command1_Click()
' Start Excel:
Set xlApp = CreateObject("Excel.Application")
' Add a new Workbook
Set xlBook = xlApp.Workbooks.Add
xlApp.Visible = True
xlApp.UserControl = True
' ** Create a new toolbar with a dummy button**
' Add a new toolbar...
Dim cbs As Office.CommandBars
Dim cb As Office.CommandBar
Set cbs = xlApp.CommandBars
' Note the Temporary argument is set to False.
Set cb = cbs.Add("AddedBar", 1, , False) '1=msoBarTop
' Make it visible and add a button...
cb.Visible = True
Dim cbc As Office.CommandBarControl
Set cbc = cb.Controls.Add(1) '1=msoControlButton
' Set text for the button
cbc.Caption = "Dummy Button"
cbc.FaceId = 2950 'Smiley
' Delete the Existing Custom Bar
xlApp.CommandBars("ExistingBar").Delete
xlApp.WindowState = xlMaximized
Form1.WindowState = vbMinimized
Dim sMsg As String
sMsg = "Notice that the ExistingBar is deleted and AddedBar is added."
sMsg = sMsg & vbCrLF & "Hit OK to continue"
MsgBox sMsg, vbMsgBoxSetForeground, "Pausing to view changes"
' Close the Workbook without saving changes and quit Excel.
xlBook.Close False
xlApp.Quit
' Remember to release references.
Set xlBook = Nothing
Set xlApp = Nothing
Unload Me
End Sub
9.
Run the project and click the button.
10.
When the message is displayed, you can see that the "ExistingBar" CommandBar is deleted and our new CommandBar "AddedBar" is displayed.
11.
Click OK and let the program Quit Excel and terminate.
12.
Now start Excel, and note that the added CommandBar is no longer there and the deleted bar still exists.
(Xin lỗi mình không có thời gian để dịch)
Chúc tất cả vui vẻ