- ベストアンサー
WEBサイト画面への入力
現在、証券会社のWEBサイトを使って株の売買をしています。 といっても、いわゆるデイトレードではなく、夜にその日のデータをダウンロードし、銘柄選定プログラムを走らせ、証券会社のWEBサイトを開いて、翌日に売買する銘柄と株式数を夜のうちに入力しています。 今は、EXCEL上に展開した、売買銘柄と株式数を、証券会社のWEBサイトに手入力しているのですが、できればここを自動化したいと思っています。それには大きく3つの方法があるかなと想像しているのですが、WEBサイトのフィールドに値を入力したり、発注ボタンを押すには何というプログラムを使えばよいのでしょうか? 以下、それを便宜上、「WEBプログラム」と呼びます。 (1) EXCEL主体 EXCELのVBAで、シート上にある銘柄コードをコピーし、「WEBプログラム」へインターフェイスする関数(?)を呼び出して証券会社の画面にペーストする。 (2) 「WEBプログラム」主体 「WEBプログラム」がEXCELのシート上にある銘柄コードを、EXCELのVBAを介して(?)取得し、証券会社の画面にペーストする。 (3) 第三のプログラム主体 第三のプログラム(VB?)がEXCELのシート上にある銘柄コードを、EXCELのVBAを介して(?)取得し、「WEBプログラム」へインターフェイスする関数(?)を呼び出して証券会社の画面にペーストする。 以上、3通りの方法を想像していますが、証券会社の画面のフィールドに値を設定したり、ボタンを押す部分は何が使えますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「証券会社のWEBサイト」に依存しますが、このような場合は、普通はExcelから出力したCSVファイルを、ページ上のフォームからアップロードします。 おそらく、たいていこのようなサイトにはCSVを受け付ける機能があるように思うのですが、どうなんでしょうか。 お使いのサイトにそのような機能がない場合、普通に考えればExcel(のVBA)が入力フォームを呼び出して各データを入力・送信、というのがスマートだと思います。 具体的にはIEコンポーネントを使って所定の入力欄を参照、そこにデータを入力、という流れです。 よくある「自動ログイン」の仕組みに似ています。
その他の回答 (1)
- coredump
- ベストアンサー率46% (12/26)
どもです。 VBAでもVBSでもブラウザコントロールを使用する方法が簡単ですね。 ただ、個人的には、プログラムでやるのはあまり良い方法とは思えないです。デバッグは非常にやりづらいし、画面構成が変われば作り直しだし、自分が意図した数量より多く若しくは少なく発注してしまう可能性も否定できないので、結構リスクが高いと思います。
お礼
「ブラウザコントロール」ですか。調べてみます。 おっしゃる通り、プログラムでキャッシュが動きますので、挙動を慎重にしなければなりませんね。 EXCELからのコピー&ペーストのみプログラムで行って、最後の発注ボタンは手動にするのも考えてみます。 ご回答どうもありがとうございました。
お礼
ご回答ありがとうございます。 私が取引をしている証券会社のサイトには、CSVファイルを受け入れる機能はありませんでした。 ExcelのVBAを主体として、IEコンポーネントを使ってフィールドに値をセットするのですね? IEコンポーネントというのは、今回はじめて知りましたので調べてみます。 ご教示ありがとうございました。