パンくずリスト
  • ホーム
  • 投稿者 : exeapli
投稿者:exeapli
ホームPage 1 / 11

毎回、複数のサイトにアクセスするのが超面倒

 

日ごろ、IEで複数タブ上に異なるウェブサイトを表示しているのですが、これを毎回お気に入りから選択して、さらにはログイン操作して、という手作業をものすごく不便に感じる私です。

 

というのも、

Cascade window view mode wooden buttons
  • Yahoo!メール
  • Yahoo!ニュース等のニュースサイト
  • Yahoo!ファイナンス
  • Facebook
  • YouTube
  • GoogleAnalytics
  • WordPress管理画面 数サイト
  • アフィリエイトサイト 数サイト
  • アドセンスサイト 数サイト  … … …

 

などなど、アクセス先は全部で50個近くになっています。

その中で毎日必ずアクセスするものは10サイトもあるような状況です。

 

これら10サイトをお気に入りからいちいち選んでクリックするだけでも面倒なのに、加えてIDとPWも入力しなければならない、という面倒極まりないことに対して、私はまったくもって忍耐強くない性分となっております。

 

とくに、昔と違ってPWは使い回しではなく、それぞれを変えた方が良いというご時世になっており、私もそれにならっています。ですが、それらをひとつひとつ覚えていられるはずがありません。

 

このために、PWをメモしてあるエクセルから、その都度それらをコピペする手間がひと手間増えており、ますます煩雑さを増やしているこの頃となっています。

 

特に、このコピペ時に、PWをメモしてあるエクセルをうっかり書き換えてしまわないか、という恐怖もありますよね。これを間違えて書き換えたら最後、永久にログインできないのですから。。。

Tablet in hand with symbols

 

ID等を自動で入力するソフトのデモを、どこかで目にしたことはありますが、クリックをその都度行うところは私の求めている便利さとは異なるものでした。

 

ましてや複数サイトを1クリックで自動アクセス、などという我がまま放題の便利ソフトはいまだにお目にかかったことがないのです。

 

(正直に言うと、自分の作ったツールが便利すぎて、世の中に便利ソフトがあるのかどうか真面目に調べたことがない、というのが正しいところではありますが)

 

便利なソフトが世の中に見当たらないところから、他の方たちはどのように解決しているのだろうか?、手作業で一つずつアクセスしていて面倒に感じないのだろうか?、といつも不思議に思っているところです。

 

それはさておき、、

 

1クリックですべてのサイトに自動アクセス

 

今回ご紹介するのは、毎日のウェブアクセスに大変重宝している、1クリックで複数のサイトを次々と開いてくれる、自動アクセスツールです。

 

名称未設定 (時間 0_00_05;00)2

 

こちらのシートはデイリーに操作するシート、[自動ログインシート]となっています。

 

ボタンを押すと、複数のサイトにIEで自動アクセスし、ログインの必要なサイトでは自動ログインまでやってくれます。

 

サイトを選択する列が用意されていて、アクセスしたいサイトを選択することが可能です。その日にアクセスしたいサイトのところで、プルダウンメニューで○選択をするだけの手軽さとなっています。

 

このツールの動作はとても単純なものとなっております。

即ち、エクセルに記載したURLを順番に読み取って、IEに複数のタブを開いて、それぞれのタブに各ウェブサイトを表示させる、という仕組みです。

 

さらに、ログイン画面にIDやPWをその都度コピペをする手間もなく、メモとしてエクセルに書いておいたIDとPWを読み取って、画面に自動で入力し、自動でログインボタンも押してくれる、という動作をやってのけます。

 

多くのウェブサイトの、URL、ID、PWを忘れないようにメモしておくのには、表形式のエクセルが使いやすいですよね。多分、みなさんそのようにされているのではないかと想像します。

 

折角、エクセルにIDとPWをメモっているのですから、それを一歩進めて、自動アクセス・自動ログインに利用しなくてはもったいないです。

 

複数サイトにアクセス完了後のIEは、こんな感じに。

複数サイトがタブごとに順に並んでいる様子がお分かり頂けるでしょう。

 

autoaccess2

 

こちらは、各サイトのURLやIDを事前に設定する[サイト情報設定シート]です。

最大100サイト分まで記載できるよう用意しています。

 

名称未設定 (時間 0_00_00;00)

 

要するに、アクセスしたいすべてのウェブサイトのデータを記載しておく、マスターシートとなっています。

 

ID、PWの入力最大数については、日頃利用している大和証券が3つを必要とするところから、余裕を見て最大4つ用意してみました。(表の中で、ID、PW1、PW2、PW3となっている部分)

 

複数サイトのログインを自動化するには?

 

ログイン不要のサイトでは、URLを指定してIEを操作するだけですので、VBAで簡単に作ることが出来ます。

 

一方、ログインを要するサイトでは、IDやPWを入力するべきHTML上のタグの位置を特定しておく必要があります。

 

この時に壁となるのが、サイトごとに異なるHTML構造です。

 

  • IDやPWの入力ボックスの位置をピンポイントに識別するにはどうすればよいか?
  • ログインボタンはINPUTタグなのか? BUTTONタグなのか?
  • clickで動作するのか? submitが必要なのか?

 

等々を、手作業で、それぞれのサイトについてHTMLを解析していたら、それこそ日が暮れてしまいます。

というより、ものぐさな私がそれらを逐一解析することに耐えられるはずがありません。

 

また、HTMLに不案内の方でも扱えるようにしなければ、ツールをご利用いただくことが出来ません。

 

というわけで、新しくサイトを追加したときに事前に行う操作として、IDやPWの入力ボックス、ログインボタンの位置識別を、半自動で探索する機能を組み込めばいいのではないか、という発想に至った次第です。

 

これを事前操作としてユーザーに一度だけ行ってもらえば済んでしまいます。

 

具体的には、

  • サイト内の各タグに、ツールが仮入力を順次行い、
  • サイト内の各箇所が書き換わったことをユーザーが画面で確認し、
  • ID入力ボックスや、PW入力ボックス、ログインボタンの該当箇所が書き換わった時、
  • ユーザーが[はい]を押すことによって、
  • それらの位置をツールに記録保持する

 

という仕組みです。

 

以下のように、入力箇所と思われる場所に順番に「これ?これ?」を表示しますので、適切な箇所に来たら「はい」を押すことにより、HTML内の位置をピンポイントで記憶します。

 

korekore1korekore2

 

この機能により、HTML不案内の方でも扱えるツールとすることが出来ました。

 

なお、ツールは万能ではなく、サイト毎のHTMLの構造によって読み取れたり読み取れなかったりがあります。
(例えば、私が利用しているログインを要する33サイトにおいては、特殊な2サイトの読み取り不成功)

 

それでも、9割以上のサイトで使えるのは十分というところでしょう。

 

ツール添付しておきます。

 

 

複数サイトが次々に開かれていく、楽さ加減を堪能してください!

 

消費税増税再々延期で、家計に嬉しいのかそうでないのか

 

Fotolia_108437028_Subscription_Monthly_M

と、最近のニュースに悩まされるこの頃です。

 

消費税が今後どのように展開しようとも、家計を守るにはなんといっても先を見た計画的な予算立案と、その推移把握が大事でしょう。

 

その手助けとなるのが家計簿であることは言うまでもありません。

過去の家計簿データを格納しておけば、先々もおよそ見通せますし。

 Fotolia_74212427_Subscription_Monthly_M

そういうわけで、私はエクセルで作った2種類の家計簿を日ごろから駆使しています。

 

つまりは、

  • A:使用明細表    : 銀行口座・クレジットカードの入出金記録
  • B:メイン家計簿   : 光熱費、電話通信費、教育費、ローン、全て

 

勿論、Aエクセルの中では自動的に費用の仕分けが行われ、さらにそれらがBエクセルの費目に自動的に算入されるように組んであります。

 

どういうことかと言いますと、銀行口座の入出金記録、クレジットカードの入出金記録を基に、電気、ガス、水道、携帯電話、新聞、ローン、等の費目に、Aエクセルが仕分けてくれるということです。

 

で、Bエクセルを開いたときに、自動でそれらの値をAエクセルから取ってきてBエクセルの中を更新してくれる、っていう手筈ですね。

 

これを98年からずっと続けていますので、光熱費が子供の成長とともにどんどん増えていく様子などがグラフ等で見れたりするんです。

 

ま、今後は子供も成人したので我が家の人口もいずれ減っていき、光熱費は右肩下がりになるのでしょうけれど。それは嬉しいのやら寂しいのやら。。。

 

って、本題に戻りましょう。

光熱費や、車にかかる費用、家電や家具調度品、その他でどれぐらい、何に費やしているのか詳細に記録しておくことは大事です。

 

それを実践するためには、支払いを詳細に記録する忍耐強い作業が必要となるんですよね。

数年前までこれを地道に手入力していました。(よくめげなかったものだ。。)

 

取引明細画面をエクセルに自動転記

 

しかーし、2012年からは三菱東京UFJの取引明細画面をエクセルに自動転記するようにしたんです。

 

これを作ってからは、面倒な手入力が不要になったので、もう天国状態です!

なにせ、ボタンを押すだけで最新データがAエクセルに追記されるからです。

 

ものぐさな私はログインも面倒なので、これも自動にしました。

ログイン名とPWをあらかじめエクセルに書いておくので、セキュリティ上ちょっとは気になりますが、まあ自分専用のツールですからそこは緩和して考えることにしています。

 

csvデータをダウンロードするのがごく一般的かも知れませんが、それをコピペする手間も私は面倒なんですね。

コピペするときに、最後のデータの次からコピペするわけですが、その行を見つける作業が毎月のことなのでものすごく面倒でしょう?

 

というわけで、銀行口座の明細画面からHTMLを直接読み取る方法を取り入れて作ったエクセルがこれ。

 

UFJ0

 

ボタンを押すと、自分の口座に自動でログインし、過去2か月以内の入出金明細を取ってきて、この表に自動で転記してくれます。

 

転記した後の感じは、こんな感じ。

UFJ

 

 

既に取得済みの明細の次に続けて、未取得データを転記してくれるので、ものすごく楽ちんです。

 

HTML取得時のコツは?

 

ちょっとだけ中身の解説をしてみますと、

 

objIE.document.all.tags("TABLE")でtableタグを取ってきます。

ここに明細データが格納されているんですね。

 

さらにその中から、各一行分のデータが格納されているtrタグだけを取ってきます。

 

このとき、何も考えずに

.document.all.tags("TR")

を指定すると、objIEの全てのtrタグが来てしまいますので、うまくはいきません。

 

tableに含まれているtrタグだけを取ってくるには、

.all.tags("TR")

と指定します。これがミソですね。

 

そして、さらにその中から、ようやくデータの格納されているtdタグを順次取ってきます。この時も、

.all.tags("TD")

と指定して、trに含まれているtdタグだけを取ってきています。

 

ツールを添付しておきますね。

 

明細がエクセルにサクサクと記載されちゃうところを楽しんでみてください!

 

カテゴリー
タグ

時系列株価情報を取得するエクセルを作りました

 

株取引そのものは数年前から実践していたのですが、オンライトレードなるものを始めたのが半年前からです。

 

それまでとは違い、オンラインの特性を生かして、数日~数十日という割と短期での取引に転じました。で、日々のデータが必要となり、本日のお題につながるというわけです。

 

その前に、株取引での成績を語っておきましょうか。(ちょい自慢が入る)

 

最初の2か月こそ、マイナス、ゼロ、の出だしでした。

その後、経験を重ねコツをつかんできたことと、自前のエクセルによるデータ分析の合わせ技で、3か月目から収益はプラスとなり、4か月連続で上向き傾向を続けています。

 

もうそろそろ、これはまぐれではないだろう?と思い始めているところとなりますが、石橋をたたく悲しい性格ゆえ、6か月連続プラス収益までは安心しない、と心に決めている次第です。あと2か月!

 

これまでに68銘柄を実践しまして、当然ながら中には予測の逆を行くものもあり、マイナス収益となる残念な仕掛けもあります。

 

しかし、たくさん仕掛けることによって、トータルでプラス収益を出せるのだということが、だんだんと分かってきました。

 

なぜなら、収益が出る傾向を示している銘柄を仕掛けるわけですから、どんなに悪く見積もっても半数以上の銘柄がプラスを生むからです。

 

これまでのところ、投資した資金に対しての収益率は約6.4%/月ですので、まだまだ初心者レベルです。

つまりは、まだまだ伸びシロがあるということなので、さらなる分析エクセルの改良に心が燃えるところであります。

 

実用的なフリーウェアが世の中になかった。。。

 

そういうわけで、分析の精度を高めるために、株価の過去データを含めた値動きを見る必要が出てきました。

 

このために不可欠なのが、複数銘柄の、過去~現在までの日々の株価データです。

高額なお金を払ってコミュニティに参加したり、ソフトを買ったりすれば、これらは難なく手に入るに違いありません。

 

ですが、日々の株価データはYahoo!ファイナンス等に公開されているデータです。

それをわざわざ高額のお金を払ってまで欲しいとは思わないのが人の常。

 

というわけで、フリーのソフトを探しました。

割とすぐ見つかるのですが、使ってみると恐ろしいほどの時間がかかることが分かります。

 

たとえば、300銘柄の過去2年間の日々の株価データを取ってくるのに、6時間ぐらいかかってしまう有様で。。。フリーウェアですから仕方ないんですけれど。

 

また、いったん過去2年分のデータを蓄えた後は、追加日数分のデータだけ取得したいのに、このようなかゆいところに手の届く機能を備えたものが見つからないんですよね。

 

これでは、日々の監視を行うに際して、作業量が増えてしまいます。

銘柄も時々入れ替えたいので、その都度6時間を要していたららちがあきません。

 

もっと時間をかけて調べれば見つかったのかもしれませんが、調べるの飽きました。。。

 

そんなこんなで、

 

自分専用のカスタマイズツールを作っちゃえ!

 

といつものようにエクセル魂に火がついたってわけです。

出来具合はこんな感じで、

 

stockprice00

処理速度の結果も上出来。

・300銘柄の過去2年間の日々の株価データを取ってくるのに、約20分

・300銘柄の追加日数分のデータ取得に、約60秒

日々の作業はあっという間に処理が済むので、大大満足です。

 

当然、これらのデータをエクセルが自動で分析して、仕掛けに最適な銘柄だけをピックアップする機能も盛り込んであります。

 

あとは経験して学んだことを分析のロジックに入れて進化させていくだけ。

 

ここに、このツールを縮退したデータ取得だけ行うツールを添付しておきますね。

 

 

縮退版とは言いますが、これだけでも結構な優れものです。

株価の時系列データをエクセルに取り込めるのはもちろんのこと、

 

株価の値動き変動を表すグラフの銘柄を簡便に切り替えられたりも出来ちゃうので、グラフ見ているだけでも飽きません。(病気だな)

 

stockprice02

 

触って遊んでみてください!

 

  • ゲーム

何年か前に数独を解くエクセルを作りました。

 

こんな感じです。

左側のマスに問題を記入すると、右側の解答マスに解答が現れるというお遊びエクセルです。sudoku0

 

今回アップするに際して、あらためてネットで調べてみたところ、数独を解法するソフトやサイトやエクセルがたくさん見つかりました。

 

いまさら感は否めないのですが、自分としては気に入っている仕上がりとなっているために、公開することにしました。

動かしてみると面白いので暇つぶしにでも遊んで見てください。

 

ただし、残念なことに、このエクセルはまだ完全ではないのです(>▽<)

ほとんどの数独を解くことが出来るようにはなっているのですが、解けないパターンが少なからず存在したりします。

 

そのようなパターンを私自身が解くことが出来ないために、それを数式化できていないという単純な理由です。

(数独の解法解説を読んでも、いまだに理解できていない部分だ。。。)

 

ネットの中を探ってその方法を数式化する手もあるわけですが、自分の楽しみのためにエクセル化しているという目的から、ここはあくまでも自力で解決することに価値を置きたいと思うところです。

 

というわけで、追加の数式は将来の楽しみとして取っておくことにしています。

 

数独解法エクセルはこちらからダウンロードできます。

エクセルを開くときに「マクロを有効」として下さい。

 

数独解法エクセルの構造は?

 

ちょっとだけ中身の解説をしてみますと、

 

・15行目以下が解法の数式箇所 となっており、

・横一列に4種類の表を用意して、

sudoku1

・同じ表が下の行にも複数用意され、

・下の表に進むにしたがって、ピンク色で示された答えの数字が順次得られ、

sudoku3

 

・全マスが埋まった表の場所を見つけて、

・上部の解答マスに結果を取り出す

 

という構成となっています。

要するに、人間が順を追って解いていくのと同じ手順を再現しています。

 

表を下にスクロールしていくに従って解いている過程が見えるようになっているところは、何か人間的な雰囲気を感じさせてくれます。

 

世の中に数多くの解法プログラムやサイトはあるものの、私は自分の作ったこの人間っぽい数独解法エクセルを愛してやみません。

 

もっとも、作ったことで満足してしまっているために、作成後はこのエクセルを使うことはなく、もっぱら紙の上での数独に取り組んでいるわけではありますが。

 

数式としては、

・当選確実で、その数字以外には当てはまらないものを見つける部分

=IF(B5>0,B5,IF(M16+V17+AH20=0,0,""))

・候補数字の中から一つだけ浮かび上がる数字を探す部分

=IF(M17<>"",M17,AvailableNumber(M17:U17,M17:M25,M17:O19))

 

とに分けられており、後者の候補数字の数式では、複数の候補数字を並べて表示するための定義関数「AvailableNumber」をVBAで作って処理させています。

 

たとえば、候補数字が2、3、9であれば、マスに239と3桁の数字を表示させる関数です。

以下にこの定義関数のVBAを掲載しておきます。

 

Function AvailableNumber(GyouCell As Range, RetuCell As Range, MasuCell As Range) As Long

Dim i As Integer '調べる数字
Dim j As Long    '存在できる数字を j とする。最大値が123,456,789となるのでLong型とする。

j = 0
i = 1

For i = 1 To 9  '調べる数字を1から9まで繰り返す

If Application.WorksheetFunction.CountIf(GyouCell, i) > 0 Or Application.WorksheetFunction.CountIf(RetuCell, i) > 0 Or Application.WorksheetFunction.CountIf(MasuCell, i) > 0 Then

      GoTo Skip   'iがあればNEXTに飛ぶ

Else

j = j * 10 + i    'iが無ければこのセルに存在できるのでjに代入する

End If

Skip:

Next

AvailableNumber = j   'セルの値に j を入力する。

End Function

 

本日は数独を解法するエクセルを掲載しました。

カテゴリー
タグ
ホームPage 1 / 11