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

はじめまして。
今、日証金から日々の融資・貸株残高のデータ(CSV)を自動的に
ダウンロードしてExcelに取り込むというマクロを作ろうとして
いるのですが、うまくいきません。


具体的には、

range("A1").value = "http://www.jsf.co.jp/de/stock/dlcsv.php?target=b … & format(now,"YYYY-MM-DD")
range("A1").select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

しかし、これだと「ファイルを保存」のWindowがあがってしまうので
処理が途中で止まります。

VBAで、あらかじめ指定したディレクトリに、指定したURLからファイルを自動的にダウンロードする
には、どのようにすればよいのでしょうか?

A 回答 (4件)

ちょっと無茶ですね・・・。


APIという機能を使う事になります。
これでVBAの機能を拡張して新たな機能を取り込む事ができるようになります。


http://www.accessclub.jp/bbs5/0009/vba2406.html
http://www.ken3.org/vba/backno/vba120.html
    • good
    • 2
この回答へのお礼

ありがとうございます!
APIを使ってうまくいきました!

お礼日時:2005/08/24 10:07

INETコントロールをフォームに貼り付けて使用する。



VBAでも動作確認済。

http://www.cqpub.co.jp/hanbai/books/18/18771_VBA …
上記を確認してください。
    • good
    • 0

もう解決したようなので余計かも知れませんが、APIを使わずともできる方法もあるので参考までに。



実行文を示したいところですが、なにぶん長いものなので、以下の操作を"マクロの記録"で記録したものを見ていただけると幸いです。
データ → 外部データの取り込み → データの取り込み でファイルを開くダイアログが出現します。ここにアドレスを打ち込むと、CSVファイルをインポートするときと同じダイアログが出現します。ここで取り込むときの設定をして、完了すると取り込めると思います。
元のCSVをファイルとして残したい、というのであれば、上記の取り込み時に素の状態(カンマで区切らず、文字列として取り込んだ状態)で取り込んだものをCSVファイルで保存した後、1列目に対して データ → 区切り位置 で区切りなおして処理を続行すればよいと思います。(これも長い文なので、"マクロの記録"を使ってください。)

後は"マクロの記録"によって得られたコードを改変していけば自動的に取り込むものができると思います。
    • good
    • 3

下記URLのサンプルにあるmodWinInetDownLoadのモジュールを組み込んで


呼び出すようにすれば比較的簡単にできると思います。
    • good
    • 5

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

このQ&Aを見た人はこんなQ&Aも見ています