Ich möchte einige numerische Werte, die ich über ein PowerShell-Skript erhalte, in ein Excel-Arbeitsblatt laden. Ich kann den Wert bereits zurückbekommen, aber er kommt als String in die Tabellenkalkulation und irgendwie erlaubt mir Excel nicht, ihn in eine Zahl umzuwandeln. Ich hoffe ich verpasse nur einen Schritt und es ist nicht unmöglich.Senden eines numerischen Werts von PowerShell an VBA
Dies ist der VBA Teil
strCommand = (PsCommand)
Set wshshell = CreateObject("WScript.Shell")
Set WshShellexec = wshshell.Exec(strCommand)
stroutput = WshShellexec.StdOut.ReadAll
Sheets("Sheet1").Cells(i, 2).Value = stroutput
Sheets("Sheet1").Cells(i, 2).NumberFormat = "0"
Meine Vermutung ist, dass dies hier ist das Problem:
Set WshShellexec = wshshell.Exec(strCommand)
'Exec' führt Befehle asynchron aus, aber da' ReadAll' blockiert, sollte dies kein Problem sein (es sei denn, der externe Befehl generiert übermäßige Ausgabe, so dass der Puffer voll ist). Was ist 'PsCommand'? –
'.Value = Val (stroutput)'? – Slai
PsCommand = "Powershell -Datei c: \ script \ FolderSizeCheck \ FolderSizev2.ps1" & TargetFolder – Grizli