以下の様な方法で自作したクリップアートをExcelシートに複数貼り付け、
クリップアートの種類毎に個数を検出するVBAを作成したいと思っています。
Excel VBAで実現可能か、また可能であればどの様にすれば良いか
是非教えて下さい。
(1) オートシェイプを使って作成した幾つかの図形を
クリップオーガナイザへ登録。
(クリップアートとして登録)
(2) 登録したクリップアートをドラッグしてシート上に貼り付ける。
(複数種のクリップアートを複数貼り付け)
(3) Excel VBAを使って、貼り付けられたクリップアートの種類毎の
個数を検出する。
No.1ベストアンサー
- 回答日時:
Excel VBAは結構やっているほうですが、クリップアートを扱ったことがないので、期待にお応えできる回答ではないかもしれませんが、そのときはご了承ください。
クリップアートの種類とはなんですか?その種類はクリップアートに標準的に定められた種類ですか?であれば、クリップアートのオブジェクトの種類を表すプロパティがあるかもしれませんので、そのプロパティを探してみてください。そのプロパティが見つかれば、そのプロパティの数を数えるだけです。
回答、ありがとうございます。
クリップアートの種類というのは、「クリップアートの挿入」を選択した際に、画像の一覧の様なものが
表示されると思いますが、その中にある、例えばデスクトップパソコンやノートパソコンなどの画像のことです。
今回目的としているのは、独自でオートシェイプの四角や線を組み合わせてひとつの画像を作成し(PNGファイル)、
それをクリップアートとして登録してからの利用を考えています。
この様な説明ですがいかがでしょうか?
No.2
- 回答日時:
ヘルプなど調べてみたり、デバッグツールのウォッチ式でオブジェクトのプロパティを見てみましたが、それらしきプロパティがありませんね。
クリップアートを登録する際に説明を入力する欄がありましたが、その説明欄に相当するプロパティが見つかれば簡単なんですけどね。すみません力不足で。
ちょっと強引ですが、こんな方法があります。
クリップアートをシート上に配置した後、「オブジェクトの書式設定」メニュー→「Web」タグ→「代わりに表示する文字列」欄に、個々のクリップアートを識別する文字列を入力します。この入力した欄に相当するプロパティをVBAからアクセスすれば、個々のクリップアートを識別できます。そのプロパティはAlternativeTextです。
これくらいの事しかわかりません・・・。
色々と調べて下さり、ありがとうございました。
私もAlternativeTextを使うかなぁ…と思っていたのですが、他に手間の掛からない良い案があれば!
と思い投稿させて頂いた次第です。
お手数をお掛けしました。本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 複数のExcelブックのシート1の内容を1つのExcelブックにコピー貼り付けたいのでvbaコードを 7 2023/02/10 23:20
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
VBScriptでの起動済みのIEの操作
-
textBox isNot Nothing とは
-
EXCEL VBA COLLECTIONオブジェ...
-
AccessVBAで「dim dbs as datab...
-
VB6 エクセルに画像貼り付け
-
VBAについてです。 初心者です...
-
ExcelのVBAで3-D等高線のXYZ回...
-
VBAでWebページにセルの値を入力
-
上下の位置揃えについて
-
InternetExplorer.Application...
-
ある文字列が全て数字であるか...
-
VBで引数にDictionaryオブジェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報