NET程序控制EXCEL菜單代碼舉例

    Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Integer, ByVal bRevert As Long) As Integer
    Private Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
    Private Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Integer) As Integer
    Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Integer) As Integer
    Private Const MF_BYPOSITION = &H400&
    Private Const MF_DISABLED = &H2&

    Dim CBCtl As New ArrayList

    Private Sub disableX(ByVal wnd As Excel.Application)
        Dim hMenu As Integer, nCount As Integer
        '得到EXCEL句柄
        hMenu = GetSystemMenu(wnd.Hwnd, 0)
        '獲得菜單總數
        nCount = GetMenuItemCount(hMenu)
        '關閉菜單按鈕爲最後一個
        Call RemoveMenu(hMenu, nCount - 1, MF_BYPOSITION Or MF_DISABLED)
        '重畫菜單圖像
        DrawMenuBar(wnd.Hwnd)
    End Sub

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章