Olá Caio, tudo bem? Espero que sim!
É possível chamar um script em python usando o VBA, usando o comando call VBA.Shell
, que rodará o script através do prompt do Windows.
Assim, você pode criar um script qualquer em Python para executar qualquer ação, e criar um botão no Excel que chamará uma função responsável por rodar o script em Python.
Para isso, crie um módulo no VBA e crie duas constantes do tipo String que serão responsáveis por armazenar o caminho do executável do programa Python e outra com o caminho do script. Feito isso, você pode criar uma Sub com a chamada do Shell passando o programa python e o script que desejar e após isso, atribuir essa macro a um botão.
O módulo em VBA deve ter a seguinte estrutura:
Public Const ExecutavelPython as String = "C:\Users\Admin\anaconda3\python.exe"
Public Const ScriptPython as String = " C:\Users\Admin\Documents\arquivo.py"
Public Sub RodarPython()
Call VBA.Shell(ExecutavelPython & ScriptPython)
End Sub
Nas duas primeiras linhas, foram criadas as constantes com os caminhos do executável do Python que foi instalado no computador e o caminho do script que você deseja executar, a segunda constante possui um espaço em branco no início da string para que possa ser concatenada no função do VBA.Shell() dentro da Sub.
Modifique o código em VBA para atender às suas especificidades do seu problema.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!