gpt4 book ai didi

powershell - 如何获取在 Excel VBA 中运行的 Powershell 脚本的返回值?

转载 作者:行者123 更新时间:2023-12-03 00:02:37 31 4
gpt4 key购买 nike

我正在使用 Excel VBA 运行一个简单的 Powershell 脚本,该脚本在 Powershell 本身中运行时,会返回给定目录中某些文件的一个或两个文件名。

我可以从我的 VBA 运行这个脚本,但返回值总是一些随机整数。如何让脚本返回通过 Powershell 脚本返回的文件名?

VBA调用脚本:

 Dim weekly As String

weekly = Shell("Powershell ""<location of powershell script.ps1>"" ")

脚本:
Get-ChildItem "<directory to search in>" | Where-Object {$_.Name -match "<regex to find file name>"}

如果我遗漏了任何细节,请询问。

最佳答案

我知道这已经很晚了,但我想让其他人寻找这种方法来做到这一点。
让您的 powershell 脚本编写一个输出文件:

Get-ChildItem "Directory to Search" | Select-String -Pattern "what to seach for" | out-file "C:\output.txt"

从那里您可以将这一行逐行写入变量:

Sub test()
Dim txtfile, text, textline As String

txtfile = "C:\output.txt"

Open txtfile For Input As #1

Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop

Close #1

MsgBox text

End Sub

从那里您可以将文本插入到单元格中,或者如果愿意,您可以将每一行写入一个数组并在需要时单独选择每一行。

关于powershell - 如何获取在 Excel VBA 中运行的 Powershell 脚本的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19778112/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com