No.3ベストアンサー
- 回答日時:
株価を想像していたのですが、金相場ですか。
Excelでなければ、Googleでつけておく方法もあるそうですが。
#2様のご紹介の、Webクエリでもいいです。
以下は、田中貴金属様のサイトから情報を取り出す、DOMのマクロです。
画面は一日に一度しか変わらないようですから、DOM(HTMLの骨組み)で取れます。
恒久的なマクロではありませんが、DOMで情報を取りやすいので、また面白いかと思います。分かる人は、これを元に試してみるとよいと思います。
ここのサイトは、なぜか、外部から取得しやすいようになっています。なお、外為の場合は、WinHttpでは取れません。また、外為のサイトの中では、Webクエリで取れないものもあります。そういう場合は、以下のコードとは違うアクセスの仕方があります。
下記のSelect Case を工夫すれば、サイトのほとんどの情報は、入手できるようです。
空のシートで試してみてください。
なお、「 "アクセスに失敗しました。」というエラーが返った時は、必ず、サイトを覗いてみてください。これは、通信に障害があった場合です。
それと、これを毎日決まった時間に取得する方法は、タスクスケジューラを使いますが、もう一つ違う技術が必要です。
'//
Sub GetPriceofGold()
Dim objHTTP As Object
Dim httpLog As String
Dim ar As Variant
Dim n As Variant
Dim strURL As String
On Error GoTo ErrHandler
'Microsoft WinHTTP Service, version 5.1
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
strURL = "http://gold.tanaka.co.jp/commodity/souba/d-gold. …
objHTTP.Open "GET", strURL, False
objHTTP.Send
If objHTTP.Status <> 200 Then
MsgBox "アクセスに失敗しました。" & objHTTP.Status, vbExclamation
Exit Sub
Else
httpLog = objHTTP.ResponseText
Call GetLog(httpLog)
End If
ErrHandler:
If Err() > 0 Then
MsgBox Err.Number & " " & Err.Description
End If
Set objHTTP = Nothing
End Sub
Sub GetLog(httpLog As String)
Dim mn As Variant, mdt
Dim oHtml As Object
Dim arBuf(4), buf As Variant
Dim n As Variant
Dim i As Long, j As Long
Dim LastRow As Long, c As Range
''Microsoft HTML Object Library
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
If LastRow = 1 Then
Range("A1").Resize(, 5).Value = Array("地金価格公表日本時間", "税別小売価格", "小売価格先日比", "税込買取価格", "買取価格前日比")
For Each c In Range("A1:E1")
c.EntireColumn.AutoFit
Next c
End If
Set oHtml = CreateObject("HTMLfile")
oHtml.body.innerHTML = httpLog
With oHtml
Set mn = .getElementByID("main")
mdt = Split(mn.innerText, vbCrLf)
For Each n In mdt
If n <> "" Then
Select Case True
Case n Like "地金価格*"
arBuf(0) = n
Case n Like "(小売価格*"
arBuf(1) = n
Case n Like "(*円)"
If arBuf(2) = "" Then
arBuf(2) = n
Else
arBuf(4) = n
Exit For
End If
Case n Like "(買取価格*"
arBuf(3) = n
End Select
End If
Next
buf = Replace(arBuf(0), "地金価格", "")
buf = Mid(buf, 1, InStr(buf, "公表") - 1)
arBuf(0) = buf: buf = ""
arBuf(1) = Mid(arBuf(1), InStr(1, arBuf(1), ")", 1) + 1)
arBuf(3) = Mid(arBuf(3), InStr(1, arBuf(3), ")", 1) + 1)
End With
Cells(LastRow + 1, 1).Resize(, 5) = arBuf()
'数値変換(不要なら、ここまででも良い)
For i = 2 To 5
Cells(LastRow + 1, i).Value = Replace(Cells(LastRow + 1, i).Value, "円", "")
Cells(LastRow + 1, i).Value = Val(Replace(Cells(LastRow + 1, i).Value, "(", "", , , 1))
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) Excelであいうえおがおえういあになる 5 2022/07/19 03:33
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) Excelで任意の塗りつぶし色の数字を集計する方法はありますか?関数を使ってできる方法があれば教えて 3 2022/11/18 16:57
- Excel(エクセル) Excelで任意の塗りつぶし色の数字を集計する方法はありますか? 3 2022/11/09 06:48
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excelについて Excel初心者です。 日報に数字を入力する時、誤った数字を入れると、セルが赤く 6 2023/03/31 17:05
- Excel(エクセル) Excel関数について質問です。 シート1に入力シートがあります。 =A1 =B1などで離れた数字な 5 2022/12/18 13:42
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
標準価格と定価と希望小売価格...
-
分からないのに回答したがる回答者
-
こんな夜中に何してるのですか...
-
X.comがイーロンに買われる前は...
-
IFERROR、IF、VLOOKUP関数の組...
-
A3対応複合機
-
仕切価格ってどういいますか?
-
違法サイト
-
DreamwerverCS5.5 サイトの管理
-
証明写真機本体の価格について
-
世界の株価指数を90日線で上...
-
サイト
-
ヤフー知恵袋と教えてgooの次に...
-
著名人の難読苗字のサイト探し...
-
SSDは今後値下がる? 今後、と...
-
スマホのバックアップで SDカー...
-
突然、文字の反映がおそくなる
-
このサイトは 信用できますか???
-
WEBサイトの目標となる平均PVや...
-
iPhone8とiPhone10何が違うの?...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
標準価格と定価と希望小売価格...
-
明治のチェルシーが、 なくなっ...
-
ヤフー知恵袋以外のQ&A
-
違法サイト
-
どのサイトを見れば、過去数年...
-
こんな夜中に何してるのですか...
-
股ぐり
-
enebaというサイトなんですが
-
IT、PC分野に特化・限定した「...
-
手作りの物をアプリで販売して...
-
https://www.mouse-jp.co.jp/st...
-
トリップサイト(異世界に行く?...
-
20代男性で、 bmi19.9ってどう...
-
EXCEL kakaku.com 最安価格の更...
-
マルサの女って、不適切な言葉...
-
サイト
-
仕切価格ってどういいますか?
-
情報暴露マンのようなサイトを...
-
hentaikeyっていうサイトに登録...
-
Craving Explorerについて
おすすめ情報