要使用VBA调用CMD的findstr命令,并将其输出内容输出到Excel的Sheet1中,可以按照以下步骤进行操作:

  1. 打开Excel,按下“Alt + F11”打开VBA编辑器。
  2. 在VBA编辑器中,插入一个新的模块。
  3. 在新的模块中,编写以下VBA代码:
Sub CallFindstrCmd()
    Dim cmdPath As String
    Dim cmdArgs As String
    Dim output As String
    Dim cmdOutput() As String
    Dim i As Integer
    
    ' 设置CMD路径和参数
    cmdPath = "C:\Windows\System32\cmd.exe"
    cmdArgs = "/C findstr /i /n ""keyword"" ""C:\path\to\file.txt"""
    
    ' 创建一个WshShell对象
    Set WshShell = CreateObject("WScript.Shell")
    
    ' 运行CMD命令
    output = WshShell.Exec(cmdPath & " " & cmdArgs).StdOut.ReadAll
    
    ' 将输出内容按行分割
    cmdOutput = Split(output, vbCrLf)
    
    ' 将输出内容写入Sheet1中的单元格
    For i = LBound(cmdOutput) To UBound(cmdOutput)
        Sheet1.Cells(i + 1, 1).Value = cmdOutput(i)
    Next i
End Sub
  1. 修改cmdPath变量为CMD的路径,修改cmdArgs变量为你希望执行的findstr命令及其参数。
  2. "keyword"替换为你要查找的关键字。
  3. "C:\path\to\file.txt"替换为你要搜索的文件的路径。
  4. 关闭VBA编辑器。
  5. 在Excel中,按下“Alt + F8”打开宏对话框。
  6. 选择“CallFindstrCmd”宏,并点击“运行”按钮。
  7. VBA将调用CMD的findstr命令,并将其输出内容逐行写入到Sheet1中的单元格中。

请注意,这个例子假设你的文件路径中不包含任何空格或特殊字符。如果你的文件路径包含空格或特殊字符,需要在VBA代码中使用引号将其括起来

vba 调用cmd findstr命令输出内容到shee1中

原文地址: https://www.cveoy.top/t/topic/ipur 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录