Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7全般 : Excel 2010)
vba でファイルダウンロード
投稿日時: 18/01/18 18:21:16
投稿者: ghost

vba で、こちらのurl からファイルのダウンロードができなくて困っております。
https://www.m2j.co.jp/market/historical.php

https://www.m2j.co.jp/market/pchistry_dl.php?ccy=1&type=d
をダウンロードしたいのですが、どうしたらよいでしょう?
勉強のためにも、いろいろアドバイスいただけるとうれしいです。

回答
投稿日時: 18/01/18 19:36:20
投稿者: WinArrow
投稿者のウェブサイトに移動

どのようなコードを記述しているんですか?

投稿日時: 18/01/18 19:50:24
投稿者: ghost

説明が足りず申し訳ありませんです。
URLDownloadToFile を使ってできないか試行錯誤しておりました。
ただ、質問したケースですと取得したいファイルの直接のurl がわからないのでうまくいきませんでした

回答
投稿日時: 18/01/18 20:23:57
投稿者: WinArrow
投稿者のウェブサイトに移動

URL(ファイル名)が分からないということは、
施行錯誤したってうまくいくわけないよ
 
でも
試行錯誤
の過程と結果
を説明しないと、アドバイスできないよ!
 
URLが分かってから、やってみましたか?
 
それから、その状況を踏まえて再質問しましょう。
 
 

回答
投稿日時: 18/01/18 20:26:02
投稿者: WinArrow
投稿者のウェブサイトに移動

ファイル名は
USDJPY.csv
です。

投稿日時: 18/01/18 22:20:30
投稿者: ghost

WinArrow さん
ご助言ありがとうございます。
説明が下手なばかりにご面倒をおかけして申し訳ないです。
 
urldownloadtofile(0, https://www.m2j.co.jp/market/pchistry_dl.php?ccy=1&type=d, 保存先Dir, 0, 0)
とするのですが、戻り値が-2146697210 となってしまいます。
 
もしも何かご存知でしたら、お力添えいただけると大変助かります。

回答
投稿日時: 18/01/18 22:36:52
投稿者: WinArrow
投稿者のウェブサイトに移動

>https://www.m2j.co.jp/market/pchistry_dl.php?ccy=1&type=d
は、フォルダ名ではありません。
「?」の前までが、URLの中のフルパスです。
 
そして
>pchistry_dl.php
は、ファイル名ですが、同時にプログラム名です。
 
もう一つ、そして
>ccy=1&type=d
は、そのプログラムに与える、パラメータです。
 
このパラメータには、プログラムに対する約束事の意味があり、
外部の人には、公開されていないと思います。
プログラムは、このパラメータを解析して、サーバーに置いてあるファイルを
クライアントPCに転送しているのです。
 
ファイルの置き場所など、このページに、公開されているかもししれませんが、
私にはわかりません。
 
推測ですが、ファイルの置き場所は、サーバ管理者の都合で変更されることがあり得ます。
例え分かったとしても、VBAコードの中に記述するのは、リスクが伴います。
 
手操作でダウンロードして、そのファイルを扱うように方針を変更したほうが無難と思います。
 
 

投稿日時: 18/01/18 22:40:12
投稿者: ghost

WinArrow さん
ご丁寧にありがとうございました。
勉強になりました。

回答
投稿日時: 18/01/19 22:46:57
投稿者: simple

取得できないのはコーディングの問題ではなく、
無料で運用情報をスクレイピングすることは当該サイトの
方針として認めていないのではないですか?
(返って来るヘッダー情報を見た上での想像です)
手作業で取得できる範囲に限定しているのでしょう。
 
ですから、自動で取得できる方法をご存じの方が仮にいたとしても、
それをこうした場で公開することは、
当該サイトの管理方針とバッティングするので、適切ではないと思います。

投稿日時: 18/01/19 23:41:38
投稿者: ghost

simple さん
ご助言ありがとうございます。
 
確かに少々うかつであったように思いました。
岡崎の図書館の例のように、悪意がなくて相手側に問題があったと思われても、問題になったケースを思い出しました。
規約等を確認せずに行うのは非常識で無作法と気づかされました。
 
ご指摘感謝いたします。

トピックに返信