You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:43:22