Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Executar rotina em Python através do Excel

Olá, minha dúvida é a seguinte: Preciso fazer com que uma tabela de excel, execute uma rotina em python por meio de um botão executar. É possivel fazer isso com auxilo de VBA? A rotina em python leria os inputs da tabela e devolveriam gráficos e valores.

1 resposta
solução!

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!