Pocket

最近、投資を始めました。

日経225miniという先物の商品を買ったため、こまめに値段を確認したくなりました。

googleが提供している、スプレッドシート(excel)を使います。gmailなどのアカウントを持っていればそのまま使えます。

http://www.atmarkit.co.jp/ait/articles/1701/18/news025_2.html
がスプレッドシートの始め方が詳しいです。

excelのマクロに相当する、スクリプトを使います。
スプレッドシートを開きます。
まず、スプレッドシートのメニューから「ツール」→「スクリプトエディタ」を選択します。

 

スクリプトエディタが開かれます。
プロジェクト名が「無題のプロジェクト」になっている。「無題のプロジェクト」をクリックすると、「プロジェクト名の編集」とウィンドウが開く。好きなプロジェクト名を入力し、「OK」とする。

 

すると、以下のような入力画面となる。

赤枠のしたの1,2,3とならぶ入力画面に

 

function addFinanceFormula() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange('A1')
          .setFormula('=GoogleFinance("GOOG","price")');
}

をコピペしてください。

 

上記の関数の説明を行います。
3行目の
sheet.getRange(‘A1‘)

赤文字の部分が抽出したいセルの番号になる。

B4に抽出したければ
sheet.getRange(‘B4′)
とする。

 

 

以下、注意。
GoogleFinance関数から、日本の市場の銘柄は抽出できなくなっているみたいです。
別の方法を他記事で紹介します。
アメリカ株の自動習得の方法が知りたい場合は続けてお読みください。

 

 

◆次に、指定したい銘柄を設定する
https://support.google.com/docs/answer/3093281?hl=ja
公式の説明があるので参照

4行目にある
.setFormula(‘=GoogleFinance(“GOOG“,”price“)’);
のうち、GOOGの部分に証券コードを入力してください。priceのままで現在の価格が抽出されます。

トヨタ自動車であれば、証券コードは7203です。そのため
.setFormula(‘=GoogleFinance(“7203″,”price”)’);
となります。”price”の部分はいろいろとカスタマイズできるみたいです。公式ページをご覧ください。

 

・B4に現在のトヨタ自動車の株価を抽出したい場合は

function addFinanceFormula() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange('B4')
          .setFormula('=GoogleFinance("7203","price")');
}

となります。

 

何個かの株価データを抽出したい時は、
2-4行目の項目の部分を、最下行にある } の上に挿入して下さい。

function addFinanceFormula() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange('B4')
          .setFormula('=GoogleFinance("7203","price")');
}

 

 

 

 

 

 

◆自動習得の設定を行う
上記までの設定が終わったら

“コード.gs”と書いてあるタブの上にある、時計のマークをクリック

 

すると

というウインドウが出現する。赤枠をクリック

と変わる。
赤枠内の青枠部は、実際には”addFinanceFormula“と記載されているはずです。

時間主導型 → 分タイマー → 1分ごと

と変更し、フロッピーディスクのマークを押し、スクリプトを保存して完了です。

スプレッドシートに戻ると指定したセルに1分おきに自動で株価が更新されています。

 

ただ、1分おきに更新していると、gmailの方に更新し過ぎですよとメールが来ます。
次回、更新ボタンの作成方法を記載します。