Код: Выделить всё
caminhoPython = "C:\Anaconda3\python.exe" ' Substitua pelo caminho correto do Python
' Caminho do script Python
caminhoScript = "C:\Users\" & UserName & "\Endress+Hauser\Marketing & Sales - E+H FL BR - Forecast Supply Chain - beta\Python\python.py" ' Substitua pelo caminho correto do seu script
Debug.Print caminhoScript
' Comando completo para rodar o script Python diretamente
comando = Chr(34) & caminhoPython & Chr(34) & " " & Chr(34) & caminhoScript & Chr(34)
' Executando o script Python
shell comando, vbNormalFocus
Код: Выделить всё
Sub RodarScriptPythonSemShell()
Dim caminhoPython As String
Dim caminhoScript As String
Dim comando As String
Dim objNetworkUser As Object
Set objNetworkUser = CreateObject("WScript.Network")
UserName = objNetworkUser.UserName
' Habilita o recálculo automático (se estiver no modo manual)
Application.Calculation = xlCalculationManual
' Desabilita os alertas para evitar mensagens de cálculo incompleto
Application.DisplayAlerts = False
' Garantir que a planilha seja recalculada antes de rodar o script
Application.Calculate
' Caminho do executável Python
caminhoPython = "C:\Anaconda3\python.exe" ' Substitua pelo caminho correto do Python
' Caminho do script Python
caminhoScript = "C:\Users\" & UserName & "\Endress+Hauser\Marketing & Sales - E+H FL BR - Forecast Supply Chain - beta\Python\python.py" ' Substitua pelo caminho correto do seu script
Debug.Print caminhoScript
' Comando completo para rodar o script Python diretamente
comando = Chr(34) & caminhoPython & Chr(34) & " " & Chr(34) & caminhoScript & Chr(34)
' Executando o script Python
shell comando, vbNormalFocus
' Reabilita os alertas após o script rodar (opcional)
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
End Sub
Подробнее здесь: https://stackoverflow.com/questions/793 ... ython-code