[[20161117141949]] 『セル内にハイパーリンク先の画像を表示する方法』(fumi) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル内にハイパーリンク先の画像を表示する方法』(fumi)

皆さま、いつもお世話になっております。

セル内にハイパーリンク先の画像を表示する方法について
ご教示いただければと思います。

知人より、ヤフオクのオークションIDを入力し、
「画像取得」ボタンを押すと、当該IDに係る画像を最大10件取得し、
取得した画像は取得枚数に応じて、「1」「2」「3」とD列からM列にかけて
表示され、当該数字にはハイパーリンクが設定されていて、
当該数字を押すと、リンク先の画像がブラウザに表示されます。

また、「保存」ボタンというものもあり、当該保存ボタンを押せば、
指定のフォルダに取得した画像を保存でき、「リンク」ボタンを押せば、
当該ヤフオクの商品ページへのリンク先をブラウザで表示できる
Excelファイルをいただきました。

イメージは以下のような感じです。
B5列から、ヤフオクIDを入力、C5列以降は、「画像取得」ボタンを押した後、
画像を取得できたら「保存」ボタンが表示されます。
D列からM列は、5行目より、取得した画像の枚数に応じて、「1」「2」「3」と表示されます。
また、N列には、「リンク」が表示されます。

 A B         C    D E F G H I J K L M N   O
1  画像取得
2
3
4 ヤフオクID 保存 画像                リンク
5 12345671   保存 1 2 3        リンク
6 89101112  保存 1          リンク
7 12345647  保存 1 2 3 4 5      リンク

上記のような仕様で、
あと一点、取得した画像の「1」と表示される
ハイパーリンク先の画像1枚だけ、
「リンク」の横のO列(開始行は5)のセル内に表示したいと考えております。

いろいろ検索してみましたが、それらしきものが見当たらず、
こちらにて質問させていただきました。

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

< 使用 Excel:Excel2016、使用 OS:Windows10 >


知人にもらったブックならば、知人に直してもらってください。第3者に頼むのは、筋違いです。
(貴方が自分で直してみて、どうしても思ったようにならず、検索しても、知人に聞いても解決できないような場合、コードと具体的なデータ例を書いて、改めて質問してみてください)
(???) 2016/11/17(木) 15:35

Sub main()
    Dim rg As Range
    Set rg = Cells(5, 4)
    Do While rg.Value = 1
    ActiveSheet.Shapes.AddPicture rg.Hyperlinks(1).Address, True, False, rg.Offset(, 11).Left, rg.Offset(, 12).Top, rg.Offset(, 11).Width, rg.Offset(, 11).Height
    Set rg = rg.Offset(1)
    Loop
End Sub
(mm) 2016/11/17(木) 15:53

mm様、ありがとうございます!

いただいた内容を張り付けてみましたが、
エラー表示もなく、何も起こりませんでした…。
上記でハイパーリンク先の表示が、「「1」「2」「3」と表示されます。」と記載しましたが、
こちらは全て丸数字になります。
当初は丸数字で書いたのですが、こちらで正しく表示されなかったので、
「1」「2」「3」と記載しました。
そこで、上記のコードの4行目の「Hyperlinks(1).Address」の箇所の「1」を丸数字の「1」にすれば
よいのかと思い、修正しましたが、こちらでもうまくいきませんでした。
私が伝えるべきことが全て伝えられていないため、うまく表示されないのかと思います。
せっかく回答いただいたのに、うまくいかず申し訳ありません。

(fumi) 2016/11/17(木) 16:47


Sub main()
    Dim rg As Range
    Set rg = Cells(5, 4)
    Do While rg.Value <> ""
    ActiveSheet.Shapes.AddPicture rg.Hyperlinks(1).Address, True, False, rg.Offset(, 11).Left, rg.Offset(, 11).Top, rg.Offset(, 11).Width, rg.Offset(, 11).Height
    Set rg = rg.Offset(1)
    Loop
End Sub
(mm) 2016/11/17(木) 17:18

mm様、ありがとうございます!!
見事に表示されました!!
こちらのマクロのおかげで膨大な時間を節約することができます!
貴重なお時間をいただき、本当にありがとうございました!

(fumi) 2016/11/17(木) 17:29


mm様、「http:」で始まるURLについては無事に取得できたのですが、
https:」で始まるURLについては同じマクロでは取得はできない感じでしょうか?
よろしくお願いいたします!
(fumi) 2016/11/17(木) 18:12

引き続き上記の件ですが、
https:」で始まるURLについて、スプレッドシートでimage関数を使ってみると、
スプレッドシートでは表示されました。
できれば、エクセルで表示させたいと思いますので、
よろしくお願いいたします!
(fumi) 2016/11/18(金) 10:03

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.