我们在使用电脑的时候,如果打开的窗口太多,任务栏会比较混乱,一般我们就会关闭一些不需要的窗口,比如文件夹等。
在使用Excel的时候,偶尔我们又需要打开一些工作簿的所在文件夹去操作,这时候找起来可能就有点麻烦了。
在VBA里使用过Workbook对象就能知道,调用Path属性就能获取到工作簿所在的文件夹,所以,使用VBA就可以快速打开活动工作簿所在的文件夹:
首先在customUI.xml中增加代码:
代码语言:javascript复制 <button id="rbbtnOpenActiveWbPath" label="打开文件夹" size="large" onAction="rbbtnOpenActiveWbPath" imageMso="FileOpen" supertip="打开活动工作簿所在的文件夹。"/>
回调函数:
代码语言:javascript复制Sub rbbtnOpenActiveWbPath(control As IRibbonControl)
Call MShtWk.OpenActiveWbPath
End Sub
函数实现:
代码语言:javascript复制Sub OpenActiveWbPath()
Dim Path As String
Path = ActiveWorkbook.Path
Path = """" & Path & """"
VBA.Shell "cmd.exe /c explorer " & Path, vbNormalFocus
End Sub
函数比较简单,就是获取活动工作簿的Path,然后调用Shell执行cmd命令。
所以程序运行会弹出一个黑窗口,那个就cmd的窗口。
路径有空格的时候我记得是会出问题的,可能原来是XP系统,我电脑WIN7系统测试没有出问题。
Path的前后连接英文状态的双引号目的是为了避免路径有空格的问题。