プロが教えるわが家の防犯対策術!

Image1.picture = LoadPicture()
上のImage1を変数にすることはできますか?
WithやActiveSheet.Shapes.Range(Array(""))なども実行しましたが
同じエラーしか出ません
(オブジェクトは、このプロパティまたはメソッドをサポートしていません)

回答お願いします

A 回答 (1件)

シート上のImageコントロールですね。


名前やIndexで指定して変数に格納したいという事でしょうか。

Dim o As OLEObject
Set o = ActiveSheet.OLEObjects(1) 'or("Image1")など
o.Object.Picture = LoadPicture("")
..のように OLEObject 型に格納して、そのObjectプロパティのPictureプロパティで設定します。

Shape型で受ける場合は
Dim s As Shape
Set s = ActiveSheet.Shapes(1)
s.OLEFormat.Object.Object.Picture = LoadPicture("")

s.DrawingObject.Object.Picture = LoadPicture("")
..ともできますが、素直に前者の例のOLEObjectを使って
ActiveSheet.OLEObjects(1).Object.Picture = LoadPicture("")
としたほうが良いでしょうね。

#ver2010に限らずver2003などでも共通。
    • good
    • 0
この回答へのお礼

ありがとうございました
解決しました

お礼日時:2012/12/22 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています