Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : その他)
VBAを利用したwebへのアクセスについて
投稿日時: 21/09/22 14:49:46
投稿者: WT

初歩的な質問かもしれず申し訳ありませんが、下記の様にSeleniumとChromeブラウザを使ってVBAを作っているのですが、実行すると一瞬起動した後、直ぐに閉じてしまいます。エラー等の表示は出ず、ネットで調べてChromeとChromeDriverのメジャーバージョンを揃え直したりしましたが同様です。初心者故に何がダメのかよく分からないので、どなたかお教えいただけないでしょうか。
 
Private Sub コマンド175_Click()
    Dim Driver As New ChromeDriver
    Driver.Start "chrome"
    Driver.Get "https://www.yahoo.co.jp/"
    Stop
End Sub

回答
投稿日時: 21/09/23 09:53:29
投稿者: QooApp

引用:
検索ワード「selenium ブラウザ 開いたまま vba」
 
引用サイト「SeleniumBasic備忘録」
 
引用本文:
実行完了時、ブラウザのウィンドウは自動で閉じられる。
開発時など、それでは困る場合は適当に Application.Wait でウェイトを入れるか、
 Debug.Assert 0 でブラウザを開いたまま停止させてもよい。

 
これお試しいただけますか。
 
batファイルの実行などと一緒で、プログラムが実行完了になった段階で勝手にコマンドプロンプトを閉じてくれます。
ゲームなどのアプリケーションでも、終了した際に占有しているメモリ領域などを自動的に開放してくれることと同じイメージでいいんじゃないでしょうか。詳しくないので間違ってたらだれかご指摘ください。

投稿日時: 21/09/23 13:17:11
投稿者: WT

QooAppさん
  
ありがとうございます。
お示し頂いたものを試してみましたが、そもそもブラウザが開かなくなるか、今まで同様にブラウザを読み込んだ途端閉じてしまいます。

回答
投稿日時: 21/09/23 14:52:07
投稿者: QooApp

そうでしたか・・。すみませんでした。
 
有力そうな情報を見つけたのでこちらも試せますでしょうか。
 

引用:
答えは、Main関数からDim driver As New ChromeDriverを外に出したら解決
 
Option Explicit
Dim driver As New ChromeDriver
 
Sub Main()
driver.Get ("https://www.google.com")
End Sub
 
 
これでGoogleさんは表示されブラウザも消えずに残りますが、もちろん最終的にはキチンとブラウザを消す処理もいれなければなりません。

回答
投稿日時: 21/09/23 14:53:52
投稿者: QooApp

参考にしたサイト
 
言語聴覚士 × IT
[VBA]SeleniumからChromeが起動してもすぐ消える
https://st-engineer.seesaa.net/article/477516289.html
 
ただ、タグにExcelとあるのでだめかも・・??

投稿日時: 21/09/23 15:49:25
投稿者: WT

QooAppさん
 
度々お手数をおかけして申し訳ございません。そちらのサイト通り一番上に組んだら無事に開く様になりました。一通りサイトは見たつもりでしたが、見落としていたようです。ありがとうございました。