アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://quote.yahoo.co.jp/m3?u
にある表から各数字を変数に代入する方法は?

A 回答 (2件)

私の思いつきなんですが、どうでしょうか。


(1)ご指定のURLをIE(インターネットエクスプローラー)で開く。
(2)WEBが表示される。
   表示-ソースをクリックする。
   メモ帳でHTML文が開く。
(3)ファイル-名前をつけて保存-名前を(例えば)gaitame.txtで保存。
(4)エクセルに行き、エクセルを開き、Sheet1よりALTを押しつつ
   F11キーを押す。VBE画面になる。
   ALTキーを押しつつI(挿入)M(標準モジュール)を押す。
(5)出てきた画面に、下記を貼り付ける。
Sub test01()
Workbooks.OpenText "c:\My Documents\gaitame.txt"
Worksheets("gaitame").DrawingObjects.Delete
End Sub  
(6)実行-SUB/ユーザーフォームの実行をクリック。
これでエクセルの表に読みこまれ、余分なものが除かれた。
gaitame.txtというBookのgaitameと言うSheetが出来る。
(7)第1行から相場表の前まで、行削除。
   表の下の余分な行を削除。
   いつも決まった行から表が始まるなら、行削除はVBAで
   出きる。あるいはVBAで「外国為替レート」を探し、その前まで
   削除をプログラム化できる。
(8)これでスリムな外国為替レートだけの表のエクセルのシート表になった。
あとはVBAで
sub test02()
for i=1 to 8
for j=1 to 9
a(i,j)=worksheets("gaitame").cells(i,j)
next j
next i
end sub
とかを実行すると、配列(変数)にデータをセットできる。あとは何とでもなります。
    • good
    • 0

imogasiのようにEXCELにいれて後はVBAで処理するのでよいのなら、WEBクエリを利用するほうが簡単だと思いますが、そうでない場合を考えてみました。

とりあえずVBSCRIPTで記述しています。テーブルを読み込んでCドライブに保存しています。

dim IE
set IE = WScript.CreateObject("InternetExplorer.Application")

IE.Width = 640
IE.Height = 480
IE.Visible = true
IE.Navigate("http://quote.yahoo.co.jp/m3?u")
while IE.busy : wend
while IE.Document.readyState <> "complete" : wend

dim fs
Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.CreateTextFile("c:\yahoo.txt", True)

for each r in IE.Document.all.tags("TABLE")(5).rows
for each c in r.Cells
a.Write(Replace(c.innerText,vbCrLf,"") & ",")
next
a.Write(vbCrLf)
next
a.Close
IE.quit

とまあ、こんな感じですけどどうでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!