オルカンの最新基準価額をExcelに取り込むマクロ

この記事は約2分で読めます。

「eMAXIS Slim 全世界株式(オール・カントリー)」(愛称:オルカン)の最新基準価額をExcelに自動的に取り込むマクロのコードを参考としてお示しします。

基準価額は、ファンドの運用会社「三菱UFJアセットマネジメント」のウェブサイトに掲載される情報(CSVファイル)を参照しています。

以下のコードはExcelブックの1番目のシート(sheets(1))のA1セル(cells(1,1))に日付、B1セル(cells(1,2))に基準価額を自動的に入力する場合の例です。シートやセルはお好みで変更してご利用ください。

※ ファイルを開いた際に基準価額を自動的に入力しない場合は、4行目以降のコードをご利用ください。

Sub auto_open()
Call 基準価額 ‘ファイルを開いた際、自動で「Sub 基準価額」を起動
End Sub

Sub 基準価額()
Dim fp As String, http As Object, fd As Variant, rd As Variant, ary As Variant
fp = “https://www.am.mufg.jp/fund_file/setteirai/253425.csv” ‘URLを取得
Set http = CreateObject(“MSXML2.XMLHTTP”) ‘XMLHTTPオブジェクトを作成
http.Open “GET”, fp, False ‘httpリクエスト情報を設定
http.send ‘httpリクエストを実行
Do Until http.readystate = 4 ‘読み込み完了までマクロを一時停止
DoEvents
Loop
fd = http.responsetext ‘htmlを取得
rd = Split(fd, vbCrLf) ‘取得したhtmlを改行コードで分割
ary = Split(rd(UBound(rd, 1) – 1), “,”) ‘最新データをカンマで分割して配列に取得
Sheets(1).select ‘1番目のシートを選択
Cells(1, 1).NumberFormatLocal = “yyyy/mm/dd” ‘A1セルを日付型に指定
Cells(1, 1).Value = ary(0) ‘A1セルに日付を入力
Cells(1, 2).NumberFormatLocal = “#,##0;-#,##0” ‘B1セルを通貨型に指定
Cells(1, 2).Value = ary(1) ‘B1セルに最新基準価額を入力
End Sub

コメント

タイトルとURLをコピーしました