エクセルではなく、スプレッドシートで株価を自動取得( 1分おきに) ~GoogleFinance関数ではなくimpotXML関数を使用~ その2
2017.8.25の記事です。
上記のサイトからの転記です。
画像も掲載してあり、上の方が見やすいと思います。
importXML関数の使い方は学びました。
https://note.com/24601/n/nea6e07f60b69
次が本題の自動取得に移ります。
スプレッドシートのスクリプトを使用します。
スクリプトが分からない場合は前の記事
https://note.com/24601/n/n98ae7548d919
を流し読みして下さい。
スクリプトの入力画面に
function importXML() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1')
.setFormula('=IMPORTXML("https://www.google.com/finance?q=TYO:7203","//*[@id=\'ref_674938_l\']")');
}
をコピペして下さい。
◆ここで注意があります。importXML関数の中のXPathの部分ですが、
//*[@id=\'ref_674938_l\']
です。
google financeのページで、chromeのディベロッパーツールから得られるXPathは
//*[@id="ref_674938_l"]
でした。(分からない方はこちらへ)
スプリクトはjavascriptというプログラミング言語で描かれているそうです。
ここではシングルクオーテーションを使用したいときに、\バックスラッシュを前に付けるきまりみたいです。
なのでchromeのディベロッパーツールから得たXPathの"ダブルクオーテーションの部分を
\'に変更してimportXML関数の中に入れましょう。
◆あとは、自動習得の設定をするだけです。
以下は再掲です。
"コード.gs"と書いてあるタブの上にある、時計のマークをクリック
すると
というウインドウが出現する。赤枠をクリック
と変わる。
赤枠内の青枠部は、今回は"importXML"を選択します。
時間主導型 → 分タイマー → 1分ごと
と変更し、フロッピーディスクのマークを押し、スクリプトを保存して完了です。
スプレッドシートに戻ると指定したセルに1分おきに自動で株価が更新されています。
ただ、1分おきに更新していると、gmailの方に更新し過ぎですよとメールが来ます。
この記事が気に入ったらサポートをしてみませんか?