[Python] Como executar um script python utilizando o VBA

Discussão em 'Python' iniciado por Stack, Outubro 10, 2024.

  1. Stack

    Stack Membro Participativo

    Eu criei um projeto que consiste em enviar mensagens automáticas através da API do Telegram, fiz toda essa parte no Python e funciona perfeitamente, como mostro a seguir.

    import requests
    from datetime import date
    import time

    #TELEGRAM INFO
    MyToken = "meuToken"
    MyChatID = "-meuId"

    #--------------------------- SEND TEXT TO TELEGRAM ---------------------------
    DHoje = date.today()
    DHoje = DHoje.strftime("%d/%m/%Y")
    # MY TEXT
    MyMsg = "Banco de Dados" + " " + DHoje
    #SEND METHOD
    SendMsg = requests.post("https://api.telegram.org/bot{}/sendMessage?chat_id={}&text={}".format(MyToken, MyChatID, MyMsg))
    time.sleep(3)


    A grande questão é que preciso executar esse script através de um código no VBA, e até consigo fazer isso, mas apesar da tela piscar e abrir rapidamente, nenhuma mensagem é enviada. Segue a parte do código do VBA:

    Option Explicit

    Public Const PythonPath As String = """C:\meucaminho\Python36\python.exe"""
    Public Const MyFilePath As String = """C:\meucaminho\MsgFileTelegram.py"""

    Public Sub ChamarPython()

    Call VBA.Shell(PythonPath & " " & MyFilePath)

    End Sub


    Obs.: Quando rodo o código do python fora da macro do excel tudo funciona perfeitamente, mas quando executo o script pelo VBA nada. Alguma sugestão? Obs.: Li bastante sobre o assunto e dei muito google, mas não consegui andar sozinho.

    Continue reading...

Compartilhe esta Página