[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートシェイプの設定』(しまぶ〜)
今、自分の所にあるパソコンで、Excel2007とExcel2003 があります。Excel2003で作ったものをExcel2007で開い て印刷をするとオートシェイプで作った四角形などは、 印刷位置が必ずずれてしまいます。 今、2007でずれないようにするため、オートシェイプの 書式設定内にあるプロパティのセルに合わせて移動やサ イズの変更をしないにチェックをいれると何とか問題は 改善されるのですが、それをマクロで一発で解決したく マクロの記録で記録してみたのですが、これをまだオー トシェイプを増やしてもボタン一つで解決できるように したいのです。下記の数字だけを変更すればなんとかな るのでしょうか?また、変更するにしても途中の番号も 入っていて下手にいじることが出来ません。 どうすればいいのかどなたか教えてもらえませんか? Private Sub CommandButton2_Click() ActiveSheet.Shapes("Rectangle 334").Select ActiveSheet.Shapes.Range(Array("Rectangle 334", "Rectangle 339")).Select ActiveSheet.Shapes.Range(Array("Rectangle 334", "Rectangle 339", _ "Rectangle 348")).Select ActiveSheet.Shapes.Range(Array("Rectangle 334", "Rectangle 339", _ "Rectangle 348", "Rectangle 337")).Select ActiveWindow.SmallScroll Down:=6 ActiveSheet.Shapes.Range(Array("Rectangle 334", "Rectangle 339", _ "Rectangle 348", "Rectangle 337" _ , "Rectangle 338")).Select ActiveSheet.Shapes.Range(Array("Rectangle 334", "Rectangle 339", _ "Rectangle 348", "Rectangle 337" _ , "Rectangle 338", "Rectangle 349")).Select With Selection .Placement = xlFreeFloating .PrintObject = True End With End Sub ちなみに、今あるオートシェイプの四角形の番号は6つあり、334、337、338 339、348、349です。
Private Sub CommandButton2_Click() With ActiveSheet.DrawingObjects .Placement = xlFreeFloating .PrintObject = True End With End Sub
こういうことですか?
ichinose
ありがとうございます。そういうことです。 イメージ通りでした。 すみません。自分なりに勉強したいのですが、 DrawingObjectsとは、すべてのオートシェイプ のことを指す単語なのですか?それともまだ他 にも意味があるのですか? よろしくお願いします。 (しまぶ〜)
>DrawingObjectsとは、すべてのオートシェイプのことを指す単語なのですか? DrawingObjectsとオートシェイプは、次元が異なる名称です。 もっとも私もExcelを使い始めたのがExcel2000からなので古いことはあまり知らないのですが・・・。 DrawingObjectsというのは、Excel95以前には、 シート上のすべての図形を扱えるオブジェクトでした。 Excel97から、図形を扱うオブジェクトとして、Shape (コレクションをShapes、DrawingObjectsに匹敵するコレクション) というクラスが登場します。 DrawingObjectsとshapes、同じように図形を扱うオブジェクトですが、別のオブジェクトです。 このShapeというオブジェクトの種類の一つにオートシェイプ (アプリケーションにあらかじめ用意されている図形のこと。 長方形や円などの基本図形、さまざまな線種、コネクタ、ブロック矢印、 フローチャート、星とリボン、吹き出しなどがある) というものがあるのです。typeというプロパティで識別できます。
どこかでも書きましたが、
シート上に見えている図形の集まり=DrawingObjects シート上に見えている図形の集まり=Shapes
ではありません、ここを理解してください。オブジェクトは、図形そのものではありません。
DrawingObjectsもShapesも図形を操作するインターフェースにすぎません。
Excel97からは、図形を操作する新しいインターフェース(Shapes)が出来たのですから、 これを使えばよいのです。 が、 新しい機能も追加されているのですが、バグもあって、 図形を操作するのに中々Shapes単独では、実現できないこともあるということが 分かってきました。そこでShapesでは出きないことを古いインターフェースである DrawingObjectsを使って行うようにして、うまく使い分けているのが現状です。
よって、DrawingObjectsもShapesもすべての図形を含んでいる と言えると思います。
ichinose
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.