エクセルで株価を自動取得するVBAコードを紹介します。(日本株・米国株・投信対応版)

Excel

87 Comments

-  

承認待ちコメント

このコメントは管理者の承認待ちです

2023/02/02 (Thu) 12:16 |  REPLY |   

-  

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2022/03/22 (Tue) 20:35 |  REPLY |   

-  

承認待ちコメント

このコメントは管理者の承認待ちです

2021/12/23 (Thu) 20:00 |  REPLY |   
mochi

mochi  

To 株枕さん、tamago2さん

障害連絡ありがとうございます。
コード変更しました。
変更内容の詳細は記事冒頭の障害情報をご確認ください。

また今回を最後にコード修正の対応を終了させていただくことになりました。
米国ヤフーファイナンスは表示フォーマットの変更頻度も高く、いずれ近いうちに本コードでは株価取得できなくなることになると思います。
本コードが利用できるうちに他の株価取得ツールやサイトサービスなどを見つけてご利用されることをお薦めします。
これまでご利用いただきありがとうございました。

2021/12/04 (Sat) 23:02 |  REPLY |   

tamago2  

エラー

いつもありがとうございます。
米国株取得時、「実行エラー'13' 型が一致しません」と出るのですが、解決法ご教示いただけないでしょうか。
よろしくお願いいたします。

2021/12/04 (Sat) 13:17 |  REPLY |   

株枕  

米国株価取得できず

mochiさん、毎日使わせていただき、たいへん重宝しております。
11月30日より、「実行時エラー13 型が一致しません」となり、米国株の取得ができなくなってしまいました。
VBAの対応をいただければ幸いです。

2021/12/01 (Wed) 06:33 | EDIT |  REPLY |   
mochi

mochi  

Re: To -さん

誰に向けてのコメントなのか分かりませんが、ここは神サイトではありません。単なる個人趣味ブログです。
「デバッグが出てしまう」とはどういうことでしょうか?エラーが発生するという意味でしょうか?
記事中の最新コードならびにダウンロードファイルV3.17において、当方ではご指摘のエラーは確認できません。
銘柄コードは何でしょうか?
「シェアいただく」とは具体的にどのようにすればよろしいのでしょうか?

2021/11/06 (Sat) 22:00 |  REPLY |   

Teresa  

To -さん

このような神サイトありがとうございます。
新しいマクロなのですが、140行と152行でデバックが出てしまうのですが何か原因などお分かりだったらシェアいただけないでしょうか。

2021/11/06 (Sat) 17:04 |  REPLY |   

栃木  

To mochiさん

早速ご対応をいただき、ありがとうございます。

2021/11/04 (Thu) 14:00 |  REPLY |   
mochi

mochi  

Re: 米国株の株価取得できず(V3.16)

障害連絡ありがとうございます。
コード変更しました。
変更内容の詳細は記事先頭の障害情報をご確認ください。

2021/11/03 (Wed) 21:21 |  REPLY |   

栃木  

米国株の株価取得できず(V3.16)

米国株式の値が取得できないようです。
「米国株価取得の際にエラー13:型が一致しません」と表示され停止します。
お手数ですが確認いただき、修正をご教授頂ければ幸いです。
よろしくお願いいたします。

2021/11/03 (Wed) 18:24 |  REPLY |   

i  

お礼 エクセルで株価を自動取得するVBAコード

ありがたく利用させていただきます。 一発で株価取り込めました。素晴らしいです。あろがとうございました。 当方、裾野に住む者です。ご近所ですね。 見える富士山の形が違いますが・・。 

2021/10/17 (Sun) 09:29 |  REPLY |   

ぺろりん  

To mochiさん

早々に回答いただきありがとうございます。
無事REITの株価を確認することができました。

2021/09/01 (Wed) 22:07 |  REPLY |   
mochi

mochi  

Re: REITの株価を拾ってくれない

リートはETFと同じ表示フォーマットになっています。
銘柄コード末尾に「.E」の2文字を付け足してください。

2021/08/31 (Tue) 22:16 |  REPLY |   

ぺろりん  

REITの株価を拾ってくれない

こんにちは。

タイトルの通りで国内株式のREITの株価を拾ってくれないようです。
当日の株価と前日の株価です。

私だけだったら悲しくなりますが、年のためご確認いただけないでしょうか?
お忙しいところ申し訳ございませんがよろしくおねがいします。

2021/08/31 (Tue) 21:22 |  REPLY |   

-  

承認待ちコメント

このコメントは管理者の承認待ちです

2021/08/03 (Tue) 14:04 |  REPLY |   
mochi

mochi  

To 目薬さん/栃木Hiroさん/tamagoさん

障害連絡ありがとうございます。
コード変更しました。
変更内容の詳細は記事先頭の障害情報をご確認ください。

2021/07/17 (Sat) 21:13 |  REPLY |   

tamago  

エラー

いつもありがとうございます。
米国株価取得の際にエラー13:型が一致しませんと表示されます。
解決法をご教示いただけないでしょうか。
よろしくお願い申し上げます。

2021/07/17 (Sat) 08:26 |  REPLY |   

栃木Hiro  

米国株関連の株価が取得できず(V3.15)

いつも便利に使わせて貰っています。ありがとうございます。
7月中旬になり、米国株関連の株価が取得出来ないようです。
オリジナルのV3.15をダウンロードして試しても同様です。
時間がございましたら、ご確認いただき、修正をご教示いただければ幸いです。

2021/07/16 (Fri) 18:31 |  REPLY |   

目薬  

米株エラー

いつもお世話になっております。
米株取得でエラーが出ます。
取り急ぎご連絡致します。

2021/07/15 (Thu) 15:06 |  REPLY |   
mochi

mochi  

To Makoさん

お返事遅れてしまいました。
動作確認できたようで良かったです (*^^*)

2021/05/01 (Sat) 23:10 |  REPLY |   

Mako  

To mochiさん

新たに作っていただいたプログラムをダウンロードしましたら、問題なく動きました。
こんなに早く解決していただき感激しています。本当にありがとうございました。今後も利用させていただきたいと思っていますので、よろしくお願いします。

2021/04/25 (Sun) 22:05 |  REPLY |   
mochi

mochi  

Re: ダウンロード後、初回の起動でコンパイルエラー発生

当方Excelは32bit版を使用しております。
64bit版Excelにて出るエラーはそこに書かれているように「Declareステートメントに、PtrSafe属性を設定」することで解消されます。

とりあえず「Declareステートメントに、PtrSafe属性を設定」したファイルをダウンロードできるようにしておきましたので、再度ダウンロードしなおして、試してみてください。

2021/04/25 (Sun) 21:11 |  REPLY |   

Mako  

ダウンロード後、初回の起動でコンパイルエラー発生

初めて株価取得エクセルの利用をさせていただきたいと思い、ファイル名の拡張子をxlsmに変更してダウンロードしました。ファイルを開き起動させようとしましたが、次のようなコンパイルエラーのメッセージがでました。
「コンパイルエラー:このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントに、PtrSafe属性を設定してください。」

お忙しいところ申し訳ありませんが、具体的にどのように対処すれば良いか教えていただければ助かります。私のPC使用環境はWindows10、Excel2019(64ビット対応)で、エクセルVBAに関しては簡単なプログラムを作成、修正をしたことはありますが初心者レベルです。
よろしくお願いいたします。

2021/04/25 (Sun) 17:44 |  REPLY |   
mochi

mochi  

Re: 大改装

こんばんは。ねじまきさん。
お返事が遅れてしまいごめんなさい。

ETFが元の仕様のままという中途半端な変更をしてくれたおかげで、株式種類ごとの分岐が増えることになったので、思い切って全面的なコード見直しを行いました。
参考にしていただけたのであれば幸いです。

2021/04/05 (Mon) 22:15 |  REPLY |   

ねじまき  

大改装

久しぶりに動かしてみたら??っと思い、サイトを見ながら修正させていただきました。コードもなんとなくスッキリした感じになりましたし、新年度に向かって気持ちも切り替わって良かったです。
でも、修正大変だったと思います。どうもありがとうございました。

2021/03/31 (Wed) 23:44 |  REPLY |   
mochi

mochi  

Re: 確認 「セルを黄色に塗る」について

「セルを黄色に塗る」が抜けているというよりも抜いてあります。
この記事はあくまでも「株価取得VBAコード」を紹介する記事です。
そのコード中においてセル装飾といった部分はコード理解の邪魔だと考えています。

そして簡単に動作を確認するためのサンプルシートという形で、
エクセルファイルをダウンロードできるようにしているだけです。
勘違いされている方も多いようですが株価取得ツールという形での配布を目的としているわけではありません。

サンプルシートにおける「セルを黄色に塗る」は僕がデバック用に入れているだけです。
皆さんが御自身で使いやすいように自由にカスタマイズしていただければと思います (*^^*)

2021/03/25 (Thu) 22:47 |  REPLY |   

R  

確認 「セルを黄色に塗る」について

数年前から使わせていただいております。
大変重宝しております。
そして、今回はとても早い対応をしていただいて、
本当に感謝しております。

1点確認ですが、サイトからコピーのできる
VBAコードのほうでは、
「セルを黄色に塗る」がぬけているように思いますが
いかがでしょうか。
(ダウンロードのほうは、表示されていました)

素人なので、勘違いでしたら申し訳ありません。
お時間のある時に確認していただけるとよいかと思います。

これからも、よろしくお願いいたします。

2021/03/25 (Thu) 17:28 | EDIT |  REPLY |   
mochi

mochi  

Re: 原油の上場投信1699でエラー

モシモシ? ニホンゴ ワカリマスカ?

記事冒頭の障害情報の中身をよく読んでください。

2021/03/24 (Wed) 22:02 |  REPLY |   
mochi

mochi  

To mjxtさん & たかさん

まとめての返信ですみません。
順調に動作しているようで良かったです。
またエラー発生することがありましたらご連絡いただけるとありがたいです。

2021/03/24 (Wed) 21:58 |  REPLY |   

masa  

原油の上場投信1699でエラー

いつもプログラムを活用させていただき,
ありがとうございます。
また,早速のプログラム修正,ありがとうございます。

最新のプログラムにおいて,
コード1699でエラーとなりました。

以下のソースを挿入し,urlとstock_typeを上書きして
強引にエラー回避しています。

If code = 1699 Then
url = "https://stocks.finance.yahoo.co.jp/stocks/detail/?code=1699.T"
stock_type = "JP_STOCK_ETF"
End If

2021/03/24 (Wed) 18:53 |  REPLY |   

mjxt  

Re: Re: 日本の個別株情報取得でエラー発生

お忙しそうなのに早々のご対応、ありがとうございます。お手数をおかけします。

新しいコード、さっそく私のカスタムしているコードにマージしてテストし、ETF/個別株とも問題なく株価取得できるのを確認しました。ありがとうございます!m(_ _)m

2021/03/24 (Wed) 12:56 |  REPLY |   

たか  

ありがとうございました

私も2年ほど使わせてもらっていて、今回、株価取得ができず困っていました。

プログラムはかなり重宝しています。
感謝です。

ありがとうございました。

2021/03/24 (Wed) 10:11 | EDIT |  REPLY |   
mochi

mochi  

Re: Re: 日本の個別株情報取得でエラー発生

おまたせしました。修正版をアップしました。

2021/03/23 (Tue) 23:22 |  REPLY |   

mjxt  

Re: 日本の個別株情報取得でエラー発生

さっそくのご確認、ありがとうございました。ヤフー側の仕様変更ということで状況了解いたしました。個別株だけフォーマット変更というのは厄介ですね・・・。

気長にお待ちしておりますので、ご無理なさらずお時間があるときにでもよろしくお願いいたします。ありがとうございます。

2021/03/23 (Tue) 00:02 |  REPLY |   
mochi

mochi  

Re: 日本の個別株情報取得でエラー発生

ヤフーファイナンスのフォーマット変更によるものです。
ETFのURL・フォーマットは以前のままですが、個別株のURL・フォーマットが変更になっています。
銘柄コードだけではETFと個別株の判別ができないため、現在対処方法を検討中ですが、サラリーマンの身の上なので、2~3日は掛かってしまいそうです。

2021/03/22 (Mon) 23:19 |  REPLY |   

mjxt  

日本の個別株情報取得でエラー発生

はじめまして。2年ほど前に株価更新Excelの情報を探していてこちらのサンプルコードを発見し、その後ありがたく愛用させていただいております。大変有用な情報のご提供、ありがとうございます。

本日夕方くらいから日本の個別株の株価更新時に「アクセスが拒否された」というエラーが出るようになりました。
原因についてわかる範囲で調査してみたのですが、私の環境だと53行目の、

Set http = CreateObject("MSXML2.XMLHTTP")

のところでエラーが出るようで、少し調べてみたところこちらの記述だとTLS1.2非対応という情報を見かけましたので、58行目と同じ、

Set http = CreateObject("ServerXMLHTTP.XMLHTTP")

に変更したところ、アクセスエラーについては出なくなりました。
ただこの状態でも、その後82行目の、

tmp_txt = Mid(http.responseText, st_point, ed_point - st_point)

のところで「プロシージャの呼び出し、または引数が不正です」というエラーが出る状態になっております。
Visual Basic Editorで追ってみたところ、price_txtが正しく取得できていないようなのでYahoo側の仕様変更?という感触なのですが、mochi様の環境では同様の現象は発生しておりますでしょうか?

本エラーですが、発生を確認しているのはコード2393(日本ケアサプライ)及び3407(旭化成)で、他の個別株でもエラーは発生するようです。
ETFの1478(iシェアーズ MSCIジャパン高配当利回りETF)及び1489(日経高配当株50ETF)は正しく株価が取得できているのを確認しております。
環境依存かの確認のため、他のOfficeがインストールされているPCでも実行してみましたが、同じエラーがでる状況です。

2021/03/22 (Mon) 21:46 |  REPLY |   
mochi

mochi  

Re: 株価取得時エラーについて(お詫び)

こんばんは。
誤解されていた件はお気になさらずに。
原因が分かったようでなによりです (*^^*)

2021/03/17 (Wed) 21:29 |  REPLY |   

黒猫たま  

株価取得時エラーについて(お詫び)

mochi様、早速の検証ありがとうございました。

表題の件、完全に私自身の勘違いでした。普段、株価や投信基準価額を取得する時、mochi様のVBAコードと別の方が作成されたVBAコードを使い分けております。今回エラーが出たのは別の方が作成されたVBAコードで、原因そのものはYahooファイナンスの仕様変更に伴うものでした。エラーが出たVBAコードについては、既に作成者様が修正されておりました。

よって、mochi様のVBAコードは全く問題なく動作しております。今回は私の早とちりでお騒がせして誠に申し訳ありませんでした。ここにお詫びいたします。

2021/03/17 (Wed) 09:14 | EDIT |  REPLY |   
mochi

mochi  

To 黒猫たま さん

こんばんは。
僕の環境下では正常に動作できています。
もう一度、試してみてください。
「一般企業のコード」というのは具体的にいくつでしょうか?
コードが変わったりしていませんか?
ヤフーファイナンス等で実際にそのコードで株価等が表示されるか?確認してみてください。

2021/03/16 (Tue) 21:43 |  REPLY |   

黒猫たま  

株価取得時エラーについて

株価取得VBAではお世話になっております。

本日、VBA実行時に「実行時エラー'-21470248912147024891(80070005)': アクセスが拒否されました。」を表示してデータ取得ができませんでした。昨日までは正常に取得できておりました。デバッグリストの211行目、.sendのところで止まっています。

株価コードで、998407の日経平均株価、998405のTOPIX、1540等のETFに該当するものついては正常に取得できますが、一般企業のコードのところで引っかかっているようです。

お手すきの時に確認していただければありがたいです。

2021/03/16 (Tue) 17:12 | EDIT |  REPLY |   
mochi

mochi  

To 三枝さん

こんにちは。三枝さん。
暖かいお言葉、そしてお気遣い、ありがとうございます。

元々は自分の為に作ったものでしたし、エクセルでこんなこともできるんですよという紹介目的で公開したものでしたが、そのように喜んでいただけているというだけで嬉しいです。
一時期、米国ヤフーファイナンスのフォーマット変更が多かったですが、最近は落ち着いているようでホッとしています(笑)

2020/08/18 (Tue) 23:19 |  REPLY |   

三枝  

長い間使わせてもらっていますが、こちらのVBAで株管理が非常に楽になりました。加えてVBAを勉強するきっかけになり、今では改造して使わせてもらっています。最近は参照先の株価表示サイトのコード変更も頻繁で管理人様は修正が大変かと思いますが、気楽に運営してもらいたいです。

このサイトに出会えて本当にラッキーでした!

2020/08/18 (Tue) 16:41 |  REPLY |   
mochi

mochi  

Re: 正常なダウンロードができません

こんにちは。りょうさん。

> ダウンロード(V3.13)をクリックし、拡張子を.xlsmにしました。エクセルファイルになったようですが、読み込んでも、「ファイルの一部の内容には問題がある」と表示され、さらに進めると、最終的には「ファイル形式またはファイル拡張子が正しくありません。」と表示され、終了してしまいます。ダウンロードができても、作動しない状況です。

当方であらためてダウンロードして再確認したところ問題なく動作しました。
(動作環境:Windows10、MS-Excel2016)
拡張子が.xlsmになっていることを再確認してください。
それ以上は当方では分かりません。


2020/03/31 (Tue) 19:14 |  REPLY |   

りょう  

正常なダウンロードができません

初めて使います。
ダウンロード(V3.13)をクリックし、拡張子を.xlsmにしました。エクセルファイルになったようですが、読み込んでも、「ファイルの一部の内容には問題がある」と表示され、さらに進めると、最終的には「ファイル形式またはファイル拡張子が正しくありません。」と表示され、終了してしまいます。ダウンロードができても、作動しない状況です。
 どのようにすれば、正常に動くのか教えてください。
 よろしくお願いします。

2020/03/31 (Tue) 09:50 | EDIT |  REPLY |   
mochi

mochi  

To tendonさん

こんばんは。tendonさん。

動作確認報告ありがとうございます。
今回は週末休みだったこともあり早めに対応できましたが、平日の障害発生だと時間が掛かってしまうと思います。
ご理解いただければ幸いです (*^^*)

2020/03/30 (Mon) 21:22 |  REPLY |   

tendon  

To mochiさん

米国株(や投信)は普段管理されていないとのことで、修正は完全なボランタリーワークなのに、早速のご対応、本当にありがとうございます。無事動作を確認できました。
Webサイトの構造変更はたまにありますため、Money Forwardの様に有償のサービスでないとメンテナンスは大変かと思いますが、お手すきの際でも構いませんので、今後も修正願えれば大変助かります。
私も、自分え修正できるようにプログラミングのスキルを付けようと思います(ちょっと時間かかりそうですが)

2020/03/29 (Sun) 08:03 |  REPLY |   
mochi

mochi  

Re: 3/28からエラーが出るようになりました。

こんばんは。tendonさん。

いつものように表示レイアウトの関係?で、目印としている識別コード部分data-reactidの値が変更になったために株価取得できなくなっていました。
今回は前日株価同様に表示文字列から識別コード部分を可変するようにしてみました。
これで少しは継続して動作するようになってくれればよいのですが…

VBAコード変更部分が複数行に渡っていますのでご注意ください。
分からないようであれば基本ファイルをダウンロードできるようにしてありますので、そちらを利用するようにしてください。

2020/03/28 (Sat) 19:13 |  REPLY |   

tendon  

3/28からエラーが出るようになりました。

いつも株価取得VBAを活用させていただいております。
2020/3/27, 28あたりから、米国Yahooの現在の株価が取得できなくなったようです。
いろいろ見てみると、日本株、投資信託、米国株の前日価格は取得できるようです。
お手すきの時で良いので、修正願えますでしょうか。
宜しくお願い致します。

2020/03/28 (Sat) 05:17 |  REPLY |   
mochi

mochi  

To たかしさん

こんばんは。たかしさん。

> 2019年11月の時と同じような障害が発生しております。

障害内容としては前回とほぼ同じような感じです。
ただ今回は前日値を取得するための識別コード部分が銘柄によって可変しているようです。
それに対応させるためにVBAコード変更部分が複数行に渡っていますのでご注意ください。
分からないようであれば基本ファイルをダウンロードできるようにしてありますので、そちらを利用するようにしてください。

2020/02/11 (Tue) 22:28 |  REPLY |   

たかし  

To mochiさん

こんにちは。

2019年11月の時と同じような障害が発生しております。
私だけなのかもしれませんが・・・

念のため調査していただけますか?

お忙しいところ恐れ入りますがよろしくお願いいたします。

2020/02/11 (Tue) 08:34 |  REPLY |   
mochi

mochi  

To たかしさん

こんばんは。たかしさん。

> 先ほど動作確認しました。
> 早々に対応していただきありがとうございました。
> 少し確認しない間にアメ株の損失が拡大していました( ;∀;)

ひとまず株価取得できるようになって良かったです。
スクレイピング対策でころころフォーマットを変えてきているんだろうと思います。
おそらく3ヶ月ぐらい経つとまた変えられてエラーがでるようになってしまうかもしれません。
その際はお手数ですがご一報いただけると助かります。
米国株の損失拡大の件はご愁傷様ですとしか言えません。(;・∀・)

2019/11/07 (Thu) 21:08 |  REPLY |   

たかし  

To mochiさん

先ほど動作確認しました。
早々に対応していただきありがとうございました。

少し確認しない間にアメ株の損失が拡大していました( ;∀;)

2019/11/06 (Wed) 22:04 |  REPLY |   
mochi

mochi  

To たかしさん

はじめまして。たかしさん。

障害連絡ありがとうございます。

取り急ぎ対策方法を回答いたします。
記事中VBAコードを先ほど修正しておきました。

101行目 check_txt = "data-reactid=""42"">"の部分を42→44に変更してください。

2019/11/06 (Wed) 21:05 |  REPLY |   

たかし  

はじめまして。
2~3日前くらいに外国株のデータを更新しようと思ったらエラーが出てしまいました。

113行目の
sosa_sh.Cells(check_row, old_price_column) = CDbl(old_price_txt)

の部分で実行時エラー'13'
型が一致しません。

となり更新ができなくなりました。
お忙しいところ恐縮ですが、ご確認いただけますでしょうか。
よろしくお願いいたします。

2019/11/06 (Wed) 18:24 |  REPLY |   
mochi

mochi  

To 鍵コメさん

ご連絡ありがとうございます。
ひとまず動作するようになって良かったです。

> 今日の夕方に出たエラーメッセージは
> http.sendの部分でサーバに接続できないエラーでした。
> サンプルシートでも試しましたが、同じエラーメッセージが出ていました。
> しかし、現在、なぜか解消されています。

サーバーが混み合っているなどの理由で応答が得られずにタイムアップしていたのかもしれません。
今度同じような症状が出た場合は、少し時間を置いてから再実行するようにしてみてください。

2019/09/05 (Thu) 23:19 |  REPLY |   

-  

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2019/09/05 (Thu) 21:48 |  REPLY |   
mochi

mochi  

To 鍵コメさん

鍵コメントである必要はないと判断いたしましたので、内容をそのまま引用させていただきます。

> 株価のダウンロードに使っていましたが今日、9月5日の午後4時頃から株価を取り込めなくなり、VBCでエラーがでるようになりました。

当方で動作確認(9月5日 21:05頃)したところ、記事中でダウンロードできるサンプルシートでは問題なく動作いたしました。
エラーが出る銘柄コードとエラー内容をご連絡ください。

2019/09/05 (Thu) 21:21 |  REPLY |   

-  

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2019/09/05 (Thu) 19:17 |  REPLY |   
mochi

mochi  

To 黒猫たま さん

こんばんは。黒猫たまさん。

無事に動作したようで良かったです。
FC2無料ブログではエクセルファイルの拡張子のままだとアップロードできないので、拡張子をrdfに書き換えることで無理矢理アップロードしています。ダウンロード後に拡張子をrdf→xlsmにすることでエクセルファイルとしてWindowsに認識されるようになります。
また障害発生した時はご連絡いただけると助かります。

2019/08/22 (Thu) 22:03 |  REPLY |   

黒猫たま  

To mochiさん

展開されたVBAのエラーは当方のミスでした、申し訳ありません。ダウンロードファイルは、拡張子がrdfでしたが、xlsmに変更して動作確認できました。

このたびはご対応ありがとうございました。今後ともよろしくお願いいたします。

2019/08/22 (Thu) 18:27 |  REPLY |   
mochi

mochi  

To 黒猫たまさん

こんばんわ。黒猫たまさん。

> 先ほど、ダウンロード釦をクリックしましたが無反応でした。
 すみません。HTMLコードがミスっててダウンロードできないようになっていました。
 修正してダウンロードできることを確認しました。

> また、展開されたVBAをコピペしたところ、81行目で「実行時エラー'5' プロシジャーの呼び出し、または引数が不正です。」 となってしまいます。
 記事中のVBAコードの方はコピペで問題なく動作しました。

2019/08/21 (Wed) 23:12 |  REPLY |   

黒猫たま  

To mochiさん

お世話になっております、早速の対応ありがとうございます。

先ほど、ダウンロード釦をクリックしましたが無反応でした。また、展開されたVBAをコピペしたところ、81行目で「実行時エラー'5' プロシジャーの呼び出し、または引数が不正です。」 となってしまいます。

重ね重ねのお願いになりますが、ご確認のほどお願い申し上げます。

2019/08/21 (Wed) 22:45 |  REPLY |   
mochi

mochi  

To 黒猫たまさん&sekonyanさん

株価取得VBAの障害連絡ありがとうございます。

ヤフーファイナンスの投信情報URLが変更になったことでアクセス出来なくなっておりました。
またそれに伴いデータフォーマットも変更されていました。

先程、記事中VBAコードならびにダウンロードファイルを修正しておきました。ご確認ください。

2019/08/21 (Wed) 13:42 |  REPLY |   

sekonyan  

エラー

今日から 実行時エラー:2147024891(80070005) デバッグが http.Send
の部分が該当されている模様です。


2019/08/21 (Wed) 09:01 |  REPLY |   

黒猫たま  

55行目 http.sendでエラー

いつもお世話になっております。

株価取得Excelにて、表題のエラーが発生します。
本日8月20日にYahoo!ファイナンスのページを刷新した模様です。

6月末に続いて再度のお願いになりますが、ご確認いただければ幸いです。

2019/08/20 (Tue) 23:57 |  REPLY |   
mochi

mochi  

Re: 米国株式 株価取得でエラーの件

こんにちは。黒猫たまさん。

> VBA修正ありがとうございました。
> 動作確認完了しました。

ひとまずエラー解消されたようで良かったです。
最近になって米国ヤフーファイナンスの内部構成が比較的頻繁に変更されるようなので、再びエラーが発生する時がやってくるかもしれませんが、その際はまた今回のようにご一報いただけると助かります。

2019/07/02 (Tue) 21:15 |  REPLY |   

黒猫たま  

米国株式 株価取得でエラーの件

いつもお世話になっております。

VBA修正ありがとうございました。
動作確認完了しました。

2019/07/02 (Tue) 17:34 |  REPLY |   
mochi

mochi  

Re: 米国株式 株価取得でエラー

こんにちは。黒猫たまさん。

>米国株式価格取得EXCELにて、112行目で「実行時エラー13 型が一致しません」のエラーが出ます。

取り急ぎ対策方法を回答いたします。
記事中VBAコードを先ほど修正しておきました。
100行目 check_txt = "data-reactid=""44"">"の部分を44→42に変更してください。

2019/06/29 (Sat) 20:46 |  REPLY |   

黒猫たま  

米国株式 株価取得でエラー

いつもお世話になっております。

米国株式価格取得EXCELにて、112行目で「実行時エラー13 型が一致しません」のエラーが出ます。

お時間があるようでしたら確認していただければ幸いです。

2019/06/29 (Sat) 19:48 | EDIT |  REPLY |   
mochi

mochi  

Re: 発行済株式数

はじめまして。KABUKABUさん。

> 発行済株式数の情報も取得することはできるのでしょうか!?

 具体的にどのように取得するかは別にして技術的には可能だと思いますよ。
 頑張って挑戦してみてください。

2019/06/15 (Sat) 14:55 |  REPLY |   

KABUKABU  

発行済株式数

こんにちは!
発行済株式数の情報も取得することはできるのでしょうか!?

こちら神サイトはとても参考にさせていただいてます!
今後も楽しみに拝見させて頂きます!

2019/06/14 (Fri) 20:46 |  REPLY |   
mochi

mochi  

Re: 外国株取得でエラー

こんにちは。とらさん。

> 数日前から外国株取得でエラーが出るようになりました。

 障害内容確認しました。
 記事中VBAコードを先ほど修正しておきました。
 100行目 check_txt = "data-reactid=""41"">"の部分を41→44に変更してください。

2019/05/28 (Tue) 01:04 |  REPLY |   

とら  

外国株取得でエラー

公開していただいてるエクセルを利用しています。
大変使いやすくて重宝させていただいています。(毎日押してしまう…)

数日前から外国株取得でエラーが出るようになりました。
お手すきのときにでもみてみていただけるとうれしいです。
今後とも応援しております。

2019/05/27 (Mon) 20:41 | EDIT |  REPLY |   
mochi

mochi  

Re: エクセルのエラー

取り急ぎ回答します。

92行目 check_txt = "data-reactid=""35"">"の35→34に変更してください。

2019/03/02 (Sat) 13:09 |  REPLY |   

rui  

エクセルのエラー

いつも公開していただいているエクセルを使っています。
とても使いやすく、大変感謝しております。
2月25日から、アメリカ株の株価取得の際にエラーが発生するようになりましたので修正をしていただければ幸いです。

2019/02/26 (Tue) 11:19 |  REPLY |   
mochi

mochi  

Re: To mochiさん

こんにちは。hiroさん。

> ご推察のとおりでした。正常に取得できていることを確認しました。

解決できたようでなりよりです。

2018/10/14 (Sun) 16:29 |  REPLY |   
mochi

mochi  

Re: 汚いコードですが…

こんにちは。あれあれさん。

参考にさせていただきます。

2018/10/14 (Sun) 16:28 |  REPLY |   

hiro  

To mochiさん

ご推察のとおりでした。正常に取得できていることを確認しました。

2018/10/13 (Sat) 20:42 |  REPLY |   

あれあれ  

汚いコードですが…

他言語や Yahoo JAPAN以外のサイトでは 問題ないようですね
mochiさんの暫定策を元に 書いてみました

' ---- 20170331 頻繁アクセス対策 end --------

' ヤフーファイナンスをHTML形式で読み込む
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "GET", url, False
http.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
http.setTimeouts 5000, 5000, 5000, 5000
On Error Resume Next
http.Send
If (Err.Number <> 0) Then Set http = CreateObject("MSXML2.XMLHTTP"): http.Open "GET", url, False: http.setRequestHeadhttp.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT": http.Send

If (http.Status <> 200) Then
GoTo Exit_out
End If
On Error GoTo 0

Err.Clear

If Len(http.responseText) < 10 Then
GoTo Exit_out
End If

2018/10/13 (Sat) 20:22 |  REPLY |   
mochi

mochi  

WSHの事は分かりませんが…

こんにちは。hiroさん。

> msgbox http.responseText

MsgboxはVBAだと1024文字しか表示することができません。
おそらくWSHのMsgboxにも同様の文字数上限があるのではないかと思います。
当方ではデバックや解析の際にはresponseTextをファイル出力して確認するようにしています。

2018/10/13 (Sat) 20:07 |  REPLY |   

hiro  

To mochiさん

当方ではWSHでやっていますが、記事を参考にして以下のようなコードで取得を試みました。

url = "https://stocks.finance.yahoo.co.jp/stocks/detail/?code=8001.T"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
http.Send
msgbox http.responseText

その結果、何がしかのテキストデータの取得はできるようになりましたが、"stoksPrice"">" に続くデータなど、必要な文字列が含まれていません。WSHとVBAの違いが原因なんでしょうか。

2018/10/13 (Sat) 19:39 |  REPLY |   

とらりん  

No title

対応策ご教示ありがとうございます。再び動くようになりました。

2018/10/10 (Wed) 23:15 |  REPLY |   
mochi

mochi  

Re: No title

こんにちは。momoさん。

> とらりんさんと同じく同様のエラーが発生しました。丁度きのう、東証アローヘッドの問題が起きたことも関係あるのでしょうか。

 タイミング的には関係してそうに見えなくもありませんが、技術的にはヤフーファイナンスにアクセスしているだけなので関係ないとは思っているんですけどねぇ。
 ヤフーファイナンス自体、このVBAのようなwebスクレイピングは禁止してしてますんで、本気で何らかの対策を行ってきた可能性も否定できません。

> 上記の対処、参考にさせていただきます。有り難うございます。

 しばらく様子を見て元のVBAでアクセスできない状態が続くようでしたら、米国株との併用を考慮した上で、記事内容の変更フォローしようと思います。

2018/10/10 (Wed) 22:09 |  REPLY |   

momo  

No title

とらりんさんと同じく同様のエラーが発生しました。丁度きのう、東証アローヘッドの問題が起きたことも関係あるのでしょうか。

上記の対処、参考にさせていただきます。有り難うございます。



2018/10/10 (Wed) 15:14 |  REPLY |   
mochi

mochi  

Re: http.sendでエラー

こんにちは。とらりんさん。

> 今日から?http.sendの部分でサーバに接続できないエラーが出るようになってしまいました。
> とりいそぎご報告。

 ヤフーファイナンス側で何かしたみたいです。
 日本株もしくは投信だけであれば、下記変更で暫定的に対処できました。

1.20行目のAPIを変更
 Set http = CreateObject("MSXML2.ServerXMLHTTP")
  ↓
 Set http = CreateObject("MSXML2.XMLHTTP")

2.60行目のタイムアウト設定行を削除
 http.setTimeouts 5000, 5000, 5000, 5000 ←この行を削除

3.エクセルシートをダウンロードして利用している場合
http.Sendの下に続く以下の3行を全て削除

If (http.Status <> 200) Then
GoTo Exit_out
End If

 これが一時的なものなのか?恒久的なものなのかはわかりませんので、しばらく様子を見ることにします。
 米国株は元のプログラムでも取得できる(上の変更を行うと米国株は取得できなくなる)ので、シート内に米国株も含んでいる場合は、ひとまず「日本株と投信」「米国株」でシートもしくはファイルを分けて運用してください。

 とりいそぎ回答です。

2018/10/10 (Wed) 01:10 |  REPLY |   

とらりん  

http.sendでエラー

今日から?http.sendの部分でサーバに接続できないエラーが出るようになってしまいました。
とりいそぎご報告。

2018/10/09 (Tue) 23:48 |  REPLY |   

Post a comment

1 Trackbacks

Click to send a trackback(FC2 User)
この記事へのトラックバック
  •  VBAで「PER取得マクロ」を作成しました
  • 株価指標のPERをYahoo!ファイナンスから取得し、Excelシートにコピーするマクロを作成しました。ソースを公開します。 1. 動作と仕組み 1-1. 動作 マクロを実行すれば、下図のように、エクセルシートにPER等の情報が一覧で取得できます。 ※クリックで拡大します。 1-2. 仕組み Yahoo!ファイナンスのページから、データを取得します。 順...
  • 2013.10.24 (Thu) 01:12 | Kapok の資産運用