
いつもお世話になっております。
エクセルVBAを使用し色々と試しているのですが
うまく回らなく質問させて頂きます。
記述している内容は下記ですが,ネットで拾い集め記述していますが
画像が保存されません。URL自体に誤りはないため"ダウンロード完了!"と表示は出ますが
実際にダウンロードはされてない状態です。
記述に誤りが無いか,お教え頂ければと思います。
Option Explicit
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Sub Download_File()
Dim lngRes As Long
Dim strURL As String
Dim strPath As String
strPath = "C:\"
strURL = "https://www.google.com/images/branding/googlelog …
lngRes = URLDownloadToFile(0, strURL, strPath, 0, 0)
If lngRes = 0 Then
MsgBox "ダウンロード完了!"
Else
MsgBox "ファイルをダウンロードできませんでした"
End If
End Sub
実際にはここへWSHを用いてデスクトップに保存できるように
するつもりでもあります。宜しくお願い致します。
環境:Win10 Enteprise
Office 2016
No.5ベストアンサー
- 回答日時:
>strPath = "C:\"
通常、Win10の設定で、Cドライブ直下に管理者設定などをしないで、ダウンロードは出来ないと思います。
合わせて、WindFaller氏の回答にあるようにファイル名が必要です。
>"ダウンロード完了!"と表示は出ます
抜粋:ファイルを作成できず、ダウンロードがキャンセルされた場合でも、 URLDownloadToFileは S_OKを返します。
Cドライブ直下を変更した例
例場合、対象がjpgと明確なので、拡張子をjpgにしています。
デスクトップにTest.jpgがダウンロードされます。
strPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Test.jpg"
strURL = "http://arch.casio.jp/image/dc/images/fh20_galler …
No.4
- 回答日時:
lngRes = URLDownloadToFile(0, strURL, strPath, 0, 0)
strPath とは書いても、そこは、ファイル名付きのはずですね。
StrRev あたりでファイル名は取得するか、日付ファイル名とかにするか、それは考えてください。
VBAでは、\\は不要です。
> 実際にはここへWSHを用いてデスクトップに保存できるように
それは、また厄介なことでしょうけれども、とりあえず、それは別の話でしょう。
No.3
- 回答日時:
"C:\"に保存できないのでドキュメントフォルダに保存されてませんか?
C:\以外の
strPath = "C:\○○"
で試してみては?
No.2
- 回答日時:
こちらを見ると、
MSDN - URLDownloadToFile function
https://msdn.microsoft.com/ja-jp/windows/ms77512 …
ダウンロード成功時の返り値は「S_OK」だそうなので、
If lngRes = S_OK Then
MsgBox "ダウンロード完了!"
として見るとか。
また、英文のテキストはよう読みませんが、ファイルが作れない時、ダウンロードがキャンセルされた時もS_OK出すように読めるので、
strPath = "C:\test.txt"
と、具体的なファイル名を指定しては。
あるいは、VBで良くあるけど、\はエスケープシーケンスだと解釈されるので、"c:\\test.txt"とかでなきゃマズイとかって事もあるかも?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
URLDownloadToFile でダウンロード不可
Visual Basic(VBA)
-
ExcelVBAでリンク先の対象のファイルを保存
Visual Basic(VBA)
-
VBA ログイン後csvファイルをダウンロードする
Excel(エクセル)
-
-
4
URLDownloadToFileのコピペで64ビットで使用するにはに更新必要とあり修正方法?
Visual Basic(VBA)
-
5
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
6
VBAでwebの画像を名前を付けて保存する方法
その他(プログラミング・Web制作)
-
7
Excel マクロでShearePoint先のフォルダ指定
Excel(エクセル)
-
8
VBAでコントロールのハンドルを取得したい
Visual Basic(VBA)
-
9
2つ以上の変数を比較して最大数を求めたい
Word(ワード)
-
10
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
-
11
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
12
エクセルVBAでMHTMLで保存したWebページをGoogle Chromeで表示
Visual Basic(VBA)
-
13
オートフィルターをかけ、#N/A以外で絞込みするVBA記述をご教示ください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダウンロードサイト作成方法に...
-
java_run.batがダウンロードで...
-
WEB上でPDF閲覧のみにしたいです。
-
Excelで、社外秘(閲覧のみ)と...
-
HTMLからフォルダを開きたい
-
見れる方・・
-
objectタグを使って背景を透明...
-
医療画像(Windows用)をMacで...
-
IEでテキストの文字が一部だけ...
-
iPadの標準ブラウザでローカルH...
-
小窓の出し方
-
Dreamweaverでページ全体が文字...
-
中埜酢店 のよみかた
-
ホームページのソースが横長に...
-
サーバー内のフォルダにある写...
-
リンク先に日本語フォルダがあ...
-
FC2にアップしたホームページの...
-
VBAで#Regionに変わるものは無...
-
form action="#"
-
【VB.NET】WebページのDOMソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webサイトから、txtファイルを...
-
HTMLページが勝手にダウンロー...
-
【HTML】1クリックで複数ファイ...
-
java_run.batがダウンロードで...
-
URLDownloadToFile でダウンロ...
-
VBA URLDownloadToFileについて
-
○○.ico→○○.jpgやbmpなど...
-
イラストレーターのaiファイル...
-
HTTP機能で、サーブレットでPDF...
-
ファイルをダウンロードすると...
-
ホームページビルダー8を使って
-
ZIPの拡張子のついたURLがダウ...
-
WEB上でPDF閲覧のみにしたいです。
-
リッチテキスト入力した内容(ti...
-
VC++でHTTPプロトコルを用いた...
-
VBAでIEのファイルを自動的にダ...
-
無償で使えた Turbo D...
-
Win64bitのPHP5.4をダウンロー...
-
.torrentについておしえてください
-
javascriptでファイルダウンロ...
おすすめ情報