Excel VBA 質問スレッド №1270 (未解決)

指定URLから画像をダウンロードしてシート(セル)に貼り付け

投稿者 : HR     投稿日時 : 2023/02/10(Fri) 23:01:10     OS : Windows 10     EXCEL : Office 365
当方エクセルVBAの知識はほぼ無く、やりたい事をWEB検索し応用しながらデータベースを作っています。
現在作成しているのは
①日報をgoogle formで入力(その日の業務内容を質問形式にして入力、証拠画像のアップロード)
②入力されたデータをスプレッドシート→パワークエリを使ってエクセルに変換
③VBAを使って1行の日報データを1ページの日報に転記
をしています。textデータの転記までは出来ましたが、画像を取り扱うVBAが当方には理解が出来ず、難しくて止まってしまいました。

google formで画像をアップロードさせていますが、スプレッドシート/エクセルで読み込むと画像保存先のURLのみ記載されています。
このURLから画像をダウンロードしてシート(指定セル)に貼り付けたいのですが、どなたかお助けお願いいたします。
この動作がVBAで可能かどうかもわかりません。


よろしくお願いいたします。

スポンサーリンク
[返信 1] Re : 指定URLから画像をダウンロードしてシート(セル)に貼り付け
投稿者 : 通行人     投稿日時 : 2023/02/11(Sat) 07:31:02
<vba 画像ダウンロード> <vba 画像挿入> で検索してみてはいかがか。

[返信 2] Re : 指定URLから画像をダウンロードしてシート(セル)に貼り付け
投稿者 : tek     投稿日時 : 2023/02/11(Sat) 08:14:43
マクロの記録
B2セルを選択
(リボンタブ)挿入-図-画像-オンライン画像(o)→動物を選択→左から3番目を選択→挿入(I)
 記録終了
にて以下のコードが記録されます

Sub Macro1()
    Range("B2").Select
    ActiveSheet.Pictures.Insert( _
        "https://c.pxhere.com/photos/f4/69/lemur_animal_madagascar_zoo-189653.jpg!d"). _
        Select
End Sub

が、古いタイプのコードで、Microsoftドキュメントにも無いので以下がお勧めです。

Sub Macro2()
    Dim sh As Worksheet
    Dim r As Range
    Dim url As String
    
    url = "https://c.pxhere.com/photos/f4/69/lemur_animal_madagascar_zoo-189653.jpg!d"
    Set sh = ActiveSheet        '指定のシート
    With sh
        Set r = .Range("B2")    '指定のセル
        'https://learn.microsoft.com/ja-jp/office/vba/api/excel.shapes.addpicture
        .Shapes.AddPicture url, msoFalse, msoTrue, r.Left, r.Top, -1, -1
    End With
End Sub

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2026-04-04 15:42:32 )
タイトルとURLをコピーしました