Führen Sie Python mit VBA aus

Diesen Artikel lesen können

  1. Sie können ** Eingabeaufforderung ** mit ** Excel VBA ** starten
  2. Sie können ** Python ** aus ** Excel VBA ** ausführen

Starten Sie eine Eingabeaufforderung in Excel VBA

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

Kommentar

    ''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.

Eigentlich bewegen

Wenn Sie einen Wert in Nummer 1 und Nummer 2 eingeben, wird dieser berechnet und an die Antwort ausgegeben. スクリーンショット (3).png

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. スクリーンショット (5).png

Schließlich

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

Führen Sie Python mit VBA aus
Führen Sie prepDE.py mit python3 aus
Führen Sie Blender mit Python aus
Führen Sie iperf mit Python aus
Führen Sie Python mit PyCharm aus (Windows)
Führen Sie Python mit CloudFlash aus (arm926ej-s)
Führen Sie Label mit tkinter [Python] aus.
Führen Sie Rotrics DexArm mit der Python-API aus
Führen Sie mruby mit Python oder Blender aus
Führen Sie XGBoost mit Cloud Dataflow (Python) aus.
Führen Sie Aprili von Python auf Orange aus
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Bis Python auf Apache läuft
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Onkel SES modernisiert die VBA-App mit Python
Führen Sie eine Python-Webanwendung mit Docker aus
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python