趣味はたぶん旅行です海外旅行やキャンプとITについて。3メガバンクのサイトで口座明細の取得や海外送金などを自動化しています。そのポイントでも書いてみようかと思います。Automation。Desktopが無償で提供されたので、早速インターネットバンキングの自動化を試してみました。当初はサイトへのログインすら満足にできず全然ダメでした。それでも色々試しているうちに少しずつ操作できるようになっていきました。途中で新規ウィンドウを開くサイトなぜか三菱や三井のサイトはログインページの後にサービスのページを別のウィンドウとして開いています。このような場合には、ウィンドウごとにブラウザインスタンスを用意してから、それに対して操作をする必要があります。具体的には、新しいウィンドウが増えたら、新しいブラウザを起動するアクションを実行し、そのウィンドウに接続します。そこで生成されたブラウザインスタンスを示す変数に対して操作を行います。WebオートメーションとUIオートメーション自動化に使うアクションにはWebオートメーションとUIオートメーションがあります。Webオートメーションはブラウザによって表示されるWebページの自動操作です。UIオートメーションは一般的なWindowsアプリケーションを対象とした自動操作で、ブラウザもWindowsアプリケーションの一つなのでUIオートメーションを使っても操作は可能です。始めのうちはこれらをごちゃまぜに使って動く方を使っていました。最近、Webオートメーションで扱えるものはUIからWebオートメーションに置き換えていったところ、そちらの方が動作が速く、なおかつ安定して動作するような気がしています。EdgeやChrome、FireFoxなどには拡張機能がブラウザにインストールされているため、より確実にブラウザを操作できるのだろうと思います。ブラウザ内に表示されているものはできるだけWebオートメーションを使うと良さそうです。UIオートメーションでは選択できずキー送信との組み合わせでしのいでいたドロップダウンリストがWebオートメーションでは簡単に操作できたこともあります。ブラウザで要注意なのがセキュリティ関連のダイアログです。証明書の選択などで表示されるウィンドウはWebページではないため、これはUIオートメーションで操作するしかないと思います。要素の待機を使うWebページの操作をしているとしばしば要素を見つけられずに停止してしまいます。最初はうまく動いていてもたまに止まったりします。いう場合には、操作対象の要素を待機してみるのも一つです。ボタンを押すなどの操作を行おうとしているのに、まだボタン等の準備ができていないと空振りとなり停止してしまいます。即座に次に進むような場合は何もしなくても良いかもしれませんが、少し時間がかかる処理の場合には要素の待機を入れてみるとよいと思います。できるだけ時間待機は使わない秒数を指定する時間待機のアクションは手軽だけれど、待機時間が短すぎると操作対象となるボタンなどが見つけられず、逆に待機時間が長いと無駄な待ち時間になってしまいます。PCの処理速度も問題になるため、開発したPCではうまく行ったけれど、他のPCではうまく行かないという事もあり得ます。時間待機は最後の手段だと思い、まずは要素待機やファイル待機などを試してみると良いでしょう。要素待機をしても動作しないサイト三井住友のサイトでは開発中の画面では問題なくても、実行時に停止してしまうという問題がありました。ポップアップしてこないという問題です。Web要素の待機アクションを使ってログインボタンの表示を待ってから押しているのですがそれでも動作しません。Scriptが動いているらしく、その中で何らかの問題が生じているようでした。別の画面では、あまりにも操作が速いと、ボタンを押したのではなく、ブラウザの進む戻るボタンを押されたと判断されエラー画面が表示されます。画面遷移を判断する何かのステータスの更新が追いつかないのかもしれません。開発の際には人間が操作する前提なので、コンマ何秒で操作された場合のことは考えていないのでしょう。これはサイト側の作りがそうなっているためどうしようもないので、やむを得ず、ページが表示された後、1秒間待機をしてからボタンを押しています。安定して表示されています。画像認識が必要なサイト三菱UFJ銀行のサイトでは、サインインした後のメニュー操作でつまづきました。UI、UIの両方を試しましたがうまく操作ができず、やむを得ずメニューの画像を認識してからそこをクリックするという操作にしました。このアクションは次の本に書かれていました。これだけでもこの本を買った甲斐がありました。海外からの入金に対して入金処理を行うと、当日の為替レートを元にして計算書が発行されます。三井住友の計算書の作成は瞬時に行われるわけではなくしばらくかかる場合があります。そのため手動の場合には何度か検索ボタンを押して全件表示されるのを待ちます。Desktopで処理する場合も同様に、ループで待機をして、計算書の数が入金数に一致するまでループして、ループごとに1秒待機して、検索ボタンを押します。入金数は入金処理の画面で事前に取得しておきます。何かのブラウザではデフォルトの証明書を選択することができます。これがくせ者で、証明書が更新された際にも古い証明書を選んでしまった気がします。それを解除するの少々てこずりました。デフォルト証明書を設定した方が操作がひと手間減って確実かつ便利にはなるのですが、更新時の切り替えを忘れないようにした方が良いでしょう。古い証明書が使われてエラーになる可能性があります。ダウンロード時のデフォルト動作ブラウザによってはダウンロード時のファイルの扱いを設定できるものがあります。これもくせ者で、ダウンロードしたファイルを移動したいのに勝手に開かれてしまうため操作ができなくなる場合があります。これはブラウザの設定を変更することによって勝手に開かないようにして対応しました。普段使いのブラウザでは開いてくれた方が便利なことも多いと思います。普段使いのブラウザと、RPA用のブラウザを分けるのも一つなのかもしれません。IEモードを使うのもありかもしれない各銀行によりサポートしているブラウザは異なります。次はざっくりのサポートブラウザです。認証方法によって異なるので、リンク先のページをよく確認しましょう。Japanが提供しているブラウザソフトとなります」という事です。いうわけで、三社で確実にサポートされているのは依然としてIEのみということになりそうです。問題はIEは来年春にサポートが切れるという事です。先日知りましたが、EdgeのIEモードの正体はIEそのもののようです。タスクマネージャーで見るとieexplorer.exeが走っているそうです。IEモードの正体や使い方を解説、「脱IE」5個の疑問であれば、EdgeのIEモードを使うというのも一つの選択肢なのかもしれません。銀行によって正式にサポートされるかどうかは別ですが。サポートされないブラウザを使った場合に生じたトラブルは自己責任となるのが問題です。口座明細を仕訳票に取り込む機能はExcelのVBA(マクロ)で作っていました。Desktopで業務システムに入金するという流れになっています。Desktopで口座明細のダウンロードから入金まで行うかもしれません。Excelを操作する必要があり、VBAがわかるのであれば、Excelの複雑な自動化はVBAで行ったほうが、確実かつ速く、書き方にもよるけれど可読性が高いと思います。セルA3に"2021/11/14"を入力するより、A3に請求日と名前を付けてVBAで、Range("請求日")="2021/11/14"とした方がわかりやすいと思います。しておけば、仮にA3セルを他のB4等に移動させてもコードはそのまま動作します。VBAをわかる方が職場にいないなら仕方がありませんが、そうでなければ、Excelの自動化はVBAで行ったほうが良いでしょう。Desktopの演算子や関数は機能が限られますし。今のところ概ね操作できています色々なところでつまづいて苦戦しましたが、最終的にはどのサイトも必要な範囲では自動操作ができています。単純な明細の取得から、海外送金依頼書の作成や計算書の取得と印刷、送金依頼者へのメールまで自動化できています。2022夜の10時に風呂に入っていると、80近くになる実家の母から、突然ノートンの表示が出たけどどうすれば、という連絡がありました。表示されたメッセージは次の通りです。お使いのパソコンで462件の破損されたレジストリが検出されました。パソコンをクリーンアップしてパフォーマンスを向上させましょう。レジストリの問題は、パソコンの速度低下、フリーズ、さらにはクラッシュの原因となります。アルティメットを入手して、レジストリの問題の解決とパソコンのパフォーマンス向上に役立ててください。ノートンがこんな、レジストリが壊れているからと不安をあおって、別の製品を買わせる詐欺ソフトまがいのメッセージを出してくるとは。親曰く「レジストリが破損て驚いた」(原文ママ)。わけのわからん高齢者に無用なストレスを与えています。ブロードコムに買収された法人向けのシマンテックはひどいことになっているけれど、個人向けのノートンライフロックは大丈夫みたいと思っていたら、こんなことになるとは。いいのかもしれないと思う今日この頃です。そのほうが安定してるし、こういう余計な問題も起きないし。Defenderに切り替えてみました。悩んでいる方がいらっしゃるようなのでこのメッセージの解説をしておこうかと思います。各種アプリ(ソフト)は設定などをWindowsが管理するデータベース(ファイル)に保存するものが多いです。そのデータベースがレジストリーです。ソフトをインストールするときや、設定を変更する際などに書き換えられます。設定等が保存されているため、これが壊れるとWindowsやアプリの挙動に支障をきたす可能性があること自体は確かです。レジストリーが壊れる原因は色々考えられます。Updateのキャッシュクリアで解決しました。PCを起動してサインインしてしばらくの間はそれなりに動作するのですが、時間の経過につれて動作が重くなってくる感じです。タスクバーの反応が遅くなります。タスクマネージャーとかコンピューターの管理を開いても、ずいぶん経って忘れたころに開いてくる感じです。ひどくなってくると、もう全然反応がありません。サインアウトや再起動がうまく行かない場合もありました。何もいじらないと後からでも動作する場合もありました。12/3に発生して、Windowsの機能「システムの復元」を試みると12/1と、12/3の9時くらいに復元ポイントがありました。9時くらいのものが怪しかったので復元を行いましたが、残念ながら効果がなく、しかも12/1の復元ポイントまで消失しました。結果的にはプログラムの問題ではなくデータの問題だったため効果がなかったということになります。システムの復元の最後にユーザーのデータには影響を与えませんみたいなメッセージが表示されることからも、そうなのでしょう。今回の教訓としてはポイントが消えるかもしれないので復元するなら思い切って前の日にさかのぼったほうが良いという事でした。システムの復元を実行する方法を教えてください。シマンテックのライセンス切れが重なったため、シマンテックが原因かと思いアンインストールを試みました。途中までは進むものの取り消されてしまい削除できません。ブロードコム(シマンテックを買収)から削除ツールCleanWipeを入手して削除してみましたが、復旧せずシマンテック以外が原因だと思いました。タスクマネージャーでCPUの使用状況を見ていると、100%近くになって遅いというのではありませんでした。使用率は高くても数十%。低い時は十数%くらいでしょうか。Servicesが高い時は40%くらいまでCPUを消費します。2022しばらく前にWi-Fi6対応ルーターを購入しました。購入したはいいけれど、ずっと放置していて、昨日ようやく箱を開けてセットアップを開始しました。PCとルーターのLANポートを有線で接続し、Wi-Fiの設定を行いました。うちは、ワンフロアの60m2程度の部屋なので、バンドステアリングやメッシュWi-Fiを使うほどではなく、また2.4GHzのみしか対応しない古いプリンターや体重計もあるので、これらは無効にしています。ちなみに、バンドステアリングは、高速な5GHzと障害物に強い2.4GHzを自動で切り替える機能です。ルーターを設置したリビングなら5GHz、寝室なら2.4GHzという具合にいい具合に切り替えてくれるという事になっています。使って、家じゅうからアクセスできる機能です。寝室はNK-BedroomみたいにSSIDを使い分けることなく、両方のルーターにNKでアクセスでき、使う場所によって自動的に通信状態の良いルーターを切り替えてくれる便利機能です。PCやスマホはともかく、それら以外のデバイスはパスワード入力が厄介なので、これまで使っていたSSIDとパスワードを設定しました。引っ越し機能を使うと便利なのですが、WEPなどの今となっては危険な設定を継承しかねないので私は使いません。利用はお勧めしません。IPv6をサポートしているルーターなので、Wi-Fi以外のところはデフォルトのままで接続してみました。その結果次のように自動で認識されました。動作モードはtransixとなり、IPv6動作モードも使用するになりました。コネクトが選択され、IPv4も通信可能になりました。サポートされているだけあります。「トレンドマイクロホームネットワークセキュリティTM」がついていますが、私は即無効にしました。経験上、ゲートウェイ(ルーター)にこれをやらせると問題が起こるので。セキュリティーの盾(シールド)型アイコンに「!」が表示されるようになりました。処置をお勧めします」と表示されます。ところが、クリックしてセキュリティの概要を開いてみても、問題なさそうです。ノートンを再インストールするとグリーンのチェックマークになりましたが、アンインストールするとまた黄色のビックリマークになります。私のPCはアンインストールしても問題なかったのでPC次第なのでしょう。実家のPCは次の方法で解決しました。Windowsのスタートボタンを押します。「プライバシーとセキュリティ」を選び、「Windowsセキュリティ」をクリックします。「アプリとブラウザーの制御」をクリックします。「評価ベースの保護」が、有効になっていなかったので有効にして、保護設定をすべて有効にしました。これで盾アイコンのビックリマークは消えました。SmartScreen(Web閲覧が保護)が有効になっていなかった可能性があるので、これは確認してよかったです。それにしても、タスクバーのアイコンから開いたWindowsセキュリティの画面に「アプリとブラウザーの制御」が表示されていないのはバグではないかと思います。以前は出ていたような気がします。今、タスクバーの盾アイコンをクリックしたら、「アプリとブラウザコントロール」が表示されるようになっていました。なにかのバグだったのでしょう。22H2にアップデート済みです。別件で知人のPCのメンテナンスを行ったところ、この現象が発生していたので、早速、上の手順で解消しました。ESETがインストールされていましたが、期限切れだったのでアンインストールしてDefenderに切り替えました。アンインストールによって生じたのか、元々こうだったのか記憶があいまいです。22H2になっていませんでした。2022最近噂のChatGPT。大学受験問題も解ける賢いAIだとか。そこで私も試してみました。列を持つExcelのテーブルを一行ずつ読み、金額を計算して更新するVBAを作りなさい。eachを用いなさい」です。結果は次の通り正しく回答されました。自然言語からコードが生成されるだけで驚きですが、金額を計算しなさいと言っただけで、単価と数量を乗算しています。上の画面のテキストをコピペしたものです。ExcelのVBAでは、ListObjectを用いることで、Excelシート上のテーブルを操作することができます。列を持つExcelのテーブルを一行ずつ読み、金額を計算して更新するVBAの例です。上記のVBAを実行すると、単価と数量から金額を計算し、テーブル内の金額の列が更新されます。ListObjectを用いることで、Excelシート上のテーブルを簡単に操作することができるようになります。Eachステートメントを用いることで、テーブルの各行を順番に取得し、処理を行うことができます。実際にテーブルを作って実行してみました。HDRテレビを購入したので、4K映画を物色中です。Videoで4K映画を検索する方法が不明でした。検索ボックスに4Kと入れると、4Kがらみの雑多な商品まで表示されてしまいます。UHDを指定してもシューズなどが一緒に出てきてしまいます。UHDで検索すればだいぶ絞られますが、それでも4Kではないシンゴジラや、Blu-rayメディアの商品まで表示されてしまいます。次の手順で、4K動画のみを検索できます。Video」を検索します。何も入力せずに、右側の虫メガネアイコンをクリックします。UHD]」を選択します。吹替を観たくない人は字幕にチェックを入れるとよいでしょう。UHDの動画のみを検索することができます。4K表示ができないパソコンでは選択肢がないかもしれません。iPadでは表示されませんでした。無料で見られる会員特典以外の4K動画は500円や550円と通常より高いので、見られない動画は表示されないようになっているかもしれません。4Kテレビによってはテレビ搭載のWebブラウザで検索できるかもしれません。それにしても4K映画の品ぞろえの少なさに驚きます。SF映画で有名なものは、ジュラシックワールドとハムナプトラのみ。アクションにしてもランボーの修復版や、ジョンウィック、ワイルドスピードの一部作品他と少ないです。映画ではなくAmazonオリジナルのジャックライアンは友人によると面白いようですが。Amazonオリジナル以外の普通の映画を検索するなら次のように指定すると良さそうです。相変わらず少なくて多少入れ替わりがあるようです。4Kモニターを接続したPCで検索した映画にはUHDのマークが表示されます。これをウォッチリストに追加して、テレビの内臓アプリで見たところ、映画自体は表示はされました。テレビの方ではUHDのマークが表示されません。2019既存ファイルにシートを追加してセルに文字を入力していったところ、なぜか一文字目が勝手に確定されてしまうという現象に遭遇しました。」のようになってしまいます。消しては入力やり直しなので異常に入力しづらい。大量に入力する必要がある方は絶望を感じるでしょう。新しいファイルでは問題ないのでどうやらファイル依存の問題らしいということがわかりました。新しいファイルを作って、問題のファイルにあるシートを一つずつ移動していったところ、あるシートを移動したところで新しいファイルでも発生することがわかりました。それは銀行のサイトにある為替レートのページを参照しているクエリが含まれるシートでした。それによると、「データ」メニューの「クエリと接続」グループにある「クエリと接続」をクリックして表示される画面で、クエリが選択されたまま保存されていると発生するということでした。実際に問題のファイルを開いてみると、確かにクエリが選択された状態になっていて、選択を解除したところ改善しました。新しいファイルでクエリを作っても簡単に再現可能です。2016か2019で遭遇する問題だと思います。私がこの問題に遭遇したときは、クエリの選択を解除して保存するだけで解決し、次回開いた時にも再現することはなかったと記憶しています。ところが、今試してみると、選択解除して保存しても、次回開くとまた選択された状態になっていて、文字入力に支障が出ます。バージョンの違いかと思い、職場のPCでも試してみましたが同様です。現状では、「クエリと接続」画面を表示させると(選択を解除しなくても)現象は収まります。使わずにODBC経由でデータベースにアクセスする方法です。次のようなアクセスのデータベースがあるとします。シートを開き、次のプロシージャーを実行します。これはテーブルを作成するプロシージャーなので、最初に一回実行するだけです。DSN=にDSN名を指定します。テーブルの左上を配置するセルです。テーブル名を指定します。この例ではExcelProductMaster。実行すると次のようにテーブルが作成されます。テーブルはQueryTableに接続され、QueryTableはDSNを利用可能です。次のプロシージャーを実行します。Simulatorの新しいバージョンがリリースされました。PCを契約すると期間限定でひと月100円でプレイできるので試すには絶好の機会です。4)で飛ばす方法を書いてみました。コントローラーをPCに接続しても、デフォルト状態では全く操作ができません。調べるとキーの割り当てが行われていませんでした。サポートされていないデバイスはこの状態になるようです。サポートされているデバイスは次のページに書かれています。Xboxのコントローラーはありますが、PS4のコントローラーは書かれていません。基本的なキー割り当ての方法は次のページに書かれています。接続方法については次のページを参考にするとよいでしょう。USBで有線接続すれば、Bluetoothで認識させる必要はなく即認識されます。ケーブルが気にならなければこちらの方法が簡単です。私のPCでは「ゲームコントローラーの設定」が「デバイスとプリンタ」画面に表示されませんでした。検索ボックス(ウィンドウズボタンの隣にある「ここに入力して検索」)に入力すれば表示されます。コントローラーの各部名称は次のページを参照してください。ボタンと番号の対応は概ね次のページに紹介されています。初回の設定時には、保存をするかどうか聞かれると思います。適切に保存してください。メイン画面でOPTIONSを選択します。2021しばらくまえからTeamsのチャットに日本語入力しようとすると直接入力ができずに画面の左上に変換ウィンドウが出てきてしまうようになりました。私のモニターは30型なのでTeamsウィンドウからかなり離れていて非常に入力しづらい。使っているうちに直るときもあるけれどしばしば発生してイラッとしていました。するうちに職場内からも問い合わせがあったのでMicrosoftに問い合わせてみました。その結果、Microsoftでも現象を再現することができ、TeamsとIMEの問題であり、修正が必要だと認識しているけれど時期は未定という事でした。他のウィンドウを一回クリックすれば、直接入力できるようになるという事でした。他のウィンドウ(ブラウザや他のアプリ)をクリックしてからTeamsに戻って日本語入力すると確かに直接入力できるようになりました。一回解消すれば、Teamsを再起動するまでは問題は再現しないようです。普通は再起動しないので一日一回クリックすれば回避できるということになります。ひと手間かかるとはいえ、手軽に確実に回避できるようになったのは嬉しいです。ElkanNK東京都在住で旅行が趣味かもしれない中小企業勤めのITエンジニア。