Tweet |
EXCEL2007では、「オブジェクトの選択」、つまり矢印ボタン(ホーム→検索と選択 内にある)でイメージ・オートシェイプなどを一括で選択できますが、コントロールオブジェクトではそれが出来ません。(ボタンとかリストボックスとか)
デザインモードにしても同じです。
これを、どれも(イメージもオートシェイプも含めて)残さなくて良いから一括で削除するには、正直言って今の段階では
VisualBasic for applicationしかありません。
そこで、以下のVBAスクリプトを利用してみました。
For Each s In ActiveSheet.Shapes
s.Select
s.Delete
Next
for each?で現在のアクティブにしているシート上のオブジェクトを1個づつ選択し、削除。
これを繰り返す。
手動(tabキー→delキー)では、再描画がかかるので非常に遅いですが、このスクリプトだとほぼ一瞬。
いままでHTMLからの情報貼り付けで苦労していましたが、これでものすごく楽に、そして安定しました。
ついでにHTMLをテキストにして貼り付ける(HTMLの属性削除)、
ActiveSheet.PasteSpecial NoHTMLFormatting:=True
を使って今後そんなオブジェクトが貼りつかないようにしました。
やっと・・・やっと・・かなりの部分で目的としていた機能が実装できたかな・・・。
- Newer: センター試験、リスニングでは去年の不具合件数の半分に。
- Older: 東京駅に「歩くだけで発電」、試験運用へ
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- https://pc-diary.com/movt_direc_post/mt-tb.cgi/1150
- Listed below are links to weblogs that reference
- EXCEL2007で押しボタンとかを一括で削除する方法 from PC破壊日記的ブログ