Hallo zusammen,
bin neu und habe auch das Forum nach diesem Thema durchsucht..bin aber nicht wirklich auf meine Anwednung fündig geworden.
Mit der Shell führe ich heute folgenden befehl aus:
D:\pythonTry\python modbus_csv_V2.py TestRegister10.txt
--> das Script liest hier die TestRegister.txt ein.
ich möchte das mit VBA von Excel her ausführen:
Hier mache ich folgendes:
[codebox=vb file=Unbenannt.vb]Private Sub CommandButton1_Click()
Dim pyPrgm As String, pyScript As String
pyPrgm = "C:\Python27\python.exe "
pyScript = "D:\pythonTry\modbus_csv_V2.py TestRegister10.txt"
Call Shell(pyPrgm & pyScript, vbMaximizedFocus)
End Sub[/code]
Hier tut sich gar nichts, script direkt aus der Shell heraus funktioniert. aber mit dem VBA script nicht.
weiss jemand hier weiter?
danke!!
Python script mit Excel VBA ausführen
-
- User
- Beiträge: 3
- Registriert: Freitag 27. Mai 2016, 13:42
Zuletzt geändert von Anonymous am Freitag 27. Mai 2016, 14:26, insgesamt 1-mal geändert.
Grund: Quelltext in Codebox-Tags gesetzt.
Grund: Quelltext in Codebox-Tags gesetzt.
@AndiFeiler: Wie stellst Du fest das es nicht läuft? Was ist der Rückgabewert der VBA `Shell`-Funktion?
Tipp: Falsches Forum, d. h. schau mal gezielt in VBA-/Excel-Foren. Eine Freundin von mir macht nur in VBA und möglicherweise gibt es da eine Möglichkeit Python von Excel aus aufzurufen.
Wenn Du mit Excel interagieren willst, geht das über folgendes Modul (extern):
https://openpyxl.readthedocs.io/en/default/
Wenn Du mit Excel interagieren willst, geht das über folgendes Modul (extern):
https://openpyxl.readthedocs.io/en/default/
@AndiFeiler: dass gar nichts passiert, heißt schonmal, dass der Aufruf von Python funktioniert, da sonst Shell eine Exception werfen würde. Das Problem ist aber, dass die Ausgabe auf die Console nirgends auftaucht, Du also eine Python-Fehlermeldung nicht siehst. Was ist denn die erwartete Reaktion des Python-Skripts? Wo liegt die Datei TestRegister10.txt? Keine Ahnung auf was Excel den aktuellen Pfad setzt. Da solltest Du sicherheitshalber mit absoluten Pfadangaben arbeiten.
Ansonsten gibt es noch hier angeblich eine Möglichkeit, die Ausgabe von Python nach Excel zu bekommen.
Ansonsten gibt es noch hier angeblich eine Möglichkeit, die Ausgabe von Python nach Excel zu bekommen.
-
- User
- Beiträge: 3
- Registriert: Freitag 27. Mai 2016, 13:42
Hi zusammen,
hat funktioniert: es war das Leerzeichen, danke:
[codebox=vb file=Unbenannt.vb]Private Sub CommandButton1_Click()
Dim pyPrgm As String, pyScript As String
Dim args As String
pyPrgm = "C:\Python27\python.exe "
pyScript = "D:\pythonTry\modbus_csv_V2.py"
args = "D:\pythonTry\TestRegister12.txt"
Call Shell(pyPrgm & pyScript & " " & args, vbMaximizedFocus)
End Sub[/code]
hat funktioniert: es war das Leerzeichen, danke:
[codebox=vb file=Unbenannt.vb]Private Sub CommandButton1_Click()
Dim pyPrgm As String, pyScript As String
Dim args As String
pyPrgm = "C:\Python27\python.exe "
pyScript = "D:\pythonTry\modbus_csv_V2.py"
args = "D:\pythonTry\TestRegister12.txt"
Call Shell(pyPrgm & pyScript & " " & args, vbMaximizedFocus)
End Sub[/code]