希望有人能够帮助我的下面的代码.我试图打开宏工作簿当前所在的当前文件夹.在这个例子中,它在文件夹中H:\Projects\IWA_Populate.但是,工作簿可以在运行时位于任何文件夹位置.
如果指定如下的静态路径,它将工作并打开目标文件夹IWA_Populate:
Shell "explorer.exe H:\Projects\IWA_Populate", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
但是我想用变量替换上面的路径,因为它只打开My Documents文件夹.
Shell "explorer.exe file_path", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
这是我的代码,我必须初始化file_path:
Public file_path As String
Public xl As Excel.Application
Set xl = Application: xl.DisplayAlerts = False
ActiveWorkbook.Save
file_path = xl.ActiveWorkbook.Path
'Shell "explorer.exe H:\Projects\IWA_Populate", vbNormalFocus
Shell "explorer.exe file_path", vbNormalFocus
MsgBox file_path
Run Code Online (Sandbox Code Playgroud)
消息框用于测试file_path设置为正确的完整路径.
移到引号file_path 之外并使用&符号&.虽然它在引号内,但它不再是变量file_path,而是String文字"file_path".
更改:
Shell "explorer.exe file_path", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
至
Shell "explorer.exe " & file_path, vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
编辑:正如@TimWilliams指出的那样,你可以调整它
Shell "explorer.exe """ & file_path & """", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
允许文件名中的空格.
| 归档时间: |
|
| 查看次数: |
2647 次 |
| 最近记录: |