vba for excel的几个简单问题,大家阿帮忙啊!!1)怎么清除剪切板里面的内容(我的程序调用了剪切板,关闭的时候总提示我,是否保留.....)
2)怎么给excel的菜单添加一个子菜单
3)怎么获得当前目录
4)怎么设置当前目录
5)怎么获得当前文件所在目录 谢谢,可怜我就那么点分了,大家帮帮我吧,别嫌弃分少 :)

解决方案 »

  1.   

    还有问题 怎么撤销vba对excel的汇总??
      

  2.   

    1)
    clipboard.settext
    clipboard.setdata
      

  3.   

    1.Clipboard.clear
      If MsgBox("", vbYesNo, "") = vbYes Then
        Clipboard.Clear
      Else
        Exit Sub
      End If
      

  4.   

    1)怎么清除剪切板里面的内容(我的程序调用了剪切板,关闭的时候总提示我,是否保留.....)'開一個Module,寫以下代碼
    Private Declare Function GetClipboardOwner Lib "user32" () As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function EmptyClipboard Lib "user32" () As LongPublic Sub ClearClip()
        Call OpenClipboard(GetClipboardOwner)
        Call EmptyClipboard
    End Sub2)怎么给excel的菜单添加一个子菜单Public Sub AddOurMenuItem()
        Dim mnuLeoMainMenu As CommandBarPopup
        Dim mnuLeoSubMenu As CommandBarControl
        Const MAIN_MENU_TAG = "頂層菜單標記"
        Const MAIN_MENU_NAME = "頂層菜單名"
        Const SUB_MENU1_TAG = "子菜單標記"
        Const SUB_MENU1_NAME = "子菜單名"
        Const SUB_MENU1_MACRO = "按下子菜單后調用的程序名"
        
        
        Set mnuLeoMainMenu = CommandBars.ActiveMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
        mnuLeoMainMenu.Tag = MAIN_MENU_TAG
        mnuLeoMainMenu.Caption = MAIN_MENU_NAME
        
        Set mnuLeoSubMenu = mnuLeoMainMenu.Controls.Add(Type:=msoControlButton, Temporary:=True)
        mnuLeoSubMenu.Tag = SUB_MENU1_TAG
        mnuLeoSubMenu.Caption = SUB_MENU1_NAME
        mnuLeoSubMenu.OnAction = SUB_MENU1_MACRO
        
        Set mnuLeoMainMenu = Nothing
        Set mnuLeoSubMenu = NothingEnd Sub3)怎么获得当前目录
    Public Function GetSurPath() as string 
        GetSurPath = CurDir
    End Sub4)怎么设置当前目录
    Public Sub SetSurPath(Byval strPath as string)
        call CurDir(strpath)
    End Sub5)怎么获得当前文件所在目录
    Public Fucntion GetThisBookPath() as string
        GetThisBookPath = ThisWorkbook.Path
    end function正確!全對!加分!
      

  5.   

    1)怎么清除剪切板里面的内容(我的程序调用了剪切板,关闭的时候总提示我,是否保留.....)'開一個Module,寫以下代碼
    Private Declare Function GetClipboardOwner Lib "user32" () As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function EmptyClipboard Lib "user32" () As Long
    Private Declare Function CloseClipboard Lib "user32" Alias "CloseClipboard" () As LongPublic Sub ClearClip()
        Call OpenClipboard(GetClipboardOwner)
        Call EmptyClipboard
        call CloseClipboard    '記得Close
    End Sub
      

  6.   

    Clipboard.Clear在excel中好象不支持。