我が家のWEBサーバーの自動処理

毎日の情報取得を自動で行うようにしている。気象データとか新聞情報とかである。
起動は「タスク」に登録することで出来る。
WEBから情報を取得するには、VBAを活用している。
しかし、これを無人の自動実行で行うには結構苦労がある。そういった技術があまりないものだから、はじめはSendkeysを使っていた。
これならば、人が操作することをプログラムから操作できるので、人の操作することなら何でも出来る、と言う強みもあった。そしていろいろなことをやったが、強みだけでなく、かなり深刻な弱みもある。
なにせ、プログラムからは画面の様子はわからないのである。
目をつむったままで、画面はこうなっているだろうから、と思いながらキーボードを操作するのである。
画面がその通りであるなら、確かにその通りに動作するであろうが、これがそうではない画面になっていたら、何とも飛んでもないことを行うことになるのである。
また、操作が正しくても、その通りにパソコンの方が動かないとき、これを知らずに次の操作を行うと、これもとんでもないことになるのは、明らかなことである。
また、プログラムが操作しているときには、それを邪魔しないようにしなければならない。
途中で人が割り込むとプログラムはそれを知らないのであくまでシナリオ通りに操作を実行しようとするため困ることになる。

それから、だんだんに方法も見つかったりして、画面操作をしないでもWEBデータを取得したり、これでキーボードから開放されるようになってきた。
それでもまだ一部どうしてもSENDKEYSに頼らざるを得ない部分が残っている。
でもその一つは昨日、解決できた。
もうひとつに取り組もうとしているが、これは難しいかも。

ひとつは、webから取り込んだファイルがEUCコードなので、これを処理するためにSHIFT−JISに変更したのであるが、これに秀丸を使っていて、保存のときにエンコード変更を行っていた。
これが、秀丸のマクロを使えば、Sendkeysを使わなくてもできるようになった。まだ、マクロの使い方には慣れていないので、何とかできただけの状態であるが、もう少しスマートにしたいと思っている。
読み込みと保存をするときのファイルのパス名を指定するところでうまくいかず挫折しそうになった。フォルダ階層の区切り文字の「¥」がだめなようで、ではダブルで指定したら、それでうまくいった。