Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Python Code über Excel (VBA) starten

Python Code über Excel (VBA) starten
14.10.2020 12:57:35
Elias_HH
Hallo liebe Community,
ich habe ein ganz komisches Problem. Ich fange mal einfach an. Ich möchte einen sehr einfachen Python Code über VBA starten. Auf meiner Recherche bin ich in sehr vielen Videos und Beiträgen auf den folgenden VBA-Skript gestoßen:

Sub RunPythonScript()
Dim objShell As Object
Dim PythonExePath, PythonScriptPath As String
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExePath = """ Insert Path to Python EXE here """ #Hier kommt der Pfad rein wo dein  _
python.exe gespeichert ist
PythonScriptPath = " Insert Path to Python SCRIPT here "#Hier kommt der Pfad rein wo die  _
auszuführende Python-Datei
gespeichert ist.
objShell.Run PythonExePath & PythonScriptPath
End Sub

Anschließend erstelle ich auf der Tabelle ein Button und weise ihm den erstellen Makro zu, sodass nach dem Klick das Makro gestartet und folglich das Python Skript. Mein Skript enthält lediglich folgende Zeile, um einfach zu sehen, ob es den überhaupt klappt und er eine Textdatei erstellt:
f = open("demofile2.txt", "w")
Jetzt kommt das komische. Es klappt ! Doch sobald ich die Excel schließe und dann wieder öffne funktioniert der Aufruf des Skriptes nicht mehr, sprich: es wird keine .txt-Datei erstellt, obwohl ich nichts geändert habe. Kennt jemand dieses Problem ?
Das VBA-Skript basiert auf dieses Video:
https://www.youtube.com/watch?v=MgL9IOCFZ0U
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anti-Virus?
14.10.2020 13:07:21
Fennek
Hallo,
seit einigen Wochen blockiert mir Norton eine Shell mit 'CreateObject("Wscript.Shell")', also einige Fragen:
- welche AV
- welche Office-Version
- können im CMD Python-Datei ohne Pfad gestartet werden
Vor wenigen Tagen ging (überrschend)

Shell test.py
wobei 'test.py' eine mit Python ausführbare Datei ist.
mfg
Anzeige
AW: Nimm xlwings und überlege, wem Du vertraust
15.10.2020 02:51:15
Sulprobil
AW: Nimm xlwings und überlege, wem Du vertraust
19.10.2020 13:08:58
Elias_HH
Leider bringen mir die Antworten nichts. Ich habe immernoch das Problem.
;
Anzeige
Anzeige

Infobox / Tutorial

Python Code über Excel starten


Schritt-für-Schritt-Anleitung

Um einen Python Code über Excel auszuführen, kannst du das folgende VBA-Skript verwenden:

Sub RunPythonScript()
    Dim objShell As Object
    Dim PythonExePath, PythonScriptPath As String
    Set objShell = VBA.CreateObject("Wscript.Shell")
    PythonExePath = """ Insert Path to Python EXE here """ ' Hier kommt der Pfad rein, wo dein python.exe gespeichert ist
    PythonScriptPath = """ Insert Path to Python SCRIPT here """ ' Hier kommt der Pfad rein, wo die auszuführende Python-Datei gespeichert ist
    objShell.Run PythonExePath & PythonScriptPath
End Sub
  1. Ersetze Insert Path to Python EXE here mit dem vollständigen Pfad zu deiner Python-Installation, z.B. C:\Python39\python.exe.
  2. Ersetze Insert Path to Python SCRIPT here mit dem Pfad zu dem Python-Skript, das du ausführen möchtest.
  3. Erstelle einen Button in Excel und weise ihm das Makro RunPythonScript zu.

Jetzt kannst du das Makro ausführen, um deinen Python Code zu starten.


Häufige Fehler und Lösungen

  • Fehler: Das Python-Skript wird nach dem Schließen von Excel nicht mehr ausgeführt.

    • Lösung: Stelle sicher, dass alle Pfade korrekt sind und dass Excel die Berechtigung hat, die Shell zu verwenden. Manchmal kann auch eine Antiviren-Software wie Norton die Ausführung blockieren. Überprüfe die Einstellungen.
  • Fehler: Das Skript erstellt keine .txt-Datei.

    • Lösung: Vergewissere dich, dass das Skript keine Fehler enthält. Teste es direkt in einer Python-Umgebung, um sicherzustellen, dass es funktioniert.

Alternative Methoden

Wenn du Python in Excel einbinden möchtest, kannst du auch xlwings verwenden:

  1. Installiere xlwings mit pip install xlwings.
  2. Verwende die folgende Funktion, um ein Python-Skript direkt aus Excel zu starten:
Sub RunXlwingsPython()
    RunPython ("import myscript; myscript.my_function()")
End Sub

Damit kannst du Python-Logik in Excel verwenden, ohne direkt auf VBA zurückzugreifen. Dies ist ein effektiver Weg, Python in Excel statt VBA zu nutzen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit Python eine Excel-Datei bearbeiten kannst:

import pandas as pd

# Erstelle eine DataFrame
data = {'Name': ['Max', 'Moritz'], 'Alter': [25, 30]}
df = pd.DataFrame(data)

# Speichere es als Excel-Datei
df.to_excel('output.xlsx', index=False)

Du kannst diesen Code über VBA aufrufen, um Daten direkt aus Excel zu generieren.


Tipps für Profis

  • Python-Umgebung: Stelle sicher, dass deine Python-Umgebung korrekt eingerichtet ist. Überprüfe die Version von Python, die du verwendest, um Komplikationen zu vermeiden.
  • Debugging: Verwende Debugging-Tools in Excel, um sicherzustellen, dass dein VBA-Code korrekt ausgeführt wird.
  • Berechtigungen: Achte darauf, dass Excel die nötigen Berechtigungen hat, um Skripte auszuführen, insbesondere wenn du Python in Excel aktivieren möchtest.

FAQ: Häufige Fragen

1. Wie kann ich Python in Excel aktivieren?
Du kannst Python in Excel aktivieren, indem du eine Bibliothek wie xlwings installierst und dein VBA-Makro entsprechend anpasst.

2. Was sind die Vorteile von Python gegenüber VBA in Excel?
Python bietet eine größere Flexibilität und leistungsfähigere Bibliotheken zur Datenanalyse, was es zu einer bevorzugten Wahl für viele Anwender macht.

3. Kann ich ein .py-Skript direkt aus Excel ausführen?
Ja, du kannst ein .py-Skript direkt aus Excel ausführen, indem du das oben genannte VBA-Skript nutzt, um das Python-Skript über die Shell zu starten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige