PCを自動再起動し岡三RSS用Excelマクロを自動起動する

岡三RSSを長時間使用していると、Excelマクロは動いているのに岡三RSS関数での四本値の更新ができなくなることが時々あります。

原因はわかりません。

四本値が更新されないと売買ロジックも正しく動作しないし、日足データの記録にも支障がでます。

でもその症状はPCを再起動してやると直ります。

経験上、1日に1回はPCを再起動して岡三RSSとExcelも立ち上げなおした方がよい感じです。

しかしせっかくの自動売買なので、手作業でやるのはできるだけ避けたい。

そこで、PCの再起動やExcelの起動、マクロの開始を自動化します。

一日一回PCを自動再起動しExcelマクロを自動起動する

いろいろ自動化したい項目があります。内容としてはこんな感じです。

  • Excelファイルの自動保存とExcelの自動終了
  • PCの定時自動再起動
  • Excelの自動起動
  • Excel マクロの自動起動
  • 岡三RSSの設定
  • PCの自動ログイン

それぞれ見ていきましょう。

Excelファイルの自動保存とExcelの自動終了

PCを再起動させる前にファイルの保存とExcelの終了を行います。

毎日ある時刻になったらExcelファイルを保存して終了するようにします。

それをするにはExcel VBAで以下のように記述します。

サブルーチン"AlarmMessage"は注文処理に使用しているサブルーチンです。通常は「標準モジュール」の「Module1」に書きます。サブルーチン名は自分の物に合わせて書き換えてください。

ここでは、朝5時40分になったらファイルを保存してExcelを終了させています。

Sub AlarmMessage()

    Dim mytime As Date

    mytime = TimeValue(Now())
    If mytime >= TimeValue("05:40:00") And mytime <= TimeValue("05:41:00") Then
    
        If (ThisWorkbook.Saved = False) Then
            ThisWorkbook.Save
        End If
        
        Application.Quit
        ThisWorkbook.Close
    End If

End Sub

これで決まった時刻にExcelファイルを保存してExcelを終了させることができました。

PCの定時自動再起動

PCの再起動にはタスクスケジューラを使います。

まずWindowsでタスクスケジューラを起動します。

すると以下の画面が出ます。

そこで「基本タスクの作成」を選択します。

すると以下の画面になるので、名前欄に好きな名前を付けます。

次のトリガー画面では「毎日」を選びます。

次の画面で再起動する時刻を入力します。再起動する時刻は先ほどExcelを保存終了する時に指定した時刻の少しあとに設定します。

次の画面で「プログラムの開始」を選びます。

次の画面で「C:\Windows\System32\shutdown.exe」と入力します。引数は「-r -t 60 -f」とします。-rは再起動を意味し、-t 60は60秒後にシャットダウンを実行し、-fは作業中のプロセスを強制終了するオプションです。

次の画面で「完了」を押すとタスクが保存されるので、それでOKです。

これで毎日定時になるとWindowsが再起動されるようになりました。

Excelの自動起動

PCが起動した後にExcelファイルを自動で開くようにします。

それにもタスクスケジューラを使用します。

タスクスケジューラを立ち上げ、「基本タスクの作成」を選びます。

タスクの名前を好きなように入力します。

次の画面で「ログオン時」を選びます。

次の画面で「プログラムの開始」を選びます。

次の画面でExcelのファイルパスを入力します。Excelのバージョンや32bit版か64bit版かでも違ってくるので自分の環境に合わせて正しく選びます。

引数の部分に開きたいExcelファイル名をフルパスで指定します。

次の画面で完了を押して終了します。

これでログオン時に自動でExcelファイルを立ち上げるようになりました。

Excel マクロの自動起動

Excelファイルを開いた時にマクロを自動実行するにはExcel VBAのエディターで「ThisWordbook」を選んで以下のコードを記述します。

Sub workbook_open()

    Application.OnTime Now + TimeValue("00:00:05"), "AlarmMessage"
        
End Sub

ここで、"AlarmMessage"は呼び出したいサブルーチンで、「標準モジュール」の「Module1」内に記述します。この中に実際の注文処理などを書いておきます。サブルーチン名"AlarmMessage"は実際の物に合わせてください。

これでExcelファイルを開いてから5秒後にサブルーチン"AlarmMessage"が実行されます。

画像でも示しておきます。

マクロを繰り返し実行し続ける方法は以下の記事を見てください。

岡三RSSの設定

ログオン時に岡三RSSも自動で立ち上がるように設定しておきます。

岡三RSSの設定で「Windowsの起動と同時に開始する」にチェックを入れておきます。

PCの自動ログイン

PCを再起動した際にログイン画面を省略して自動でログインするようにします。

そのため、Windowsから「ファイル名を指定して実行」を選びます。

そこで「netplwiz」と入力します。

自動ログインをしたいユーザーを選択し、「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」のチェックを外します。

OKするとパスワードの確認画面ででますのでパスワードを入力します。

これで次回起動時からログイン画面が省略されます。

おまけ:起動後にメール送信で通知

ちゃんと再起動されてExcelが動作しているか確認したい場合、Excelからメールを送ることができます。

方法は以前の記事を見てください。

Windowsからメールを自動で送る方法もありますが、ここでは割愛します。

おまけ2:マクロを自動起動せずにExcelを立ち上げる方法

Excelでマクロを自動実行するようにしましたが、マクロを実行せずに開きたい場合は次のようにます。

  • ファイルを開かずにExcelのみ立ち上げる
  • Shiftキーを押しながらExcelの「開く」からファイルを開く

これでマクロを実行せずにファイルが開けます。

まとめ

岡三RSSが常にちゃんと動作し続けてくれればいいのですが、時々おかしくなります。

それでも、一日一回再起動を行っていれば大丈夫そうなので、それでなんとか売買を続けられると思います。

せっかくの自動売買なので手動での操作はなるべく減らしていきたいです。

タイトルとURLをコピーしました