アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。VBAについてほとんど理解していないので、ピントはずれな質問かも知れませんがよろしくお願いします。

エクセルのシートに四角形のオートシェイプが10個ほどあります。このなかの、1つを選択して色やパターンなどの属性を取得するのに次のように書いてみました。

Sub test()
MsgBox Selection.ShapeRange.Fill.ForeColor.SchemeColor
MsgBox Selection.ShapeRange.Fill.Patterned
End Sub

1行目の色についてはメッセージボックスに表示されるのですが、パターンが表示されません。

パターンの属性を取得する方法を教えてください。
エクセルのバージョンは:EXCEL2002です。

よろしくお願いします。

A 回答 (2件)

Selection.ShapeRange.Fill.Patternedは、メソッドなので、この様な使い方で値を取得する事はできません。


自動記録してみると、
Selection.ShapeRange.Fill.Patterned msoPatternShingle
等となり、= が無いことが分かります。
これは、Selection.ShapeRange.Fill.Patterned(msoPatternShingle)
とも書けます。
パターンの属性は、
MsgBox Selection.ShapeRange.Fill.Pattern
で値が取得できます。
いじってみると、
Selection.ShapeRange.Fill.Pattern = msoPattern10Percent
は、「値の取得のみが可能なプロパティに値を設定することはできません」というエラーになりました。
値の設定はメソッドPatternedで行い、取得はプロパティPatternで行う様になっていることが分かります。
    • good
    • 0
この回答へのお礼

mitarashiさん 早速解答していただきありがとうございました。
VBAはまだまだ初心者なのでこれから勉強して行きたいと思います。

無事にパターンの値が取得できました。
でも、値が"msoPatternShingle"ではなく数字なのですね。ちょっと驚きました。

ありがとうございました。

お礼日時:2009/07/25 20:27

MsgBox Selection.ShapeRange.Fill.Pattern



としてみてください。
    • good
    • 0
この回答へのお礼

早速、解答していただき、ありがとうございました。
今後ともよろしくお願いします。

お礼日時:2009/07/25 20:29

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