リアルタイム歩み値の取得と管理: PythonとVBAを活用した効率的な方法
ステップバイステップガイド: 株価データの自動取得 (Part 1)
前提条件
- 楽天証券のマーケットスピード2にアクセスできるアカウントを持っている
- Pythonがインストールされている
- 基本的なExcelの知識がある
ステップ1: 楽天証券のマーケットスピード2の設定
- 楽天証券のマーケットスピード2にログインします。
- RSSのアドインを設定して、エクセルに株価を表示するようにします。
ステップ2: Excelの設定
- シート1のA1セルに以下の関数を入力して、300本の歩み値を取得します。=RssTickList($A$2:$C$2, “9984.T", 300)
- 新しいシート(シート2)を作成し、シート1のデータを参照するように設定します。
- 作成したExcelブックを`.xlsm`形式で`C:\ayumi`フォルダに保存します。
ステップ3: Pythonスクリプトの準備
- 以下のPythonライブラリをインストールします。pip install openpyxl pandas
ステップバイステップガイド: 株価データの自動取得 (Part 2)
ステップ4: スクリプトの実行
- コマンドプロンプトかPowerShellを開き、以下のコマンドを実行して`ayumi`フォルダに移動します。cd\ cd ayumi
- 以下のコマンドを実行してスクリプトを起動します。python ayumi.py
ステップ5: VBAの設定
- Excelの「VBAエディタ」を開き、「ThisWorkbook」モジュールにVBAコードを記述します。
- 一定間隔でExcelブックを自動で保存するマクロを作成します。
ステップ6: データの統合
- 最後に、複数のエクセルブックとシートを1つにまとめるスクリプトを実行します。python ketugo.py
スクリプトに関する補足説明
このスクリプトは、特定のエクセルファイル(`ayumi.xlsm`)の変更を監視し、変更があった場合に新しいデータを読み込んで保存します。データは新しいエクセルブックに保存され、500シートを超えると新しいブックが作成されます。
スクリプトに関する補足説明
スクリプトの役割
このスクリプトは、特定のエクセルファイル(ayumi.xlsm)の変更を監視し、変更があった場合に新しいデータを読み込んで保存します。データは新しいエクセルブックに保存され、500シートを超えると新しいブックが作成されます。
変数の説明
- file_path: 監視するエクセルファイルのパスです。
- base_new_file_path: 新しいデータを保存する基本のエクセルファイルパスです。
- temp_data_path: 一時データを保存するパスです。
- MAX_SHEET_COUNT: 一つのExcelファイルに含めることができる最大のシート数を定義しています。
動作流れ
- Step 1: スクリプトはエクセルファイルの最後の変更時間を確認します。
- Step 2: 最後の変更時間が更新された場合、新しいデータを “Sheet2" から読み込みます。
- Step 3: 新しいデータは一時ファイルに保存され、以前のデータと比較されます。
- Step 4: 新しいデータは新しいエクセルブックに保存されます。このブックは500シートを超えると新しいブックが作成されます。
最近のコメント