vba 调用cmd findstr命令输出内容到shee1中
要使用VBA调用CMD的findstr命令,并将其输出内容输出到Excel的Sheet1中,可以按照以下步骤进行操作:
- 打开Excel,按下“Alt + F11”打开VBA编辑器。
- 在VBA编辑器中,插入一个新的模块。
- 在新的模块中,编写以下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
- 修改
cmdPath变量为CMD的路径,修改cmdArgs变量为你希望执行的findstr命令及其参数。 - 将
"keyword"替换为你要查找的关键字。 - 将
"C:\path\to\file.txt"替换为你要搜索的文件的路径。 - 关闭VBA编辑器。
- 在Excel中,按下“Alt + F8”打开宏对话框。
- 选择“CallFindstrCmd”宏,并点击“运行”按钮。
- VBA将调用CMD的findstr命令,并将其输出内容逐行写入到Sheet1中的单元格中。
请注意,这个例子假设你的文件路径中不包含任何空格或特殊字符。如果你的文件路径包含空格或特殊字符,需要在VBA代码中使用引号将其括起来
原文地址: https://www.cveoy.top/t/topic/ipur 著作权归作者所有。请勿转载和采集!