• 締切済み

[Excel VBA]クリップアートを識別する方法について

以下の様な方法で自作したクリップアートをExcelシートに複数貼り付け、 クリップアートの種類毎に個数を検出するVBAを作成したいと思っています。 Excel VBAで実現可能か、また可能であればどの様にすれば良いか 是非教えて下さい。 (1) オートシェイプを使って作成した幾つかの図形を   クリップオーガナイザへ登録。   (クリップアートとして登録) (2) 登録したクリップアートをドラッグしてシート上に貼り付ける。   (複数種のクリップアートを複数貼り付け) (3) Excel VBAを使って、貼り付けられたクリップアートの種類毎の   個数を検出する。

みんなの回答

  • chaigon
  • ベストアンサー率50% (4/8)
回答No.2

ヘルプなど調べてみたり、デバッグツールのウォッチ式でオブジェクトのプロパティを見てみましたが、それらしきプロパティがありませんね。クリップアートを登録する際に説明を入力する欄がありましたが、その説明欄に相当するプロパティが見つかれば簡単なんですけどね。 すみません力不足で。 ちょっと強引ですが、こんな方法があります。 クリップアートをシート上に配置した後、「オブジェクトの書式設定」メニュー→「Web」タグ→「代わりに表示する文字列」欄に、個々のクリップアートを識別する文字列を入力します。この入力した欄に相当するプロパティをVBAからアクセスすれば、個々のクリップアートを識別できます。そのプロパティはAlternativeTextです。 これくらいの事しかわかりません・・・。

evarin
質問者

お礼

色々と調べて下さり、ありがとうございました。 私もAlternativeTextを使うかなぁ…と思っていたのですが、他に手間の掛からない良い案があれば! と思い投稿させて頂いた次第です。 お手数をお掛けしました。本当にありがとうございました。

  • chaigon
  • ベストアンサー率50% (4/8)
回答No.1

Excel VBAは結構やっているほうですが、クリップアートを扱ったことがないので、期待にお応えできる回答ではないかもしれませんが、そのときはご了承ください。 クリップアートの種類とはなんですか?その種類はクリップアートに標準的に定められた種類ですか?であれば、クリップアートのオブジェクトの種類を表すプロパティがあるかもしれませんので、そのプロパティを探してみてください。そのプロパティが見つかれば、そのプロパティの数を数えるだけです。

evarin
質問者

お礼

回答、ありがとうございます。 クリップアートの種類というのは、「クリップアートの挿入」を選択した際に、画像の一覧の様なものが 表示されると思いますが、その中にある、例えばデスクトップパソコンやノートパソコンなどの画像のことです。 今回目的としているのは、独自でオートシェイプの四角や線を組み合わせてひとつの画像を作成し(PNGファイル)、 それをクリップアートとして登録してからの利用を考えています。 この様な説明ですがいかがでしょうか?