Starten Sie die Eingabeaufforderung mit dem folgenden Code Sie können Python ausführen.
Dim suji1 As String
Dim suji2 As String
Dim WSH
Dim wExec
Dim cmd_str As String
suji1 = Range("D4").Value ''Holen Sie sich Zahlen aus Zellen
suji2 = Range("D5").Value
Set WSH = CreateObject("WScript.Shell")
py_file = ThisWorkbook.Path & "\Python.py"
cmd_str = "python " & py_file & " " & suji1 & " " & suji2
cmd_str = Replace(cmd_str, "\", "/")
Set wExec = WSH.Exec("%ComSpec% /c " & cmd_str)
Do While wExec.Status = 0
DoEvents
Loop
Range("D6").Value = Val(wExec.StdOut.ReadAll) ''Erhalten Sie Ergebnisse von Python
Set wExec = Nothing
Set WSH = Nothing
''Objekterstellung
Set WSH = CreateObject("WScript.Shell")
''Auszuführender Python-Dateipfad
py_file = ThisWorkbook.Path & "\Python.py"
''Befehlserstellung
cmd_str = "python " & py_file & " " & suji1 & " " & suji2
cmd_str = Replace(cmd_str, "\", "/")
''Befehlsausführung
Set wExec = WSH.Exec("%ComSpec% /c " & cmd_str)
Mit diesem können Sie einfach die Eingabeaufforderung und starten Sie können Python starten.
''Befehlserstellung
cmd_str = "python " & py_file & " " & suji1 & " " & suji2
suji1 und suji2 sind Argumente. So können Sie den Wert aus der Zelle usw. abrufen und übergeben.
Wenn Sie einen Wert in Nummer 1 und Nummer 2 eingeben, wird dieser berechnet und an die Antwort ausgegeben.
Python ist übrigens so ein Code.
import sys
def sum(suji1, suji2):
return suji1 + suji2
if __name__ == "__main__":
argv = sys.argv
suji1 = str(argv[1])
suji2 = str(argv[2])
total = sum(suji1, suji2)
print(total)
Wenn es ausgeführt wird, sieht es so aus.
Dieses Mal habe ich Python mit VBA gestartet, aber da ich es tatsächlich über die Eingabeaufforderung ausführe Ich habe das Gefühl, dass ich mehr tun kann, wenn ich es anwende. Außerdem werde ich es aktualisieren, wenn ich lerne.
Recommended Posts