运行msoFileDialogFolderPicker后VBA Shell脚本异常终止问题求助
VBA文件夹选择器引发Shell脚本执行异常的问题
我遇到一个特殊问题:编写了如下文件夹选择VBA过程:
Sub Select_Folder() Dim SelectedFolder As String ' 打开文件夹选择对话框 With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then ' 若点击了确定 SelectedFolder = .SelectedItems(1) Else Exit Sub ' 用户取消操作 End If End With Worksheets("RawData").Cells(15, 34) = SelectedFolder End Sub
另有一个独立的Shell命令执行过程,两个过程无变量共享,Shell函数也未引用文件夹选择过程的输出。单独运行Shell脚本时,CMD能正常执行该脚本;但先运行文件夹选择器并选择文件夹后,再运行Shell脚本,CMD窗口会瞬间打开后关闭,脚本异常终止。脚本直接在CMD中运行完全正常。
补充信息
- 异常表现:CMD窗口打开后1秒内关闭;
- Shell脚本用于从IBM服务器获取信息,命令如下:
其中"cmd.exe /S /C " & "cd " & IBMInstallationPath & " && scm show history -r " & "https://jazz-test4.conti.de/ccm4/" & " -u " & UserName & " -P " & Password & " -C " & Component & " -w " & StreamName & " --remotePath " & Chr(34) & Folder & Chr(34)IBMInstallationPath = "C:\LegacyApp\IBM\EWM_Shell\3rd Party\scmtools\eclipse"; - 按Tim Williams的建议,发现运行文件夹选择器后
CurDir被改为D盘,在Shell脚本前添加ChDrive和ChDir切换到C盘后,问题解决。但仍不清楚原因:是因为IBM安装路径在C盘吗?
内容的提问来源于stack exchange,提问作者Pradyumna Karanth
相关产品推荐
相关产品推荐

