run*_*ily 3 shell excel vba excel-vba
我对VBA还是非常新的,并且几天前开始学习它.现在我尝试创建一个宏来执行shell命令并将输出传递给特定工作表中的特定单元格.我想要完成的是将目录结构的文本转储到工作表中.下面是我到目前为止的代码.
Sub CopyList()
Call Shell("cmd.exe /S /K" & "dir /s /b directoryPath", vbNormalFocus)
End Sub
Run Code Online (Sandbox Code Playgroud)
执行此宏会显示命令提示符并将目录结构转储到cmd窗口中.我想知道如何将其传输到工作表.非常感谢您的帮助.
您可以创建WScript.Shell对象并直接读取StdOut:
Sub SO()
Range("A1").Value = CreateObject("WScript.Shell").Exec("CMD /S /C dir /s /b directoryPath").StdOut.ReadAll
End Sub
Run Code Online (Sandbox Code Playgroud)