きゃべつ
接続状態の確認について
お世話になっております。
岡三RSSがエラーで止まってしまうことがあるのですが、
岡三RSSの注文可否状態(エクセルアドインの左から4番目のボタン)、または、接続状態(エクセルアドインの右から2番目のボタン)をエクセルマクロ上で確認する方法はございますでしょうか。
具体的には
接続状態 = 〜〜〜
というようにプログラムして、変数(接続状態)になにかしらの値が返ってくることを期待しております。
なお、エラーはポップアップで「エラーが発生しました。再起動してください。」みたいな感じで、岡三RSSアプリを再起動する必要があります。
※スクショとっておらず、曖昧ですみません。
月一くらいのペースで発生しており、発注したいタイミングで発注できないということが起きてしまいます。。。
接続切れは仕方ないとして、切れたら自分宛にメールを送るなどしたいので、検知できればと考えております。
ご助力いただけますと幸いです。
2021年02月12日
大野 了
きゃべつさん、こんばんは!!
そうですね・・・
岡三RSSの通信が切れているかはどうかは、接続中の状態方法が良いと思うので・・・
Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText
でTooltipTextを取得して頂き、
"未接続":通信切断
"接続中":通信中
で判断して頂くのが良いと思います!!
きゃべつさんの言われている例ですと
接続状態 = Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText
という感じでしょうかー
2021年02月12日
きゃべつ
>大野様
いつもお世話になっております、助かります。
実行してみたところ確かに取得できることを確認いたしました!!
本当に助かります、ありがとうございます。
2021年02月12日
大野 了
きゃべつさん、こんにちは!!
上手く行きましたかー
お役に立ててよかったです!!
2021年02月13日
きゃべつ
スクリーンショット 2021-02-26 113244.jpg (11.0KB)
本日例のエラー(添付画像)が出ましたが、
このポップアップが出ている間は
Application.CommandBars("岡三RSS2").Controls.Item("未接続").TooltipText = "接続中"
となるようです。
※ポップアップのOKをクリックすると"未接続"になります。
恐れ入りますが、以下2点お分かりになる方がいらっしゃいましたらご教示いただければと思います。
●このエラーの発生原因
●このポップアップが出ているかどうかを判定するプログラム
2021年02月26日
大野 了
きゃべつさん、こんにちは!!
残念ながら、自分はこのエラーが発生したことが無いので
発生原因に関してはなんともお答えできませんが、
ポップアップが出ているかどうかは、FindWindowAPIを使用すれば判断できます。
APIの使い方ですが、
Generalに以下のようにAPIの宣言を記述して頂き
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
ポップアップを確認したいところに
Dim hWnd as Long
hWnd = FindWindow(vbNullString, "エラー")
と書いてあげると
『エラー』とWindowタイトルがついているWindowがあった場合、0以外の数字がhWndに帰ってきます!!
一つ注意点としましては『エラー』とタイトルがついている別のWindowが上がっていた場合
ご認識をしてしまうことぐらいでしょうかー
2021年02月26日
きゃべつ
>大野様
早々にご回答いただきありがとうございます。
エラーを再現できないので確認はできませんが、取り急ぎ実装してみました。
またエラーが発生しましたら、うまくいったかご報告いたします。
心より感謝いたします...!!
2021年02月26日