Shape|ListBox|OptionButton|AddShape|OptionButton|ListBox|Shapes|Shape|
|ListFillRange|ListBox_Change|
회원님중의 한분께서 웹페이지를 인쇄를 하여 보도록
해 달라는 주문이 있어서
아차!!싶었다..웹페이지를 출력하여 보고 싶어 하는 분들이
있을것이라는 것을 왜 생각지 못했을까???
실은 앞에서 주욱 진행해온 페이지는 출력을 하기 곤란한것들이다
학습을 돕기위한 각종 웹페이지상의 자동화때문에
페이지의 출력을 감안하지 않은 구성이였다
그래서 앞으로의 페이지는 그런 상황을 감안하여 꾸며 나가보도록 하고
앞의 페이지는 나중에 시간이 될때...한장,한장 재구성을 해보도록 하자
관심갖고 열공하시는 분들...좋은 피드백 땡큐!!
콘트롤과 더불어 도형(Shape)오브젝트를 살펴보자
Shape오브젝트는 엑셀뿐만 아니라 오피스에서 공통으로 지원되는
오브젝트들이니..엑셀에서 이것을 잘 이해하고 활용할줄 안다면
파워포인트,워드등에서도 그냥 활용할수 있게 되는 물건이다
CommandBar오브젝트도 역시 마찬가지..
ListBox콘트롤을 활용한 Shape오브젝트 상수를 관찰하는 Tool만들기
오피스를 통하여 공동으로 지원하는 도형이 없을때는
사각형을 그리려면 아래와 같이 했었다
Dim oRectangle As Rectangle
Set oRectangle = ActiveSheet.Rectangles.Add(iLeft, iTop, 30, 30)
그러나 이제는 위의 것은 버려버리시고 아래와 같이 표현하시기 바란다
Dim oShape As Shape
Set oShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, iLeft + 50, iTop, 30, 30)
오피스에서 제공하는 도형은 아주 다양하게 많다
상수명이 msoShapeRectangle과 같이 앞에 mso가 붙어 있는것은
MicroSoftOffice의 약자로서 오피스에서 공동으로 지원하는것으로
생각하시면 된다
엑셀자체에서 제공되는 오브젝트들이 사용하는 상수는 항상
xlSolid와 같이 xl이라는 두문자가 붙어 있다
아래와 같이 콘트롤의 ListBox를 활용하여 모든 도형타입을 나타내는
상수에 따라서 어떤 도형이 그려지는지 아래와 같은 툴을 만들어 보고
관찰하면서 Shape오브젝트의 탐구에 들어가 보자
상수명 | 상수값 | 상수명 | 상수값 |
msoShape16pointStar | 94 | msoShape24pointStar | 95 |
msoShape32pointStar | 96 | msoShape4pointStar | 91 |
msoShape5pointStar | 92 | msoShape8pointStar | 93 |
msoShapeActionButtonBackorPrevious | 129 | msoShapeActionButtonBeginning | 131 |
msoShapeActionButtonCustom | 125 | msoShapeActionButtonDocument | 134 |
msoShapeActionButtonEnd | 132 | msoShapeActionButtonForwardorNext | 130 |
msoShapeActionButtonHelp | 127 | msoShapeActionButtonHome | 126 |
msoShapeActionButtonInformation | 128 | msoShapeActionButtonMovie | 136 |
msoShapeActionButtonReturn | 133 | msoShapeActionButtonSound | 135 |
msoShapeArc | 25 | msoShapeBalloon | 137 |
msoShapeBentArrow | 41 | msoShapeBentUpArrow | 44 |
msoShapeBevel | 15 | msoShapeBlockArc | 20 |
msoShapeCan | 13 | msoShapeChevron | 52 |
msoShapeCircularArrow | 60 | msoShapeCloudCallout | 108 |
msoShapeCross | 11 | msoShapeCube | 14 |
msoShapeCurvedDownArrow | 48 | msoShapeCurvedDownRibbon | 100 |
msoShapeCurvedLeftArrow | 46 | msoShapeCurvedRightArrow | 45 |
msoShapeCurvedUpArrow | 47 | msoShapeCurvedUpRibbon | 99 |
msoShapeDiamond | 4 | msoShapeDonut | 18 |
msoShapeDoubleBrace | 27 | msoShapeDoubleBracket | 26 |
msoShapeDoubleWave | 104 | msoShapeDownArrow | 36 |
msoShapeDownArrowCallout | 56 | msoShapeDownRibbon | 98 |
msoShapeExplosion1 | 89 | msoShapeExplosion2 | 90 |
msoShapeFlowchartAlternateProcess | 62 | msoShapeFlowchartCard | 75 |
msoShapeFlowchartCollate | 79 | msoShapeFlowchartConnector | 73 |
msoShapeFlowchartData | 64 | msoShapeFlowchartDecision | 63 |
msoShapeFlowchartDelay | 84 | msoShapeFlowchartDirectAccessStorage | 87 |
msoShapeFlowchartDisplay | 88 | msoShapeFlowchartDocument | 67 |
msoShapeFlowchartExtract | 81 | msoShapeFlowchartInternalStorage | 66 |
msoShapeFlowchartMagneticDisk | 86 | msoShapeFlowchartManualInput | 71 |
msoShapeFlowchartManualOperation | 72 | msoShapeFlowchartMerge | 82 |
msoShapeFlowchartMultidocument | 68 | msoShapeFlowchartOffpageConnector | 74 |
msoShapeFlowchartOr | 78 | msoShapeFlowchartPredefinedProcess | 65 |
msoShapeFlowchartPreparation | 70 | msoShapeFlowchartProcess | 61 |
msoShapeFlowchartPunchedTape | 79 | msoShapeFlowchartSequentialAccessStorage | 85 |
msoShapeFlowchartSort | 80 | msoShapeFlowchartStoredData | 83 |
msoShapeFlowchartSummingJunction | 77 | msoShapeFlowchartTerminator | 69 |
msoShapeFoldedCorner | 16 | msoShapeHeart | 21 |
msoShapeHexagon | 10 | msoShapeHorizontalScroll | 102 |
msoShapeIsoscelesTriangle | 7 | msoShapeLeftArrow | 34 |
msoShapeLeftArrowCallout | 54 | msoShapeLeftBrace | 31 |
msoShapeLeftBracket | 29 | msoShapeLeftRightArrow | 37 |
msoShapeLeftRightArrowCallout | 57 | msoShapeLeftRightUpArrow | 40 |
msoShapeLeftUpArrow | 43 | msoShapeLightningBolt | 22 |
msoShapeLineCallout1 | 109 | msoShapeLineCallout1AccentBar | 113 |
msoShapeLineCallout1BorderandAccentBar | 121 | msoShapeLineCallout1NoBorder | 117 |
msoShapeLineCallout2 | 110 | msoShapeLineCallout2AccentBar | 114 |
msoShapeLineCallout2BorderandAccentBar | 122 | msoShapeLineCallout2NoBorder | 118 |
msoShapeLineCallout3 | 111 | msoShapeLineCallout3AccentBar | 115 |
msoShapeLineCallout3BorderandAccentBar | 123 | msoShapeLineCallout3NoBorder | 119 |
msoShapeLineCallout4 | 112 | msoShapeLineCallout4AccentBar | 116 |
msoShapeLineCallout4BorderandAccentBar | 124 | msoShapeLineCallout4NoBorder | 120 |
msoShapeMixed | -2 | msoShapeMoon | 24 |
msoShapeNoSymbol | 19 | msoShapeNotchedRightArrow | 50 |
msoShapeNotPrimitive | 138 | msoShapeOctagon | 6 |
msoShapeOval | 9 | msoShapeOvalCallout | 107 |
msoShapeParallelogram | 2 | msoShapePentagon | 51 |
msoShapePlaque | 28 | msoShapeQuadArrow | 39 |
msoShapeQuadArrowCallout | 59 | msoShapeRectangle | 1 |
msoShapeRectangularCallout | 105 | msoShapeRegularPentagon | 12 |
msoShapeRightArrow | 33 | msoShapeRightArrowCallout | 53 |
msoShapeRightBrace | 32 | msoShapeRightBracket | 30 |
msoShapeRightTriangle | 8 | msoShapeRoundedRectangle | 5 |
msoShapeRoundedRectangularCallout | 106 | msoShapeSmileyFace | 17 |
msoShapeStripedRightArrow | 49 | msoShapeSun | 23 |
msoShapeTrapezoid | 3 | msoShapeUpArrow | 35 |
msoShapeUpArrowCallout | 55 | msoShapeUpDownArrow | 38 |
msoShapeUpDownArrowCallout | 58 | msoShapeUpRibbon | 97 |
msoShapeUTurnArrow | 42 | msoShapeVerticalScroll | 101 |
msoShapeWave | 103 | | |
ActiveSheet.Shapes.AddShape 그리고 싶은 도형의 상수명,X위치,Y위치,폭,높이
와 같이 하면 그리고 싶은 도형이 그려진다
아래의 화일에서는 위의 그림의 툴을 만들면서 Shape오브젝트와
친해지게 된다
- ListBox콘트롤의 워크시트상에서의 활용을 보도록한다
- ListBox콘트롤의 ListFillRange속성에 범위를 연결한다
- ListBox콘트롤의 Change이벤트프로시져를 활용한다
- ListBox콘트롤의 Value속성을 받아내어 정보를 이리주고..저리주고 처리한다
- 열방향,행방향으로 도형의 위치를 찾아서 처리하는 요령
- 위의 상수테이블을 만들때 눈이 빠지게 HTML문을 작성했을까??
문자열정보의 처리요령에 따라서 간단하게 테이블을 위한
HTML코드를 엑셀로 만들어 낸다
AutoShape ListBox OptionButton