株価を自動的に取得してくれるマクロについて前回の記事において、以下の手順2まで紹介しましたのでこの記事では手順3を説明していこうと思います。
一番欲しい機能、自動更新です。
- ポートフォリオ(自分が有している株リストみたいなもの)の全ての株価をexcelのVBAで取得(俗にいうスクレイピング)
- 1.で取得した情報を扱いやすい形にしてログを蓄積(表を用いて値動きを視覚的に表現するため)
- タスクスケジューラを用いて毎日、決めた時間に勝手に1. 2. をやってくれるように設定 ←ここ重要
手順3
自動更新するためにタスクスケジューラを使用します。
マクロを定義したexcelを指定した時間に起動するように設定します。
タスクの作成をクリックすると以下のように設定画面が出てきます。
全般タブでは次の項目を行います。
・タスク名を適当に決める
・ユーザーがログオンしているときのみ実行する(R)にチェック
・最上位の特権で実行する(I)にチェック
次にトリガーを決定します。
新規からマクロを実行したい日時を設定します。
今回の場合、株価の把握については平日のみ行えば良いため月~金曜日にマクロを実行するように設定します。
あとは有効(B)にチェックを入れてOKをクリックすればトリガーを作成できます。
そして、実際に行う操作(マクロ実行)を指定してあげる必要があります。
操作タブの新規から以下のように設定してあげます。
①excel.exeが格納されている絶対パスを入力。
私の場合は次のような感じになります。
C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE
②excelで実行するファイルの場所 ⇒ 今回作成したマクロの格納場所を入力
例えば次のような感じになるかと思います。
C:\Users\username\Desktop\SBI\SBI.xlsm
設定は以上です。
これで再度OKボタンをクリックしてあげると、スケジューラに追加されます。
指定した時間にマクロを定義したexcelが立ち上がります。
が、これではexcelが立ち上がるだけです。
excelが立ち上がった際に、マクロを実行するように設定してあげる必要があります。
再度、excelのVBAからThisWorkbookをダブルクリックし、その中に以下のコードを記入する必要があります。
Private Sub Workbook_Open()
Call StockPriceMonitoring '株価更新
End Sub
これでexcelが立ち上がった際に、マクロも自動的に起動するようになります。
マクロの自動設定に関しては以上となります。
タスクスケジューラは非常に便利ですので、他にも自動で済ませたい処理があったら積極的に使用していきたいところですね。
初回の”株価自動取得マクロ_SBI証券-(1)-“から、この記事までを通して自分が何もしていなくても保有している株価を把握できるマクロを作成することが出来ました。
が、まだまだ機能としては限定的なものとなっています。あとはEPS(一株当たりの利益)やPER(株価収益率)などを参考に自動売買するマクロを作成するなど、やりたいことは残っていますね。
ゆっくりと作成していきましょう。
ここまで記事を読んでいただき、ありがとうございました。
コメント