Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

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오브젝트의 탐구에 들어가 보자



상수명상수값상수명상수값
msoShape16pointStar94msoShape24pointStar95
msoShape32pointStar96msoShape4pointStar91
msoShape5pointStar92msoShape8pointStar93
msoShapeActionButtonBackorPrevious129msoShapeActionButtonBeginning131
msoShapeActionButtonCustom125msoShapeActionButtonDocument134
msoShapeActionButtonEnd132msoShapeActionButtonForwardorNext130
msoShapeActionButtonHelp127msoShapeActionButtonHome126
msoShapeActionButtonInformation128msoShapeActionButtonMovie136
msoShapeActionButtonReturn133msoShapeActionButtonSound135
msoShapeArc25msoShapeBalloon137
msoShapeBentArrow41msoShapeBentUpArrow44
msoShapeBevel15msoShapeBlockArc20
msoShapeCan13msoShapeChevron52
msoShapeCircularArrow60msoShapeCloudCallout108
msoShapeCross11msoShapeCube14
msoShapeCurvedDownArrow48msoShapeCurvedDownRibbon100
msoShapeCurvedLeftArrow46msoShapeCurvedRightArrow45
msoShapeCurvedUpArrow47msoShapeCurvedUpRibbon99
msoShapeDiamond4msoShapeDonut18
msoShapeDoubleBrace27msoShapeDoubleBracket26
msoShapeDoubleWave104msoShapeDownArrow36
msoShapeDownArrowCallout56msoShapeDownRibbon98
msoShapeExplosion189msoShapeExplosion290
msoShapeFlowchartAlternateProcess62msoShapeFlowchartCard75
msoShapeFlowchartCollate79msoShapeFlowchartConnector73
msoShapeFlowchartData64msoShapeFlowchartDecision63
msoShapeFlowchartDelay84msoShapeFlowchartDirectAccessStorage87
msoShapeFlowchartDisplay88msoShapeFlowchartDocument67
msoShapeFlowchartExtract81msoShapeFlowchartInternalStorage66
msoShapeFlowchartMagneticDisk86msoShapeFlowchartManualInput71
msoShapeFlowchartManualOperation72msoShapeFlowchartMerge82
msoShapeFlowchartMultidocument68msoShapeFlowchartOffpageConnector74
msoShapeFlowchartOr78msoShapeFlowchartPredefinedProcess65
msoShapeFlowchartPreparation70msoShapeFlowchartProcess61
msoShapeFlowchartPunchedTape79msoShapeFlowchartSequentialAccessStorage85
msoShapeFlowchartSort80msoShapeFlowchartStoredData83
msoShapeFlowchartSummingJunction77msoShapeFlowchartTerminator69
msoShapeFoldedCorner16msoShapeHeart21
msoShapeHexagon10msoShapeHorizontalScroll102
msoShapeIsoscelesTriangle7msoShapeLeftArrow34
msoShapeLeftArrowCallout54msoShapeLeftBrace31
msoShapeLeftBracket29msoShapeLeftRightArrow37
msoShapeLeftRightArrowCallout57msoShapeLeftRightUpArrow40
msoShapeLeftUpArrow43msoShapeLightningBolt22
msoShapeLineCallout1109msoShapeLineCallout1AccentBar113
msoShapeLineCallout1BorderandAccentBar121msoShapeLineCallout1NoBorder117
msoShapeLineCallout2110msoShapeLineCallout2AccentBar114
msoShapeLineCallout2BorderandAccentBar122msoShapeLineCallout2NoBorder118
msoShapeLineCallout3111msoShapeLineCallout3AccentBar115
msoShapeLineCallout3BorderandAccentBar123msoShapeLineCallout3NoBorder119
msoShapeLineCallout4112msoShapeLineCallout4AccentBar116
msoShapeLineCallout4BorderandAccentBar124msoShapeLineCallout4NoBorder120
msoShapeMixed-2msoShapeMoon24
msoShapeNoSymbol19msoShapeNotchedRightArrow50
msoShapeNotPrimitive138msoShapeOctagon6
msoShapeOval9msoShapeOvalCallout107
msoShapeParallelogram2msoShapePentagon51
msoShapePlaque28msoShapeQuadArrow39
msoShapeQuadArrowCallout59msoShapeRectangle1
msoShapeRectangularCallout105msoShapeRegularPentagon12
msoShapeRightArrow33msoShapeRightArrowCallout53
msoShapeRightBrace32msoShapeRightBracket30
msoShapeRightTriangle8msoShapeRoundedRectangle5
msoShapeRoundedRectangularCallout106msoShapeSmileyFace17
msoShapeStripedRightArrow49msoShapeSun23
msoShapeTrapezoid3msoShapeUpArrow35
msoShapeUpArrowCallout55msoShapeUpDownArrow38
msoShapeUpDownArrowCallout58msoShapeUpRibbon97
msoShapeUTurnArrow42msoShapeVerticalScroll101
msoShapeWave103



ActiveSheet.Shapes.AddShape 그리고 싶은 도형의 상수명,X위치,Y위치,폭,높이

와 같이 하면 그리고 싶은 도형이 그려진다
아래의 화일에서는 위의 그림의 툴을 만들면서 Shape오브젝트와
친해지게 된다

  • ListBox콘트롤의 워크시트상에서의 활용을 보도록한다
  • ListBox콘트롤의 ListFillRange속성에 범위를 연결한다
  • ListBox콘트롤의 Change이벤트프로시져를 활용한다
  • ListBox콘트롤의 Value속성을 받아내어 정보를 이리주고..저리주고 처리한다
  • 열방향,행방향으로 도형의 위치를 찾아서 처리하는 요령
  • 위의 상수테이블을 만들때 눈이 빠지게 HTML문을 작성했을까??
    문자열정보의 처리요령에 따라서 간단하게 테이블을 위한
    HTML코드를 엑셀로 만들어 낸다


AutoShape ListBox OptionButton