亀山研究所

since 2005/9/29
最終更新日: 2011/03/24

亀山研究所レポート『マーケットスピードの自動起動』

注意:2008/7/20現在 MSSのダウンロードはできないようです。 できないどころか、公開や開発を中止したようです。残念ですが、過去の読み物としてお楽しみ下さい。

マーケットスピードの自動起動ってできる?

出来るか出来ないか?と聞かれれば答えは「出来ます。」ですが、〜〜を使って出来るか出来ないか? と聞かれると「〜〜によります。」と言う回答になります。今回の方法が有効に使える方は参考にしてみて下さい。

UWSCなどのスクリプトを使えば比較的簡単に実行可能だと思います。

今回はMSS(マーケットスピードショートカット)と言うソフトを使用して、 自動ログインパスワード入力機能とショートカットキーを組み合わせて 自動ログインできるようにしようと思っています。

このMSSの自動ログインパスワード入力機能はとても便利ですので、自動起動なんて必要ないよ! と言う方でも導入をお勧め致します。便利だからと言う理由だけでお勧めしています。 説明などよく読んで頂き、使用に関しては自己責任にてお願いします。

めざせマーケットスピードの自動起動

使用するもの

もちろんMS(マーケットスピード)とRSS(リアルタイムスプレッドシート)それにエクセル。

肝心のMSSはここからダウンロードしておいて下さい。

注意

MSSの自動ログインパスワード入力機能はMSSの説明にあるようにレジストリーに記録されます。 セキュリティに問題のあるパソコンで行うとパスワードが盗まれる可能性があります。 十分に対策されている場合か、確実に安全なPCでのみご使用ください。

エクセルのマクロを使用しますが、エクセルマクロ自体のセキュリティを下げて実行させますので、 こちら(エクセル)のセキュリティ対策も十分に取って下さい。

マクロ実行確認の別窓を出さないためです。

MSSの設置

MSSをダウンロードして解凍しましょう。ひとまずダウンロードしたフォルダに解凍しておいて下さい。

使用するのはMSS.EXEとMSSDLL.DLLの二つのファイルです。 これを同じ場所(フォルダ)にしておけばどこに入れても使えます。 私はマーケットスピードが入っているフォルダにC:¥Program Files¥MarketSpeed¥MSSとして MSSと言うフォルダを作って、その中に二つのファイルを入れました。

MSS.EXEをクリックして下さい。タスクトレイ(右下の時間などの表示がある所)に マーケットスピードに似たアイコンが出来ていると思います。これをクリックして下さい。 出てきたメニューの設定をクリックします。

マーケットスピードのウインドウタイトルにはマーケットスピードを開いたときにでる 左上のタイトルをそのまま記入します。このタイトルでアクティブウインドウにしますので 間違えると何も起こりません。確実に入力しましょう。

ちなみにダウンロードした時点ではVer5.2となっていますが、 Ver9に書き換えればVer9でも対応できているのを確認済みです。

起動時にマーケットスピードも起動するにチェックを入れます。 ついでに起動時にリアルタイムスプレッドシートも起動するにチェックを入れましょう。 いままでスタートアップにマーケットスピードやRSSのショートカット入れていた場合は、 MSSのショートカットを入れてしまえばこれでOKです。

MarketSpeed.exeの場所とRSS.exeの場所を指定してください。 通常はC:¥Program Files¥MarketSpeed¥MarketSpeedの中に入っています。

終了時にマーケットスピードも終了するはお好みでチェックを入れてください。

ログインパスワード自動入力にチェックを入れてパスワードを入力します。 注意書きがあるように自己責任でお願いします。

さて、これだけでもかなり便利に使えるのですが、キー設定をしたいと思います。 いろいろな動作のショートカットをキー登録できるようですが、今回はログインだけ説明します。 他にも興味がある方は試してみてください。

ログインの項目をチェックします、CTRLとALTどちらかか又は両方にチェックを入れて、 キーを選んでください。これで終了です、簡単に出来ちゃうので驚きです。 実際に使ってみるとやはり便利ですね〜。

これで、ひとまずPCを立ち上げるとMSSが起動して、MSやRSSが起動します。その時点で (MSSが立ち上がっている状態で)登録したショートカットキーを押すと自動でログインが出来ます。 これは便利!!ちなみにショートカットキーを使わないでも、 ログインボタンを押すと勝手にログインしてくれちゃいます。 共有のPCで使用する方はこの設定はしない方がよいと思います。

ちなみにマーケットスピードも6.0からこのショートカットキー機能があるのですが、 私が探した限りではログインのショートカットキーはありませんでした。

MSにショートカットキーを送る方法

方法としては色々ありますが、私は監視用のエクセルをRSSの昼休み接続切れから守る為に、 起動タイマーと言うエクセルを使って監視用のエクセルを、 制御しています。(制御といっても、寄前に立ち上げて、昼休みに一度閉じて、後場寄り前に再度 立ち上げる、大引後には保存して終了するだけですけど。)これを使って、MSも制御しようと考えました。(同じくショートカットキーを自動で送るだけですけど・・・)

最初に考えたのは、どうやってショートカットキーを送ると言う動作をするんだ?でした。 まあ、解決策は検討がついていたから、VBAを使おうと決めたんですけどね。

VBAにはSendKeysと言うコマンドがあります。本当はWindows Script Hostなので、VBAと言うよりはVBSですね。

Sub MSStrt()
	Application.SendKeys "^l"
	'----"^l"は設定した、ショートカットキーに合わせて下さい。
End Sub

"^"はCTRLキーを表します。"l"はLですね。詳しくは MSDNとかで調べてみてください。

さて、これでCTRL+Lと言うショートカットキーを送ることは出来るようになりました。 ・・・送る相手は?どう判断するんでしょうか?

自分自身(起動タイマー.xls)に送っても、MSはログインしません。 MSに向かってショートカットキーを送らないとだめです。さて、どうしたものか・・・

先ほどのMSDNで SendKeysを調べてみると、ありました!キーボードから入力したときのように、 1 つ以上のキー ストロークをアクティブなウィンドウに送ります。

なるほど、アクティブなウインドウにすればMSにショートカットキーを送れるのだな。 さて、MSをアクティブにするには・・・ AppActivate これかな?

Sub MSStrt01()
	AppActivate "Market Speed Ver6.0"
	Application.SendKeys "^l"
End Sub

"Market Speed Ver6.0"の部分は、ウインドウのタイトル部分を正確に記入しないとだめです。 タイトル部分を使ってウインドウを検索するので、スペースが合わないだけでもアクティブにならないようです。

このエクセルをMSSと一緒にスタートアップに登録すれば、MSの自動ログインが実現可能です。

タイミングを合わせる

実際にやってみないと最終的な完成品は出来ないもので、どんな不具合が起こるかって 最初から分かればいいんですけどね〜。そんなことは亀山には無理です。

MSよりExcelが先に立ち上がると、MSが探せねーよ!と言うお叱りを受けてプログラムが止まります・・・ しょうがないのでプログラムの実行の前にタイミングを図りたいと思います。

Private Sub Workbook_Open()
	Application.OnTime Now + TimeValue("00:01:00"), "MSStrt01"
End Sub

Private Sub Workbook_Open()は、このワークブックがオープンしたときに 行う挙動を記述することができます。

Application.OnTimeで、アプリケーションを動かす時間を指定できます。

この場合Now + TimeValue("00:01:00")なので、今から1分後に、 "MSStrt01"を実行する。と言うことになります。


お問い合わせなどは、 にてお願いします。メールはテキスト形式にてお願いします。
kameyama-logo

kame.jpg

目次

リンク

メンバーサイト

参考サイト

証券会社

証券取引所