休みの日なのでのんびりedge操作を遊んでいます。
見つけたやつは結局起動すらさせることができなかったので、
こちらの方の分を自分用にカスタマイズする方向ですすめています。
見つけた方もあきらめきれてはいないので、質問はしてみました。答えてもらえるかなー。
答えてもらえるかなー。こちらも動いてくれるとうれしい。
カスタマイズしている内容は、edgeのセッションがあると、うまく起動しないことがあるので、見つけた方の分からちょっとだけ変えて抜き出して入れてみました。
Private Sub cleanUpSessions() '------------------------------------------------------------------ ' Provides cleaning before firing up a new session to prevent ' pipe error '------------------------------------------------------------------ Dim proc 'Clean up all running sessions On Error Resume Next For Each proc In GetObject("winmgmts:").ExecQuery("Select * from Win32_Process") If proc.name = "msedge.exe" Then 'chrome.exe proc.Terminate End If DoEvents Next On Error GoTo 0 End Sub
この部分を丸ごといただくことで、事前にセッションを閉じて起動するように変更。
あとは、エラー吐くたびにブラウザの起動しなおしが必要で、この部分が自分に一番ストレスだったので、
a6_ExecuteHelperFunction 57行のEnd をコメントアウトし、変数の解放をとめました。
'共通エラー対応。メッセージ表示、かつインターネットハンドルを解放して強制終了とする。 '※エラー発生時にデバッグモードに入り、ユーザーに任せると解放されない可能性が高いので強制終了とする。 Public Sub DisplayErrorAndEnd(displayText As String) displayText = displayText & vbCrLf & "処理を終了します。" MsgBox displayText, vbCritical, "エラー" 'End 解放をとめる End Sub
わざと解放していただいているのを、自分の都合で止める。これでもう、すでに開いているブラウザを捕まえたいという動機はなくなりました。
何度でも試行錯誤できる。
というか Endだけでステートメントとして成立するんですね 知らなかった。。強制終了できるのか。
あとは、on error resume next って書いてても止められてしまうことの対処とか (設定変更するだけ)
xlam拡張子のやつの使い方とかトラストセンターとか
いろいろと知らなかったこと、以前と変わったこととか・・・ 勉強になります。
あとは見つけた方にはいろんな機能が実装されているので、その中身を理解すればもっと機能を拡張できる気がするので、
自分用にどんどん調整していきたいものです。
追記
もう一個のほうが動いた!
これのせいか!!
いろいろあがいてみるものですね(・_・;)