• 締切済み

ExcelVBAのフォーム上のimageコントロールにWeb上にある画

ExcelVBAのフォーム上のimageコントロールにWeb上にある画像を表示したいのですが、VBE上のプロパティで設定するときは表示されるのに、プログラム上で設定するとエラーが出ます。 Image1.Picture = LoadPicture(strURL)で設定しましたが無理でした。 どうやら、LoadPicture関数での設定では駄目なようです。 VBE上では出来るので、何かしら方法があると思うのですが、いかがでしょうか? よろしくお願いいたします。

みんなの回答

回答No.1

>ExcelVBAのフォーム上のimage~Web上にある画像を表示したい そのままだと無理です。 イメージコントロールに通信機能はありません。 ftp://やhttp://などではじまるところはイメージコントロールは参照を行う事ができません。 ローカル端末などに落として、画像を使用する必要があります。 VB6のサービスパックを利用し、画像のダウンロードは簡単に行えます。 フォームデザイン画面より → ツール →→ その他のコントロール →→→ Microsoft Internet Transfer Control 6.0 ↓はVB6での説明ですが、VBAでも応用できるものです。 http://hanatyan.sakura.ne.jp/vbhlp/urltodl.htm ↓それを利用したサンプル Sub ダウンロード(p_strURL As String, p_strFileName As String)   Dim l_bytHtml()   As Byte   Dim l_intFileNo   As Integer      l_intFileNo = FreeFile      l_bytHtml() = Inet1.OpenURL(p_strURL, icByteArray)   Open p_strFileName For Binary Access Write As #l_intFileNo     Put #l_intFileNo, , l_bytHtml()   Close #l_intFileNo End Sub Private Sub UserForm_Initialize()   Dim l_strURL As String   l_strURL = "http://okwave.jp/images/logo/logo.jpg"      Dim l_strFileName As String   l_strFileName = "C:\logo.jpg"      Call ダウンロード(l_strURL, l_strFileName)   Me.Image1.Picture = LoadPicture(l_strFileName) End Sub

すると、全ての回答が全文表示されます。

関連するQ&A