エクセルの起動
まずは「タスクスケジュール」を使用して、PC起動時に自動でエクセルを開きます。
上記の動画では「タスクスケジュール」の使い方も説明されています。
それを参考にして頂くとエクセルの自動起動も簡単にできます。
マーケットスピードⅡの起動
まずは以下のサイトのVBAをコピーしてください。
エクセルを開いてから、「開発」→「Visual Basic」→「標準モジュール」を右クリック→「挿入」→「標準モジュール」
先ほどコピーしたコードを貼り付けてください。
エクセルが開かれた時に自動で「マーケットスピードⅡ」を起動したいので、「Sub auto_login()」を「Sub Auto_Open()」に書き換えます。
後は「マーケットスピードⅡ」のパスワードを書き込むだけです。
マーケットスピードⅡに自動接続させる
エクセルや「マーケットスピードⅡ」を起動させただけではRSSに「未接続」の状態になっているので、自動で接続させていきます。
最終的にエクセルのVBAだけで「マーケットスピードⅡ」に接続することができませんでした。
「マーケットスピードⅡ」を開いた後は、それが最前面にあるので、エクセルを最前面にしてから、自動で接続できるようにVBAでクリックさせているのですが、試行錯誤を繰り返してもできませんでした。
クリックしてもフリーズしてる感じで反応しません。
VBAで接続させた方が良いかなと思っていましたが、諦めてpythonで接続させることにしました。
結局、最終的にマーケットスピードⅡに接続した状態でpythonで株価分析をしようと思っていたのでまったく問題ありません。
import pyautogui
import time
import win32gui
excel = win32gui.FindWindow('XLMAIN',None)#エクセルのクラス名「XLMAIN」
time.sleep(2)
win32gui.SetForegroundWindow(excel)
pyautogui.click(693,49)
time.sleep(3)
pyautogui.click(30,91)
4行目が試行錯誤して苦労してたどりついたコードです。
「’XLMAIN’」はエクセルのクラス名を入力します。
次に「rakuten.xlsm」のようにエクセルファイル名を記入していましたが、うまく実行できずに悩みました。「None」にすれば、うまく動作しました。
そして、VBAでpythonを実行すれば、全てが自動がマーケットスピードⅡに接続することができました。
ここで注意しなければならないことがあります。
私は「jupyter lab」でpythonのコードを書いているのですが、拡張子が「.ipynb」になります。
拡張子を「.ipynb」→「.py」に変更しなければなりません。
コマンドで「jupyter nbconvert –to python ファイル名.ipynb」を実行する方法もあるようですが、うまく動作しなかったので、それ以外の2つの方法をご紹介します。
1つ目は「jupyter notebook」を立ち上げて「file」→「download as」→「python(.py)」で保存する方法です。
2つ目は単純ですが、エディターを立ち上げて、自分の完成コードを貼り付けて、「.py」形式で保存する方法です。
これで全自動で「マーケットスピードⅡ」に接続した状態で株価の分析を行うことができます。
私が仕事中、PCにも働いてもらってお金を稼ぐ算段です。