• ベストアンサー

Excel2021 VBAからPython制御

VBAからPythonでブラウザの制御方法についてアドバイスをお願いします。 xlwings_udfsで以下のPython関数を呼んでブラウザを起動させた後に 更に別のPython関数でそのブラウザに対して実行掛けたいのですが ブラウザが閉じてしまいます。 @xw.func def Init(): #ドライバーインポート from selenium import webdriver from selenium.webdriver.common.by import By #ブラウザー起動 driver = webdriver.Chrome() return 0 ブラウザを閉じずに別のPython関数に継承する方法は、ないのでしょうか? 以下の様な感じです。何らかの方法でdriver変数を継承する必要があるかと思うのですがそれも上手く行きません。 msg2 = xlwings_udfs.Init() msg2 = xlwings_udfs.Proc1() msg2 = xlwings_udfs.Proc2() 色々と調べたのですが見つかりませんでした。 御存じの方が居られましたらアドバイスの程、 宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

・PythonのSeleniumを使って、起動済みのブラウザを操作する https://qiita.com/mimuro_syunya/items/2464cd2404b67ea5da56 VBA側であらかじめchromeを開いておいて、Pythonからはポート指定で起動済みのブラウザにアタッチして操作する、という方法でいけると思います。

rucifar_k
質問者

お礼

有り難う御座います。 こんなやり方があったのですね。 やってみます。

関連するQ&A