2013-04-26 27 views
0

我有一個VBA宏執行命令行功能來創建一個文本文件列出目錄中的文件;但是,不是將文本文件中的列表從文本文件複製粘貼/導入到工作表,是否可以簡單地將命令行的putput直接傳遞到工作表中?Excel宏可以將輸出從命令行直接拖入工作表中嗎?

VBA代碼,我有工作,現在創建的文件是:

CMD = "DIR /A:-D-H /O:-D-G /B \\directory\* > \\sleuth.txt" 
Shell "cmd.exe /c " & CMD 

我非常感激在這方面的任何想法!

+0

您當然可以讓VBA打開文本文件,將其讀入並寫入工作表。 – RBarryYoung 2013-04-26 15:34:38

+2

我想你問的是錯誤的問題 - 而不是試圖直接將輸出的shell命令輸入到工作表中,爲什麼不直接在VBA中直接獲取目錄列表而不是首先解決?看到例如http://stackoverflow.com/questions/3017318/vba-getting-list-of-all-files-with-esy-extension-in-a-directory – Vicky 2013-04-26 15:43:59

+0

RBarry年輕的答案 - 我絕對可以做到這一點,但我想我是否可以採取幾個步驟,爲什麼不呢? Vicky,這是一個非常好的主意,雖然我不完全確定如何讓子文件夾包含在搜索中(不適合當前的任務,但也有其他人認爲這很重要)。我會在這裏挖掘一下,看看我能否找到某個人的例子。謝謝! – 2013-04-26 17:28:11

回答

0

您可以使用this class將其保存爲字符串變量。 (直接下載鏈接here

下面是一個例子用法:

Sub Test() 
    Dim cls As New clsRunApp 
    Dim s As String 
    cls.command = "cmd.exe /k dir" 

    s = cls.RunAppWait_CaptureOutput 
    Set cls = Nothing 
    MsgBox (s) 
End Sub 

從那裏,你可以將其輸出到直接您的工作表。

相關問題