Excel 将代码从批处理转换为vba
我有一个批处理文件,它查找进程名Excel 将代码从批处理转换为vba,excel,vba,batch-file,powerbi,Excel,Vba,Batch File,Powerbi,我有一个批处理文件,它查找进程名msmdsrv.exe,使用tasklist获取PID编号,然后使用netstat获取建立连接类型的端口号 最后,它将结果导出到文件PBD_Port.csv for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq msmdsrv.exe" /fo csv') do ( set var=%%F ) for /f "tokens=2 delims= " %%h in ('netstat
msmdsrv.exe
,使用tasklist
获取PID编号
,然后使用netstat
获取建立连接类型的端口号
最后,它将结果导出到文件PBD_Port.csv
for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq msmdsrv.exe" /fo csv') do (
set var=%%F
)
for /f "tokens=2 delims= " %%h in ('netstat -ano ^| findstr ESTABLISHED ^| findstr %var%') do (
set var1=%%h
)
echo %var1% > PBD_Port.csv
我使用此代码获取PowerBi桌面的端口号,因为每次启动PowerBi桌面时,端口号都会发生变化
是否可以在Excel中使用宏来执行相同的操作?
因此,我希望使用宏来给出相同的结果,并将结果写入工作表,而不是CSV,而不是用户必须单击的批处理文件
编辑:我为批处理构建了代码,我想要一个如何将其转换为VBA的一般建议,谢谢您的评论
编辑:事实上,我把事情复杂化了,端口号已经存储在新SSAS实例生成的临时文本文件中,请参见此处的不同解决方案
你的问题在这里太宽泛了;通过展示你的尝试来缩小范围!请注意,CSV文件没有多个工作表,它只是一个简单的文本文件,因此没有“活动工作表”!这个网站是关于帮助那些尝试的人,而不是用勺子喂饱每个人。给我们看一些尝试,我们就会让步。祝你好运:)如果你知道批处理脚本在做什么,在VBA中,你可以在字符串变量中获得shell命令的输出,类似于stringResult=CreateObject(“WScript.shell”).Exec(“tasklist/nh/fi”imagename eq msmdsrv.exe“/fo csv”).StdOut.ReadAll,我想你的问题在这里太宽泛了;通过展示你的尝试来缩小范围!请注意,CSV文件没有多个工作表,它只是一个简单的文本文件,因此没有“活动工作表”!这个网站是关于帮助那些尝试的人,而不是用勺子喂饱每个人。给我们看一些尝试,我们就会让步。祝你好运:)如果你知道批处理脚本在做什么,在VBA中,你可以在字符串变量中获得shell命令的输出,比如stringResult=CreateObject(“WScript.shell”).Exec(“tasklist/nh/fi”“imagename eq msmdsrv.exe”“/fo csv”).StdOut.ReadAll
谢谢,我会试试看