[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートシェイプの設定』(しまぶ〜)
今、自分の所にあるパソコンで、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.