※これは2015年にFacebookに投稿した記事をリライトしたものです。
ExcelのVBAで無料ブログ自動投稿ツール
ExcelのVBAでブログに自動投稿するツールを作っている。
↑こんな感じ↑で動きます
ブログ名、URL、ログイン情報、タイトル、タグ、記事内容を入力し、「投稿」ボタンを押す。
インターネットエクスプローラーが開き、ログイン画面を表示する。
ユーザID、パスワードを自動で入力してログインし、新規投稿画面を開いて、タイトル、タグ、記事を記入して投稿してくれる。
ブログ自動投稿ツールに不具合発生
20近くの無料ブログサービスに対応しているのだが、ブログサービス側の仕様変更があるらしく、VBA側の修正が時々必要となる。今回もある無料ブログで、ログイン後に新規投稿画面に移動できないという不具合が出た。
不具合を解消すべく、VBA側の修正を行っていたのだが、どうも上手くいかない。何度も何度も試行錯誤・トライアル&エラーを繰り返した。
ブログ自動投稿ツールの不具合に至るプロセス
不具合に至るプロセスは以下である。
- ログイン画面でユーザIDとパスワードを入力しログイン
- ログイン後の画面で新規投稿のリンクを探してクリック
- しかし「新規投稿」のリンクが見つからずタイムアウト
ではなぜ新規投稿のリンクが見つからなかったのか?
これが分かるまでかなり悩んだ。ソースを調べてみると、画面上は「ログイン後」なのに、HTMLソースは「ログイン前」。ログイン前のHTMLソースには当然新規投稿のリンクは存在しないから、いつまでたってもリンクが見つからずタイムアウトに・・・。
ブログ自動投稿ツールの不具合解消に向けて
ならばログイン後の画面に遷移した時点でリロードすればいいと考えた。リロードすればログイン後のHTMLソースが得られると思ったのだが、リロードした時点でランタイムエラー。
どうする?どこまでもどこまでも原因を追究する?そんな時間ないぞ。
ブログ自動投稿ツールの不具合ようやく解消
結局、ログイン後に新しいウィンドウを立ち上げて、そのウィンドウでログイン後の画面に遷移し、新規投稿のリンクを取得するのが現時点でベターな解決という事がわかった。
原因をきっちり分析して正面から解決という方法もあるけれど、問題を上手に回避して側面から解決という方法もあるからね。
ちょっとだけSE時代に戻った気分になった。
ご参考:
・アフィリエイター必見!Excelで楽々ブログ自動投稿!
・仙台アフィリエイト