- ベストアンサー
エクセルでダウンロードするには?
エクセルでロトシックスの当選数字をダウンロードする方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは エクセルで単に見るだけと言うことでしたら、 画像で貼り付ける方法もあります。 インターネットエクスプローラで該当webを開き パソコンのキーボードの「PrtSc」キーを押す。(注意1) エクセル上の適当なセルで「Ctrl」キーと「V」キーを 同時に押すと、エクセルに画像が貼り付きます。 (注意1) なお「PrtSc」キーと「Alt」キーを同時に押して画像の 取り込みを行えば、アクティブなwindowのみ画像にできます。 では。
その他の回答 (2)
- tomo316
- ベストアンサー率35% (51/142)
これは、yahooファイナンスから日付けを指定して為替データを取得する 例です。 参考にして頑張ってください。 ・コメントを追加してあります。(したがって、全角空白が入っているかもしれません、気をつけてください。) ・余分なコードを削除すれば見やすくなります。 ・理解できるまで、頑張ってください。 Sub ie_test_P() 'ken3.org IE ドキュメント BODY ALL から <P>~を取り出す Dim objIE As Object 'IEオブジェクト参照用 Dim objA As Object 'リンクのAタグ Dim yLINE As Integer '行カウンタ、Y行目 Dim y2LINE As Integer '行カウンタ、Y行目 Dim xLINE As Integer ' Dim FLG1 As Boolean Dim duumi As Integer Dim myURL As String Dim today As Date Dim work As Variant Dim WBK As Workbook Dim SH1 As Worksheet Dim SH2 As Worksheet Dim SH3 As Worksheet work = "為替推移" Set WBK = ThisWorkbook 'Set WBK = ActiveWorkbook Set SH1 = WBK.Worksheets("設定") Set SH2 = WBK.Worksheets(work) Set SH3 = WBK.ActiveSheet 'SH2.Range("A2").Value = SH1.Range("A2").Value '15行から9999行を削除する 前回の結果データを消す 'SH3.Rows("1:9999").Delete SH3.Range("B6:F55").ClearContents 'SH2.Range("A4", "B53").Clear 'SH2.Range("A4", "B53").Clear SH2.Range("A4:B53").ClearContents 'IEを起動する 初期処理 Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る objIE.Visible = True '見えるようにする(お約束) '.Navigate で 指定したURLを開く today = Date 'MsgBox "今日の日付は " & today & "です。" 'MsgBox "今年は" & Year(today) & "年です。" 'MsgBox "今月は" & Month(today) & "月です。" 'MsgBox "今日は" & Day(today) & "日です。" 'MsgBox "今日から4週間後は" & Format(DateAdd("ww", 4, Date), "yyyy年m月d日") & "です。" 'MsgBox "今日から10日前は" & Format(DateAdd("d", -10, Date), "yyyy年m月d日") & "です。" 'MsgBox "今から20分後は" & Format(DateAdd("n", 20, Time), "h時m分") & "です。" myURL = "http://table.yahoo.co.jp/t?c=" & _ Year(DateAdd("d", -100, Date)) & "&a=" & _ Month(DateAdd("d", -100, Date)) & "&b=" & _ Day(DateAdd("d", -100, Date)) & "&f=" & _ Year(today) & "&d=" & _ Month(today) & "&e=" & _ Day(today) & _ "&g=d&s=usdjpy%3Dx&y=0&z=usdjpy%3Dx" objIE.Navigate myURL '文字列で指定されたURLへ '表示終了まで待つ Do While objIE.Busy = True DoEvents '特に何もしないで.Busyの状態が変わるまで待つ Loop Do While objIE.ReadyState <> 4 DoEvents '特に何もしないで.ReadyStateの状態が4に変わるまで待つ Loop 'html ドキュメント BODY オブジェクトからデータをセルへ転記(代入)する。 'Document.Body.All.Tags("P") で Pタグのデータのみ処理する duumi = 5 yLINE = duumi 'セット開始の行を代入する xLINE = 0 FLG1 = False y2LINE = Val(SH1.Range("F15")) + 1 'SH1 SH3.Range("B1").Select For Each objA In objIE.Document.Body.All If Left(objA.InnerText, 1) = "*" Then '終了条件 FLG1 = False Application.ScreenUpdating = True End If If FLG1 = True And objA.TagName = "SMALL" Then 'Cells(yLINE, "A") = yLINE - 15 'n番目を計算でセットする 'Cells(yLINE, "B") = "'" & TypeName(objA) 'TypeNameでオブジェクトのタイプを表示 'Cells(yLINE, "C") = "'" & objA.TagName 'タグの名前 'Cells(yLINE, "D") = "'" & Left(objA.OuterHTML, 256) '頭から256文字だけセット 'Cells(yLINE, "E") = "'" & Left(objA.InnerText, 256) 'Cells(yLINE, "F") = "'" & Left(objA.InnerHTML, 256) If xLINE = 0 Then If yLINE = duumi Then SH3.Cells(yLINE, "B") = Left(objA.InnerText, 256) Else SH3.Cells(yLINE, "B") = DateValue(Trim(objA.InnerText)) SH2.Cells(y2LINE, "A") = DateValue(Trim(objA.InnerText)) End If ElseIf xLINE = 1 Then SH3.Cells(yLINE, "C") = Left(objA.InnerText, 256) ElseIf xLINE = 2 Then SH3.Cells(yLINE, "D") = Left(objA.InnerText, 256) ElseIf xLINE = 3 Then SH3.Cells(yLINE, "E") = Left(objA.InnerText, 256) ElseIf xLINE = 4 Then SH3.Cells(yLINE, "F") = Left(objA.InnerText, 256) If Val(SH1.Range("F15")) + 1 = y2LINE Then Else SH2.Cells(y2LINE, "B") = Left(objA.InnerText, 256) End If End If xLINE = xLINE + 1 If xLINE >= 5 Then xLINE = 0 yLINE = yLINE + 1 'セット位置(行)を+1する y2LINE = y2LINE - 1 End If End If If objA.TagName = "SMALL" And Left(objA.InnerText, 256) = "為替時系列データ" Then FLG1 = True '開始条件 Application.ScreenUpdating = False End If DoEvents Next objIE.Quit 'IEを閉じる Set objIE = Nothing 'Set WBK = ActiveWorkbook 'SH2.Range("A4:A55").Select 'Selection.NumberFormatLocal = "yy/dd/mm" 'ActiveWindow.SmallScroll Down:=-17 'SH2.Range("B4:B55").Select 'Selection.NumberFormatLocal = "0.0000_);[赤](0.0000)" Set SH1 = Nothing Set SH2 = Nothing Set SH3 = Nothing Set WBK = Nothing End Sub
お礼
tomo316さま ご教示ありがとうございました。 VBのプログラム、簡単なものは組んだことがありますが、ほとんど挫折状態です。この場合、対象のデーター形式などの知識も要りそうですね、単純に丸写しとは行かない様なので考えてしまいます。でも、一度組んでしまえば後は、楽になるなるわけだし・・・・
エクセルの標準機能にダウンロードは有りません。 インターネットエクスプローラ等のブラウザを使用して、当選番号のページを開き、番号をコピーしてからエクセルに貼り付けましょう。
お礼
edmin2004様 やはり、関数のようなものは無いのですね。 地道にやってみます。 ありがとうございました。
お礼
dodemoii様 早速のご教示ありがとうございます。 今までは、シフトキーとマウス移動、右クリック、コピーしてエクセルにペーストしていました。キー操作2回で移せると随分楽になるような気がします。 ありがとうございました。