いつもお世話になっております。
エクセル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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
URLDownloadToFile でダウンロード不可
Visual Basic(VBA)
-
ExcelVBAでリンク先の対象のファイルを保存
Visual Basic(VBA)
-
エクセルをWEBからダウンロード時にファイル破損
Excel(エクセル)
-
-
4
URLDownloadToFileのコピペで64ビットで使用するにはに更新必要とあり修正方法?
Visual Basic(VBA)
-
5
VBA ログイン後csvファイルをダウンロードする
Excel(エクセル)
-
6
VBAでchromeを動かしたいのですが、エラー出ます。
その他(パソコン・スマホ・電化製品)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
ファイルをダウンロードすると必ず破損してしまいます
その他(パソコン・スマホ・電化製品)
-
9
VBAでwebの画像を名前を付けて保存する方法
その他(プログラミング・Web制作)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBAを使い、Web上からファイルをダウンロードしたいのですが・・・
Visual Basic(VBA)
-
12
Hyperlink関数をクリックしてくれるマクロ
Excel(エクセル)
-
13
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
Visual Basic(VBA)
-
14
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
17
ダウンロードしたファイルが「壊れています」
その他(パソコン・スマホ・電化製品)
-
18
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
19
エクセル ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか?
Excel(エクセル)
-
20
Excel 1セル当りの文字数が255文字を超える場合のADOからの取
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webサイトから、txtファイルを...
-
VBA URLDownloadToFileについて
-
ファイルをダウンロードすると...
-
【HTML】1クリックで複数ファイ...
-
IE操作時、ファイルのダウンロ...
-
CSVダウンロードができない
-
ZIPの拡張子のついたURLがダウ...
-
java_run.batがダウンロードで...
-
ASPでPDFファイルのサム...
-
HTMLでpdfファイルをリンク...
-
WebサーバにExcelファイルを置くと
-
WebBrowser でダイアログを自動...
-
画像ファイルのダウンロードで...
-
ダウンロード完了後メッセージ...
-
エクセルのファイルのダウンロ...
-
音楽をずらして鳴らしたい
-
自分で作成した音楽ファイルを...
-
カウンターについて
-
バックアップをとっていなかった為
-
Excelで、社外秘(閲覧のみ)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページでファイルをダウ...
-
HTMLページが勝手にダウンロー...
-
Webサイトから、txtファイルを...
-
java_run.batがダウンロードで...
-
VBA URLDownloadToFileについて
-
【HTML】1クリックで複数ファイ...
-
URLDownloadToFile でダウンロ...
-
IE操作時、ファイルのダウンロ...
-
XMLファイルのダウンロード
-
ファイルをダウンロードすると...
-
VBA IE操作でダイアログ表示後...
-
エクセルのファイルのダウンロ...
-
Excelのマクロについて教えてく...
-
選択した複数のファイルを、一...
-
ZIPの拡張子のついたURLがダウ...
-
rdfファイルをブラウザで表示さ...
-
iPhoneです。 Adobeフラッシュ...
-
リッチテキスト入力した内容(ti...
-
イラストレーターのaiファイル...
-
VC++でのZIPファイル解凍方法を...
おすすめ情報