インストールレスプログラミング( ´ー`)

VBA , JavaScript , HTAなど 365アプリはインストール必要ですが、仕事に無いケースはほぼないから(・_・;)

( ´ー`)

休みの日なのでのんびりedge操作を遊んでいます。

見つけたやつは結局起動すらさせることができなかったので、

qiita.com

こちらの方の分を自分用にカスタマイズする方向ですすめています。

見つけた方もあきらめきれてはいないので、質問はしてみました。答えてもらえるかなー。

github.com

答えてもらえるかなー。こちらも動いてくれるとうれしい。

カスタマイズしている内容は、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拡張子のやつの使い方とかトラストセンターとか

いろいろと知らなかったこと、以前と変わったこととか・・・ 勉強になります。

あとは見つけた方にはいろんな機能が実装されているので、その中身を理解すればもっと機能を拡張できる気がするので、

自分用にどんどん調整していきたいものです。

追記

もう一個のほうが動いた!

これのせいか!!

いろいろあがいてみるものですね(・_・;)