【全自動化】PC起動時に自動でエクセルを起動して、マーケットスピードⅡに接続させる方法【備忘録】

  • 2022-12-22
  • 2024-11-25
  • 461view
【全自動化】PC起動時に自動でエクセルを起動して、マーケットスピードⅡに接続させる方法【備忘録】

エクセルの起動

まずは「タスクスケジュール」を使用して、PC起動時に自動でエクセルを開きます。

決めた時間に自動でシャットダウンする設定【再起動も】

上記の動画では「タスクスケジュール」の使い方も説明されています。

それを参考にして頂くとエクセルの自動起動も簡単にできます。

マーケットスピードⅡの起動

まずは以下のサイトのVBAをコピーしてください。

VBAでマーケットスピード2に自動ログインする

エクセルを開いてから、「開発」→「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を実行すれば、全てが自動がマーケットスピードⅡに接続することができました。

VBAでPython(pyファイル)を実行する方法

ここで注意しなければならないことがあります。

私は「jupyter lab」でpythonのコードを書いているのですが、拡張子が「.ipynb」になります。

拡張子を「.ipynb」→「.py」に変更しなければなりません。

コマンドで「jupyter nbconvert –to python ファイル名.ipynb」を実行する方法もあるようですが、うまく動作しなかったので、それ以外の2つの方法をご紹介します。

1つ目は「jupyter notebook」を立ち上げて「file」→「download as」→「python(.py)」で保存する方法です。

2つ目は単純ですが、エディターを立ち上げて、自分の完成コードを貼り付けて、「.py」形式で保存する方法です。

これで全自動で「マーケットスピードⅡ」に接続した状態で株価の分析を行うことができます。

私が仕事中、PCにも働いてもらってお金を稼ぐ算段です。

【全自動化】PC起動時に自動でエクセルを起動して、マーケットスピードⅡに接続させる方法【備忘録】
ツイートもチェックしよう!