昨日、
こんなこと言ったが、
触ってみたら普通にWin10PCでもVBA制御復活していた。
本日。
どうやってGoogleSiteに望む動きを実装しようかなぁ、と悩んでいた我輩(悩めるほど暇だった)。
ログイン必須なサイトのページAを表示するために、ワンクリックで、ログアウト時には自動ログインし→ページAへ遷移、という動きをさせたい。
※社内使用且つただのポータルで社外秘的な内容は無いためhtmlにログイン情報剥き出しで書いてもいい。
ちなみに、要インストールな自動化ツールやプログラミング言語は使えないという制約がある。
現状、htmlで自動ログインはしても、そのままページAへの遷移、というのがなかなか上手く行かない。
例えば、ログイン情報はそのままにactionのURLをページAにしたら普通にエラーで弾かれた。確かにサイトの構造的にそうなるか…ってのは納得したが。
また、仮に自動ログイン後、4,5秒カウントしページAを開く、という動きをすれば、タブが馬鹿みたいに増えて嫌だし(GoogleSite上から外部サイトを開く場合、新しいタブが開かれる)、ページAとここではわかりやすく一つに絞っているが実際にはページ数はZくらいまであり、毎度ログイン画面→トップページな動きをするタブが開かれるもの正直クソだ。が、ログイン状態を判定する方法が全然探せない。なので毎回ログインするしかない…。
主にjavascriptでの方法を調べてみるが、window.close()はjsを使用してopenしたタブじゃないと使えないらしいし、何ならfirefoxだからか、js使用で開いたタブも閉じられなかった。
セキュリティ観点からスクリプトで勝手にブラウザを動かすコードは何かと規制がかかりやすいってのは理解できる。じゃあどうしたらええんや。
(つかずっとjsのことばっか調べてたが、htmlでログイン情報投げてもactionで指定したURLに遷移させない書き方とかないんかな。これあるなら即解決なんだが…次調べよう)
と、色々調べていたところ。
またなんとなく問題の原点に帰りたくなり、IE終了によるVBA制御不能状態の解決策について、前も散々調べたのに再度調べてみた(どうせseleniumが出てくるやろなと思いつつ)。
すると、
実はIE制御不能はバグのようなもんで、新しいバージョンで修正されている(ただし公式非推奨)。もしエラーになるならヘルプデスク的なApp Assureに連絡したらええ。
といった情報を発見。
↓詳細はここ。
Internet Explorer 11 デスクトップ アプリケーションのサポート終了 – 発表に関連する FAQ のアップデート - Windows Blog for Japan
確かにあの日から一ヶ月経過。我輩の席のPCは元々Win7で問題は無く該当せんので、あの日限り試してもいない。
もしかして所長の席(Win10)、使えるようになってるんじゃ…?
と試してみると、
普通に使えたわ!
GoogleSiteに全移行するつもりではあれど、自分がめちゃくちゃ頑張って作った自信作なVBAツールが時代とともに使えんものに成り下がるのはショックだった。
しかもいずれブログでも書いていこうと思っていただけに、使えない以上、古くて無駄なゴミ知識になってしまったんや…と結構悲しかった。
それが、帰ってきたのだ!嬉しい!良かった!まだまだ死んでないじゃないかIE!
ま、非推奨であることには変わらんし、いつまで使えるかは分からんけどな。それまでにMicrosoftにはVBAでEdge制御できるようにしてほしいわ。
というわけで、GoogleSiteとの格闘はまだまだ続くが、焦って決着をつける必要はなさそうである。
ちなみに使所長の席(Win10)のOSバージョンを確認したが、2004だった。2020年のバージョンである。全く最新じゃない。というか古い。
もしかしたら何かしら弊害があって、本部の情シスがバージョンを戻したのかもしれない。社内のWin10PCはそのため使えているんだろう。つまり、別にバグ修正の新しいバージョンのおかげではなかった。
が、一応公式からも答えがあるように、IE11がサポートを終えたあともまだまだIE自動化は使える状況を維持しているらしいので、良かった話である。
追記:結局Win11では使えないんだけどな…どうせこういうの調べたらSelenium使えとか出てきやがる。ちゃうねん、それ解決策ちゃうねん。社内PCで外部ツールインストールできない環境ではどうにもならんのを痛感するぞ。まあしゃあないんだがな。GoogleSite上の問題をクリアさせたんで支障はない。