【ahk】列出当前开着的目录以及开着的xls文档路径

/*
作者:sunwind
时间:2015年11月27日16:09:57
脚本说明:
1、获取到的当前资源管理器打开的路径
2、获取excel文档路径(可以扩展其它常用应用的文档路径)
3、用弹出菜单展示
4、点击菜单项可以打开相应路径
*/
!a::

    ;获取Explorer打开的目录
     dir.="【当前打开的路径有】`n"
    for oExplore in ComObjCreate("Shell.Application").Windows
    {  
        dir.= oExplore.LocationURL . "`n"
    }
    
    ;获取已经打开的excel文档路径
     dir.="【当前打开的xls有】`n"
    oExcel :=   ComObjActive("Excel.Application")
    for Item in oExcel.workbooks
    {
        dir.= oExcel.workbooks(A_index).FullName  "`n"
        oExcel.ActiveWindow.Caption :=  oexcel.ActiveWorkbook.FullName
    }
 
    Menu, MyMenu, Add  ; 添加分隔线.
    Menu, MyMenu,  DeleteAll ; 清空菜单项

    loop,parse,dir,"`n"    
    {
        if (InStr(A_loopfield,"file:///"))
        {   
            item:=StrReplace(A_LoopField,"file:///","")
            Menu, MyMenu, Add, %item%, MenuHandler
        }
        else
        {
            Menu, MyMenu, Add, %A_loopfield%, MenuHandler
        }
    }
Menu, MyMenu, Show
return
    
MenuHandler:
    if (not instr(A_ThisMenuItem,"【"))
        {
             OpenAndSelect="%A_ThisMenuItem%"
            Run,%OpenAndSelect%  ;这里改成你要的动作
        }

return




你可能感兴趣的:(【ahk】列出当前开着的目录以及开着的xls文档路径)