Last active
August 24, 2019 16:06
-
-
Save snipsnipsnip/1101192 to your computer and use it in GitHub Desktop.
win32guitest.rb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # jun hirabayashi [email protected] 2008.11.15-2011.07.12 | |
| # merged into a single file, and put constants into Win32GuiTest::Constants | |
| require 'Win32API' | |
| require 'win32ole' | |
| require 'dl/win32' | |
| require 'dl/import' | |
| class Win32GuiTest | |
| # from win32_office_defines.rb | |
| module Constants | |
| MOUSEEVENTF_ABSOLUTE = 0x8000 | |
| MOUSEEVENTF_MOVE = 0x1 | |
| MOUSEEVENTF_LEFTDOWN = 0x2 | |
| MOUSEEVENTF_LEFTUP = 0x4 | |
| MOUSEEVENTF_RIGHTDOWN = 0x8 | |
| MOUSEEVENTF_RIGHTUP = 0x10 | |
| MOUSEEVENTF_MIDDLEDOWN = 0x20 | |
| MOUSEEVENTF_MIDDLEUP = 0x40 | |
| MOUSEEVENTF_XDOWN=0x100 | |
| MOUSEEVENTF_XUP=0x200 | |
| MOUSEEVENTF_WHEEL=0x80 | |
| WM_MOUSEMOVE=0x0200 | |
| WM_LBUTTONDOWN=0x0201 | |
| WM_LBUTTONUP=0x0202 | |
| WM_LBUTTONDBLCLK=0x0203 | |
| WM_RBUTTONDOWN=0x0204 | |
| WM_RBUTTONUP=0x0205 | |
| WM_RBUTTONDBLCLK=0x0206 | |
| WM_MBUTTONDOWN=0x0207 | |
| WM_MBUTTONUP=0x0208 | |
| WM_MBUTTONDBLCLK=0x0209 | |
| WM_SETTEXT= 0x000C | |
| WM_GETTEXT= 0x000D | |
| WM_GETTEXTLENGTH= 0x000E | |
| MK_LBUTTON=0x01 | |
| MK_RBUTTON=0x02 | |
| MK_SHIFT=0x04 | |
| MK_CONTROL=0x08 | |
| MK_MBUTTON=0x10 | |
| VK_LBUTTON=0x01 | |
| VK_RBUTTON=0x02 | |
| VK_CANCEL=0x03 | |
| VK_MBUTTON=0x04 | |
| VK_BACK=0x08 | |
| VK_TAB=0x09 | |
| VK_CLEAR=0x0C | |
| VK_RETURN=0x0D | |
| VK_SHIFT=0x10 | |
| VK_CONTROL=0x11 | |
| VK_MENU=0x12 | |
| VK_PAUSE=0x13 | |
| VK_CAPITAL=0x14 | |
| VK_KANA=0x15 | |
| VK_HANGEUL= | |
| VK_HANGUL= | |
| VL_JUNJA=0x17 | |
| VK_FINAL=0x18 | |
| VK_HANJA=0x19 | |
| VK_KANJI= | |
| VK_ESCAPE=0x1B | |
| VK_CONVERT=0x1C | |
| VK_NONCONVERT=0x1D | |
| VK_ACCEPT=0x1E | |
| VK_MODECHANGE=0x1F | |
| VK_SPACE=0x20 | |
| VK_PRIOR=0x21 | |
| VK_NEXT=0x22 | |
| VK_END=0x23 | |
| VK_HOME=0x24 | |
| VK_LEFT=0x25 | |
| VK_UP=0x26 | |
| VK_RIGHT=0x27 | |
| VK_DOWN=0x28 | |
| VK_SELECT=0x29 | |
| VK_PRINT=0x2A | |
| VK_EXECUTE=0x2B | |
| VK_SNAPSHOT=0x2C | |
| VK_INSERT=0x2D | |
| VK_DELETE=0x2E | |
| VK_HELP=0x2F | |
| VK_LWIN=0x5B | |
| VK_RWIN=0x5C | |
| VK_APpS=0x5D | |
| VK_NUMPAD0=0x60 | |
| VK_NUMPAD1=0x61 | |
| VK_NUMPAD2=0x62 | |
| VK_NUMPAD3=0x63 | |
| VK_NUMPAD4=0x64 | |
| VK_NUMPAD5=0x65 | |
| VK_NUMPAD6=0x66 | |
| VK_NUMPAD7=0x67 | |
| VK_NUMPAD8=0x68 | |
| VK_NUMPAD9=0x69 | |
| VK_MULTIPLY=0x6A | |
| VK_ADD=0x6B | |
| VK_SEPARATOR=0x6C | |
| VK_SUBTRACT=0x6D | |
| VK_DECIMAL=0x6E | |
| VK_DIVIDE=0x6F | |
| VK_F1=0x70 | |
| VK_F2=0x71 | |
| VK_F3=0x72 | |
| VK_F4=0x73 | |
| VK_F5=0x74 | |
| VK_F6=0x75 | |
| VK_F7=0x76 | |
| VK_F8=0x77 | |
| VK_F9=0x78 | |
| VK_F10=0x79 | |
| VK_F11=0x7A | |
| VK_F12=0x7B | |
| VK_F13=0x7C | |
| VK_F14=0x7D | |
| VK_F15=0x7E | |
| VK_F16=0x7F | |
| VK_F17=0x80 | |
| VK_F18=0x81 | |
| VK_F19=0x82 | |
| VK_F20=0x83 | |
| VK_F21=0x84 | |
| VK_F22=0x85 | |
| VK_F23=0x86 | |
| VK_F24=0x87 | |
| VK_NUMLOCK=0x90 | |
| VK_SCROLL=0x91 | |
| VK_LSHIFT=0xA0 | |
| VK_RSHIFT=0xA1 | |
| VK_LCONTROL=0xA2 | |
| VK_RCONTROL=0xA3 | |
| VK_LMENU=0xA4 | |
| VK_RMENU=0xA5 | |
| VK_PROCESSKEY=0xE5 | |
| VK_ATTN=0xF6 | |
| VK_CRSEL=0xF7 | |
| VK_EXSEL=0xF8 | |
| VK_EREOF=0xF9 | |
| VK_PLAY=0xFA | |
| VK_ZOOM=0xFB | |
| VK_NONAME=0xFC | |
| VK_PA1=0xFD | |
| VK_OME_CLEAR=0xFE | |
| # for Office(PowerPoint) | |
| # VBA | |
| MsoTrue =-1 | |
| MsoFalse=0 | |
| # Shapes | |
| MsoShapeRectangle=1 | |
| MsoShapeParallelogram=2 | |
| MsoShapeTrapezoiod=3 | |
| MsoShapeDiamond=4 | |
| MsoShapeRoundRectangle=5 | |
| MsoShapeOctagon=6 | |
| MsoShapeIsoscelesTriangle=7 | |
| MsoShapeRightTriangle=8 | |
| MsoShapeOval=9 | |
| MsoShapeHexagon=10 | |
| MsoShapeCross=11 | |
| MsoShapeRegulaePentagon=12 | |
| MsoShapeCan=13 | |
| MsoShapeCube=14 | |
| MsoShapeBevel=15 | |
| MsoShapeFolderCorner=16 | |
| MsoShapeSmileyFace=17 | |
| MsoShapeDonut=18 | |
| MsoShapeNoSymbol=19 | |
| MsoShapeBlocArc=20 | |
| MsoShapeHeart=21 | |
| MsoShapeLightningBolt=22 | |
| MsoShapeSun=23 | |
| MsoShapeMoon=24 | |
| MsoShapeArc=25 | |
| MsoShapeDoubleBracket=26 | |
| MsoShapeDoubleBrace=27 | |
| MsoShapePlaque=28 | |
| MsoShapeLeftBracket=29 | |
| MsoShapeRightBlacket=30 | |
| MsoShapeLeftBrace=31 | |
| MsoShapeRightBrace=32 | |
| MsoShapeRightArrow=33 | |
| MsoShapeLeftArrow=34 | |
| MsoShapeUpArrow=35 | |
| MsoShapeDownArrow=36 | |
| MsoShapeLeftRightArrow=37 | |
| MsoShapeUpDownArrow=38 | |
| MsoShapeQuadArrow=39 | |
| MsoShapeLeftRightUpArrow=40 | |
| MsoShapeBentArrow=41 | |
| MsoShapeUTurnArrow=42 | |
| MsoShapeLeftUpArrow=43 | |
| MsoShapeBntUpArrow=44 | |
| MsoShapeCurvedRightArrow=45 | |
| MsoShapeCurvedLeftArrow=46 | |
| MsoShapeCurvedUpArrow=47 | |
| MsoShapeCurvedDownArrow=48 | |
| MsoShapeStripedRightArrow=49 | |
| MsoShapeNotchedRightArrow=50 | |
| MsoShapePentagon=51 | |
| MsoShapeChevron=52 | |
| MsoShapeRightArrowCallout=53 | |
| MsoShapeLeftArrowCallout=54 | |
| MsoShapeUpArrowCallout=55 | |
| MsoShapeDownArrowCallout=56 | |
| MsoShapeLeftRightArrowCallout=57 | |
| MsoShapeUpDownArrowCallout=58 | |
| MsoShapeQuadArrowCallout=59 | |
| MsoShapeCircularCallout=60 | |
| MsoShapeFlowChartProcess=61 | |
| MsoShapeFlowChartAlternateProcess=62 | |
| MsoShapeFlowChartDecision=63 | |
| MsoShapeFlowChartData=64 | |
| MsoShapeFlowChartPredefinedProcess=65 | |
| MsoShapeFlowChartInternalStorage=66 | |
| MsoShapeFlowChartDocument=67 | |
| MsoShapeFlowChartMultidocument=68 | |
| MsoShapeFlowChartTerminator=69 | |
| MsoShapeFlowChartPreparation=70 | |
| MsoShapeFlowChartManualInput=71 | |
| MsoShapeFlowChartManualOperation=72 | |
| MsoShapeFlowChartConnector=73 | |
| MsoShapeFlowChartOffpageConnector=74 | |
| MsoShapeFlowChartCard=75 | |
| MsoShapeFlowChartPunchedTape=76 | |
| MsoShapeFlowChartSummingJunction=77 | |
| MsoShapeFlowChartOr=78 | |
| MsoShapeFlowChartCollate=79 | |
| MsoShapeFlowChartSort=80 | |
| MsoShapeFlowChartExtract=81 | |
| MsoShapeFlowChartMerge=82 | |
| MsoShapeFlowChartStoredData=83 | |
| MsoShapeFlowChartDelay=84 | |
| MsoShapeFlowChartSquentialAccessStorage=85 | |
| MsoShapeFlowChartMagneticDisk=86 | |
| MsoShapeFlowChartDirectAccessStorage=87 | |
| MsoShapeFlowChartDisplay=88 | |
| MsoShapeExplosion1=89 | |
| MsoShapeExplosion2=90 | |
| MsoShape4pointStar=91 | |
| MsoShape5pointStar=92 | |
| MsoShape8pointStar=93 | |
| MsoShape16pointStar=94 | |
| MsoShape24pointStar=95 | |
| MsoShape32pointStar=96 | |
| MsoShapeUpRibbon=97 | |
| MsoShapeDownRibbon=98 | |
| MsoShapeCurvedUpRibbon=99 | |
| MsoShapeCurvedDownRibbon=100 | |
| MsoShapeVerticalScroll=101 | |
| MsoShapeHorizontalScroll=102 | |
| MsoShapeWave=103 | |
| MsoShapeDoubleWave=104 | |
| MsoShapeRectangularCallout=105 | |
| MsoShapeRoundedRectangularCallout=106 | |
| MsoShapeOvalCallout=107 | |
| MsoShapeCloudCallout=108 | |
| MsoShapeLineCallout1=109 | |
| MsoShapeLineCallout2=110 | |
| MsoShapeLineCallout3=111 | |
| MsoShapeLineCallout4=112 | |
| MsoShapeLineCallout1AccentBar=113 | |
| MsoShapeLineCallout2AccentBar=114 | |
| MsoShapeLineCallout3AccentBar=115 | |
| MsoShapeLineCallout4AccentBar=116 | |
| MsoShapeLineCallout1NoBorder=117 | |
| MsoShapeLineCallout2NoBorder=118 | |
| MsoShapeLineCallout3NoBorder=119 | |
| MsoShapeLineCallout4NoBorder=120 | |
| MsoShapeLineCallout1BorderandAccentBar=121 | |
| MsoShapeLineCallout2BorderandAccentBar=122 | |
| MsoShapeLineCallout3BorderandAccentBar=123 | |
| MsoShapeLineCallout4BorderandAccentBar=124 | |
| MsoShapeActionButtonCustom=125 | |
| MsoShapeActionButtonHome=126 | |
| MsoShapeActionButtonHelp=127 | |
| MsoShapeActionButtonInformation=128 | |
| MsoShapeActionButtonPrevious=129 | |
| MsoShapeActionButtonForwardNext=130 | |
| MsoShapeActionButtonBeggining=131 | |
| MsoShapeActionButtonEnd=132 | |
| MsoShapeActionButtonReturn=133 | |
| MsoShapeActionButtonDocument=134 | |
| MsoShapeActionButtonSound=135 | |
| MsoShapeActionButtonMovie=136 | |
| MsoShapeBaloon=137 | |
| MsoBringForward=2 | |
| MsoBringInFrontOfText= 4 | |
| MsoBringToFront = 0 | |
| MsoSendBackward = 3 | |
| MsoSendBehindText = 5 | |
| MsoSendToBack = 1 | |
| MsoAnimAccumulateAlways = 2 | |
| MsoAnimAccumulateNone = 1 | |
| MsoAnimAdditiveAddBase = 1 | |
| MsoAnimAdditiveAddSum = 2 | |
| MsoAnimAfterEffectDim = 1 | |
| MsoAnimAfterEffectHide = 2 | |
| MsoAnimAfterEffectHideOnNextClick = 3 | |
| MsoAnimAfterEffectMixed = -1 | |
| MsoAnimAfterEffectNone = 0 | |
| MsoAnimColor = 7 | |
| MsoAnimCommandTypeCall = 1 | |
| MsoAnimCommandTypeEvent = 0 | |
| MsoAnimCommandTypeVerb = 2 | |
| MsoAnimDirectionAcross = 18 | |
| MsoAnimDirectionBottom = 11 | |
| MsoAnimDirectionBottomLeft = 15 | |
| MsoAnimDirectionBottomRight = 14 | |
| MsoAnimDirectionCenter = 28 | |
| MsoAnimDirectionClockwise = 21 | |
| MsoAnimDirectionCycleClockwise = 43 | |
| MsoAnimDirectionCounterclockwise = 22 | |
| MsoAnimDirectionCycleCounterclockwise = 44 | |
| MsoAnimDirectionDown = 3 | |
| MsoAnimDirectionDownLeft = 9 | |
| MsoAnimDirectionDownRight = 8 | |
| MsoAnimDirectionFontAllCaps = 40 | |
| MsoAnimDirectionFontBold = 35 | |
| MsoAnimDirectionFontItalic = 36 | |
| MsoAnimDirectionFontShadow = 39 | |
| MsoAnimDirectionFontStrikethrough = 38 | |
| MsoAnimDirectionFontUnderline = 37 | |
| MsoAnimDirectionGradual = 42 | |
| MsoAnimDirectionHorizontal = 16 | |
| MsoAnimDirectionHorizontalIn = 23 | |
| MsoAnimDirectionHorizontalOut = 24 | |
| MsoAnimDirectionIn = 19 | |
| MsoAnimDirectionInBottom = 31 | |
| MsoAnimDirectionInCenter = 30 | |
| MsoAnimDirectionInSlightly = 29 | |
| MsoAnimDirectionInstant = 41 | |
| MsoAnimDirectionLeft = 4 | |
| MsoAnimDirectionNone = 0 | |
| MsoAnimDirectionOrdinalMask = 5 | |
| MsoAnimDirectionOut = 20 | |
| MsoAnimDirectionOutBottom = 34 | |
| MsoAnimDirectionOutCenter = 33 | |
| MsoAnimDirectionOutSlightly = 32 | |
| MsoAnimDirectionRight = 2 | |
| MsoAnimDirectionSlightly = 27 | |
| MsoAnimDirectionTop = 10 | |
| MsoAnimDirectionTopLeft = 12 | |
| MsoAnimDirectionTopRight = 13 | |
| MsoAnimDirectionUp = 1 | |
| MsoAnimDirectionUpLeft = 6 | |
| MsoAnimDirectionUpRight = 7 | |
| MsoAnimDirectionVertical = 17 | |
| MsoAnimDirectionVerticalIn = 25 | |
| MsoAnimDirectionVerticalOut = 26 | |
| MsoAnimEffectAfterFreeze = 1 | |
| MsoAnimEffectAfterHold = 3 | |
| MsoAnimEffectAfterRemove = 2 | |
| MsoAnimEffectAfterTransition = 4 | |
| MsoAnimEffectAPpear = 1 | |
| MsoAnimEffectArcUp = 47 | |
| MsoAnimEffectAscend = 39 | |
| MsoAnimEffectBlast = 64 | |
| MsoAnimEffectBlinds = 3 | |
| MsoAnimEffectBoldFlash = 63 | |
| MsoAnimEffectBoldReveal = 65 | |
| MsoAnimEffectBoomerang = 25 | |
| MsoAnimEffectBounce = 26 | |
| MsoAnimEffectBox = 4 | |
| MsoAnimEffectBrushOnColor = 66 | |
| MsoAnimEffectBrushOnUnderline = 67 | |
| MsoAnimEffectCenterRevolve = 40 | |
| MsoAnimEffectChangeFillColor = 54 | |
| MsoAnimEffectChangeFont = 55 | |
| MsoAnimEffectChangeFontColor = 56 | |
| MsoAnimEffectChangeFontSize = 57 | |
| MsoAnimEffectChangeFontStyle = 58 | |
| MsoAnimEffectChangeLineColor = 60 | |
| MsoAnimEffectCheckerboard = 5 | |
| MsoAnimEffectCircle = 6 | |
| MsoAnimEffectColorBlend = 68 | |
| MsoAnimEffectColorReveal = 27 | |
| MsoAnimEffectColorWave = 69 | |
| MsoAnimEffectComplementaryColor = 70 | |
| MsoAnimEffectComplementaryColor2 = 71 | |
| MsoAnimEffectContrastingColor = 72 | |
| MsoAnimEffectCrawl = 7 | |
| MsoAnimEffectCredits = 28 | |
| MsoAnimEffectCustom = 0 | |
| MsoAnimEffectDarken = 73 | |
| MsoAnimEffectDesaturate = 74 | |
| MsoAnimEffectDescend = 42 | |
| MsoAnimEffectDiamond = 8 | |
| MsoAnimEffectDissolve = 9 | |
| MsoAnimEffectEaseIn = 29 | |
| MsoAnimEffectExpand = 50 | |
| MsoAnimEffectFade = 10 | |
| MsoAnimEffectFadedSwivel = 41 | |
| MsoAnimEffectFadedZoom = 48 | |
| MsoAnimEffectFlashBulb = 75 | |
| MsoAnimEffectFlashOnce = 11 | |
| MsoAnimEffectFlicker = 76 | |
| MsoAnimEffectFlip = 51 | |
| MsoAnimEffectFloat = 30 | |
| MsoAnimEffectFly = 2 | |
| MsoAnimEffectFold = 53 | |
| MsoAnimEffectGlide = 49 | |
| MsoAnimEffectGrowAndTurn = 31 | |
| MsoAnimEffectGrowShrink = 59 | |
| MsoAnimEffectGrowWithColor = 77 | |
| MsoAnimEffectLightSpeed = 32 | |
| MsoAnimEffectLighten = 78 | |
| MsoAnimEffectMediaPause = 84 | |
| MsoAnimEffectMediaPlay = 83 | |
| MsoAnimEffectMediaStop = 85 | |
| MsoAnimEffectPath4PointStar = 101 | |
| MsoAnimEffectPath5PointStar = 90 | |
| MsoAnimEffectPath6PointStar = 96 | |
| MsoAnimEffectPath8PointStar = 102 | |
| MsoAnimEffectPathArcDown = 122 | |
| MsoAnimEffectPathArcLeft = 136 | |
| MsoAnimEffectPathArcRight = 143 | |
| MsoAnimEffectPathArcUp = 129 | |
| MsoAnimEffectPathBean = 116 | |
| MsoAnimEffectPathBounceLeft = 126 | |
| MsoAnimEffectPathBounceRight = 139 | |
| MsoAnimEffectPathBuzzsaw = 110 | |
| MsoAnimEffectPathCircle = 86 | |
| MsoAnimEffectPathCrescentMoon = 91 | |
| MsoAnimEffectPathCurvedSquare = 105 | |
| MsoAnimEffectPathCurvedX = 106 | |
| MsoAnimEffectPathCurvyLeft = 133 | |
| MsoAnimEffectPathCurvyRight = 146 | |
| MsoAnimEffectPathCurvyStar = 108 | |
| MsoAnimEffectPathDecayingWave = 145 | |
| MsoAnimEffectPathDiagonalDownRight = 134 | |
| MsoAnimEffectPathDiagonalUpRight = 141 | |
| MsoAnimEffectPathDiamond = 88 | |
| MsoAnimEffectPathDown = 127 | |
| MsoAnimEffectPathEqualTriangle = 98 | |
| MsoAnimEffectPathFigure8Four = 113 | |
| MsoAnimEffectPathFootball = 97 | |
| MsoAnimEffectPathFunnel = 137 | |
| MsoAnimEffectPathHeart = 94 | |
| MsoAnimEffectPathHeartbeat = 130 | |
| MsoAnimEffectPathHexagon = 89 | |
| MsoAnimEffectPathHorizontalFigure8 = 111 | |
| MsoAnimEffectPathInvertedSquare = 119 | |
| MsoAnimEffectPathInvertedTriangle = 118 | |
| MsoAnimEffectPathLeft = 120 | |
| MsoAnimEffectPathLoopdeLoop = 109 | |
| MsoAnimEffectPathNeutron = 114 | |
| MsoAnimEffectPathOctagon = 95 | |
| MsoAnimEffectPathParallelogram = 99 | |
| MsoAnimEffectPathPeanut = 112 | |
| MsoAnimEffectPathPentagon = 100 | |
| MsoAnimEffectPathPlus = 117 | |
| MsoAnimEffectPathPointyStar = 104 | |
| MsoAnimEffectPathRight = 149 | |
| MsoAnimEffectPathRightTriangle = 87 | |
| MsoAnimEffectPathSCurve1 = 144 | |
| MsoAnimEffectPathSCurve2 = 124 | |
| MsoAnimEffectPathSineWave = 125 | |
| MsoAnimEffectPathSpiralLeft = 140 | |
| MsoAnimEffectPathSpiralRight = 131 | |
| MsoAnimEffectPathSpring = 138 | |
| MsoAnimEffectPathSquare = 92 | |
| MsoAnimEffectPathStairsDown = 147 | |
| MsoAnimEffectPathSwoosh = 115 | |
| MsoAnimEffectPathTeardrop = 103 | |
| MsoAnimEffectPathTrapezoid = 93 | |
| MsoAnimEffectPathTurnDown = 135 | |
| MsoAnimEffectPathTurnRight = 121 | |
| MsoAnimEffectPathTurnUp = 128 | |
| MsoAnimEffectPathTurnUpRight = 142 | |
| MsoAnimEffectPathUp = 148 | |
| MsoAnimEffectPathVerticalFigure8 = 107 | |
| MsoAnimEffectPathWave = 132 | |
| MsoAnimEffectPathZigzag = 123 | |
| MsoAnimEffectPeek = 12 | |
| MsoAnimEffectPinwheel = 33 | |
| MsoAnimEffectPlus = 13 | |
| MsoAnimEffectRandomBars = 14 | |
| MsoAnimEffectRandomEffects = 24 | |
| MsoAnimEffectRestartAlways = 1 | |
| MsoAnimEffectRestartNever = 3 | |
| MsoAnimEffectRestartWhenOff = 2 | |
| MsoAnimEffectRiseUp = 34 | |
| MsoAnimEffectShimmer = 52 | |
| MsoAnimEffectSling = 43 | |
| MsoAnimEffectSpin = 61 | |
| MsoAnimEffectSpinner = 44 | |
| MsoAnimEffectSpiral = 15 | |
| MsoAnimEffectSplit = 16 | |
| MsoAnimEffectStretch = 17 | |
| MsoAnimEffectStretchy = 45 | |
| MsoAnimEffectStrips = 18 | |
| MsoAnimEffectStyleEmphasis = 79 | |
| MsoAnimEffectSwish = 35 | |
| MsoAnimEffectSwivel = 19 | |
| MsoAnimEffectTeeter = 80 | |
| MsoAnimEffectThinLine = 36 | |
| MsoAnimEffectTransparency = 62 | |
| MsoAnimEffectUnfold = 37 | |
| MsoAnimEffectVerticalGrow = 81 | |
| MsoAnimEffectWave = 82 | |
| MsoAnimEffectWedge = 20 | |
| MsoAnimEffectWheel = 21 | |
| MsoAnimEffectWhip = 38 | |
| MsoAnimEffectWipe = 22 | |
| MsoAnimEffectZip = 46 | |
| MsoAnimEffectZoom = 23 | |
| MsoAnimFilterEffectSubtypeAcross = 9 | |
| MsoAnimFilterEffectSubtypeDown = 25 | |
| MsoAnimFilterEffectSubtypeDownLeft = 14 | |
| MsoAnimFilterEffectSubtypeDownRight = 16 | |
| MsoAnimFilterEffectSubtypeFromBottom = 13 | |
| MsoAnimFilterEffectSubtypeFromLeft = 10 | |
| MsoAnimFilterEffectSubtypeFromRight = 11 | |
| MsoAnimFilterEffectSubtypeFromTop = 12 | |
| MsoAnimFilterEffectSubtypeHorizontal = 5 | |
| MsoAnimFilterEffectSubtypeIn = 7 | |
| MsoAnimFilterEffectSubtypeInHorizontal = 3 | |
| MsoAnimFilterEffectSubtypeInVertical = 1 | |
| MsoAnimFilterEffectSubtypeLeft = 23 | |
| MsoAnimFilterEffectSubtypeNone = 0 | |
| MsoAnimFilterEffectSubtypeOut = 8 | |
| MsoAnimFilterEffectSubtypeOutHorizontal = 4 | |
| MsoAnimFilterEffectSubtypeOutVertical = 2 | |
| MsoAnimFilterEffectSubtypeRight = 24 | |
| MsoAnimFilterEffectSubtypeSpokes1 = 18 | |
| MsoAnimFilterEffectSubtypeSpokes2 = 19 | |
| MsoAnimFilterEffectSubtypeSpokes3 = 20 | |
| MsoAnimFilterEffectSubtypeSpokes4 = 21 | |
| MsoAnimFilterEffectSubtypeSpokes8 = 22 | |
| MsoAnimFilterEffectSubtypeUp = 26 | |
| MsoAnimFilterEffectSubtypeUpLeft = 15 | |
| MsoAnimFilterEffectSubtypeUpRight = 17 | |
| MsoAnimFilterEffectSubtypeVertical = 6 | |
| MsoAnimFilterEffectTypeBarn = 1 | |
| MsoAnimFilterEffectTypeBlinds = 2 | |
| MsoAnimFilterEffectTypeBox = 3 | |
| MsoAnimFilterEffectTypeCheckerboard = 4 | |
| MsoAnimFilterEffectTypeCircle = 5 | |
| MsoAnimFilterEffectTypeDiamond = 6 | |
| MsoAnimFilterEffectTypeDissolve = 7 | |
| MsoAnimFilterEffectTypeFade = 8 | |
| MsoAnimFilterEffectTypeImage = 9 | |
| MsoAnimFilterEffectTypeNone = 0 | |
| MsoAnimFilterEffectTypePixelate = 10 | |
| MsoAnimFilterEffectTypePlus = 11 | |
| MsoAnimFilterEffectTypeRandomBar = 12 | |
| MsoAnimFilterEffectTypeSlide = 13 | |
| MsoAnimFilterEffectTypeStretch = 14 | |
| MsoAnimFilterEffectTypeStrips = 15 | |
| MsoAnimFilterEffectTypeWedge = 16 | |
| MsoAnimFilterEffectTypeWheel = 17 | |
| MsoAnimFilterEffectTypeWipe = 18 | |
| MsoAnimHeight = 4 | |
| MsoAnimNone = 0 | |
| MsoAnimOpacity = 5 | |
| MsoAnimRotation = 6 | |
| MsoAnimShapeFillBackColor = 1007 | |
| MsoAnimShapeFillColor = 1005 | |
| MsoAnimShapeFillOn = 1004 | |
| MsoAnimShapeFillOpacity = 1006 | |
| MsoAnimShapeLineColor = 1009 | |
| MsoAnimShapeLineOn = 1008 | |
| MsoAnimShapePictureBrightness = 1001 | |
| MsoAnimShapePictureContrast = 1000 | |
| MsoAnimShapePictureGamma = 1002 | |
| MsoAnimShapePictureGrayscale = 1003 | |
| MsoAnimShapeShadowColor = 1012 | |
| MsoAnimShapeShadowOffsetX = 1014 | |
| MsoAnimShapeShadowOffsetY = 1015 | |
| MsoAnimShapeShadowOn = 1010 | |
| MsoAnimShapeShadowOpacity = 1013 | |
| MsoAnimShapeShadowType = 1011 | |
| MsoAnimTextBulletCharacter = 111 | |
| MsoAnimTextBulletColor = 114 | |
| MsoAnimTextBulletFontName = 112 | |
| MsoAnimTextBulletNumber = 113 | |
| MsoAnimTextBulletRelativeSize = 115 | |
| MsoAnimTextBulletStyle = 116 | |
| MsoAnimTextBulletType = 117 | |
| MsoAnimTextFontBold = 100 | |
| MsoAnimTextFontColor = 101 | |
| MsoAnimTextFontEmboss = 102 | |
| MsoAnimTextFontItalic = 103 | |
| MsoAnimTextFontName = 104 | |
| MsoAnimTextFontShadow = 105 | |
| MsoAnimTextFontSize = 106 | |
| MsoAnimTextFontStrikeThrough = 110 | |
| MsoAnimTextFontSubscript = 107 | |
| MsoAnimTextFontSuperscript = 108 | |
| MsoAnimTextFontUnderline = 109 | |
| MsoAnimTextUnitEffectByCharacter = 1 | |
| MsoAnimTextUnitEffectByParagraph = 0 | |
| MsoAnimTextUnitEffectByWord = 2 | |
| MsoAnimTextUnitEffectMixed = -1 | |
| MsoAnimTriggerAfterPrevious = 3 | |
| MsoAnimTriggerMixed = -1 | |
| MsoAnimTriggerNone = 0 | |
| MsoAnimTriggerOnPageClick = 1 | |
| MsoAnimTriggerOnShapeClick = 4 | |
| MsoAnimTriggerWithPrevious = 2 | |
| MsoAnimTypeColor = 2 | |
| MsoAnimTypeCommand = 6 | |
| MsoAnimTypeFilter = 7 | |
| MsoAnimTypeMixed = -2 | |
| MsoAnimTypeMotion = 1 | |
| MsoAnimTypeNone = 0 | |
| MsoAnimTypeProperty = 5 | |
| MsoAnimTypeRotation = 4 | |
| MsoAnimTypeScale = 3 | |
| MsoAnimTypeSet = 8 | |
| MsoAnimVisibility = 8 | |
| MsoAnimWidth = 3 | |
| MsoAnimX = 1 | |
| MsoAnimY = 2 | |
| MsoAnimateChartAllAtOnce = 7 | |
| MsoAnimateChartByCategory = 8 | |
| MsoAnimateChartByCategoryElements = 9 | |
| MsoAnimateChartBySeries = 10 | |
| MsoAnimateChartBySeriesElements = 11 | |
| MsoAnimateDiagramAllAtOnce = 12 | |
| MsoAnimateDiagramBreadthByLevel = 16 | |
| MsoAnimateDiagramBreadthByNode = 15 | |
| MsoAnimateDiagramClockwise = 17 | |
| MsoAnimateDiagramClockwiseIn = 18 | |
| MsoAnimateDiagramClockwiseOut = 19 | |
| MsoAnimateDiagramCounterClockwise = 20 | |
| MsoAnimateDiagramCounterClockwiseIn = 21 | |
| MsoAnimateDiagramCounterClockwiseOut = 22 | |
| MsoAnimateDiagramDepthByBranch = 14 | |
| MsoAnimateDiagramDepthByNode = 13 | |
| MsoAnimateDiagramDown = 26 | |
| MsoAnimateDiagramInByRing = 23 | |
| MsoAnimateDiagramOutByRing = 24 | |
| MsoAnimateDiagramUp = 25 | |
| MsoAnimateLevelMixed = -1 | |
| MsoAnimateLevelNone = 0 | |
| MsoAnimateTextByAllLevels = 1 | |
| MsoAnimateTextByFifthLevel = 6 | |
| MsoAnimateTextByFirstLevel = 2 | |
| MsoAnimateTextByFourthLevel = 5 | |
| MsoAnimateTextBySecondLevel = 3 | |
| MsoAnimateTextByThirdLevel = 4 | |
| MsoClickStateAfterAllAnimations = -2 | |
| MsoClickStateBeforeAutomaticAnimations = -1 | |
| # for PowerPoint | |
| PpAccent1 = 6 | |
| PpAccent2 = 7 | |
| PpAccent3 = 8 | |
| PpActionEndShow = 6 | |
| PpActionFirstSlide = 3 | |
| PpActionHyperlink = 7 | |
| PpActionLastSlide = 4 | |
| PpActionLastSlideViewed = 5 | |
| PpActionMixed = -2 | |
| PpActionNamedSlideShow = 10 | |
| PpActionNextSlide = 1 | |
| PpActionNone = 0 | |
| PpActionOLEVerb = 11 | |
| PpActionPlay = 12 | |
| PpActionPreviousSlide = 2 | |
| PpActionRunMacro = 8 | |
| PpActionRunProgram = 9 | |
| PpAdvanceModeMixed = -2 | |
| PpAdvanceOnClick = 1 | |
| PpAdvanceOnTime = 2 | |
| PpAfterEffectDim = 2 | |
| PpAfterEffectHide = 1 | |
| PpAfterEffectHideOnClick = 3 | |
| PpAfterEffectMixed = -2 | |
| PpAfterEffectNothing = 0 | |
| PpAlertsAll = 2 | |
| PpAlertsNone = 1 | |
| PpAlignCenter = 2 | |
| PpAlignDistribute = 5 | |
| PpAlignJustify = 4 | |
| PpAlignJustifyLow = 7 | |
| PpAlignLeft = 1 | |
| PpAlignRight = 3 | |
| PpAlignThaiDistribute = 6 | |
| PpAlignmentMixed = -2 | |
| PpAnimateByAllLevels = 16 | |
| PpAnimateByCategory = 2 | |
| PpAnimateByCategoryElements = 4 | |
| PpAnimateByCharacter = 2 | |
| PpAnimateByFifthLevel = 5 | |
| PpAnimateByFirstLevel = 1 | |
| PpAnimateByFourthLevel = 4 | |
| PpAnimateByParagraph = 0 | |
| PpAnimateBySecondLevel = 2 | |
| PpAnimateBySeries = 1 | |
| PpAnimateBySeriesElements = 3 | |
| PpAnimateByThirdLevel = 3 | |
| PpAnimateByWord = 1 | |
| PpAnimateChartAllAtOnce = 5 | |
| PpAnimateChartMixed = -2 | |
| PpAnimateLevelMixed = -2 | |
| PpAnimateLevelNone = 0 | |
| PpAnimateUnitMixed = -2 | |
| PpArrangeCascade = 2 | |
| PpArrangeTiled = 1 | |
| PpAutoSizeMixed = -2 | |
| PpAutoSizeNone = 0 | |
| PpAutoSizeShapeToFitText = 1 | |
| PpBackground = 1 | |
| PpBaselineAlignAuto = 5 | |
| PpBaselineAlignBaseline = 1 | |
| PpBaselineAlignCenter = 3 | |
| PpBaselineAlignFarEast50 = 4 | |
| PpBaselineAlignMixed = -2 | |
| PpBaselineAlignTop = 2 | |
| PpBodyStyle = 3 | |
| PpBorderBottom = 3 | |
| PpBorderDiagonalDown = 5 | |
| PpBorderDiagonalUp = 6 | |
| PpBorderLeft = 2 | |
| PpBorderRight = 4 | |
| PpBorderTop = 1 | |
| PpBulletAlphaLCParenBoth = 8 | |
| PpBulletAlphaLCParenRight = 9 | |
| PpBulletAlphaLCPeriod = 0 | |
| PpBulletAlphaUCParenBoth = 10 | |
| PpBulletAlphaUCParenRight = 11 | |
| PpBulletAlphaUCPeriod = 1 | |
| PpBulletArabicAbjadDash = 24 | |
| PpBulletArabicAlphaDash = 23 | |
| PpBulletArabicDBPeriod = 29 | |
| PpBulletArabicDBPlain = 28 | |
| PpBulletArabicParenBoth = 12 | |
| PpBulletArabicParenRight = 2 | |
| PpBulletArabicPeriod = 3 | |
| PpBulletArabicPlain = 13 | |
| PpBulletCircleNumDBPlain = 18 | |
| PpBulletCircleNumWDBlackPlain = 20 | |
| PpBulletCircleNumWDWhitePlain = 19 | |
| PpBulletHebrewAlphaDash = 25 | |
| PpBulletHindiAlpha1Period = 40 | |
| PpBulletHindiAlphaPeriod = 36 | |
| PpBulletHindiNumParenRight = 39 | |
| PpBulletHindiNumPeriod = 37 | |
| PpBulletKanjiKoreanPeriod = 27 | |
| PpBulletKanjiKoreanPlain = 26 | |
| PpBulletKanjiSimpChinDBPeriod = 38 | |
| PpBulletMixed = -2 | |
| PpBulletNone = 0 | |
| PpBulletNumbered = 2 | |
| PpBulletPicture = 3 | |
| PpBulletRomanLCParenBoth = 4 | |
| PpBulletRomanLCParenRight = 5 | |
| PpBulletRomanLCPeriod = 6 | |
| PpBulletRomanUCParenBoth = 14 | |
| PpBulletRomanUCParenRight = 15 | |
| PpBulletRomanUCPeriod = 7 | |
| PpBulletSimpChinPeriod = 17 | |
| PpBulletSimpChinPlain = 16 | |
| PpBulletStyleMixed = -2 | |
| PpBulletThaiAlphaParenBoth = 32 | |
| PpBulletThaiAlphaParenRight = 31 | |
| PpBulletThaiAlphaPeriod = 30 | |
| PpBulletThaiNumParenBoth = 35 | |
| PpBulletThaiNumParenRight = 34 | |
| PpBulletThaiNumPeriod = 33 | |
| PpBulletTradChinPeriod = 22 | |
| PpBulletTradChinPlain = 21 | |
| PpBulletUnnumbered = 1 | |
| PpCaseLower = 2 | |
| PpCaseSentence = 1 | |
| PpCaseTitle = 4 | |
| PpCaseToggle = 5 | |
| PpCaseUPper = 3 | |
| PpCheckInMajorVersion = 1 | |
| PpCheckInMinorVersion = 0 | |
| PpCheckInOverwriteVersion = 2 | |
| PpDateTimeFigureOut = 14 | |
| PpDateTimeFormatMixed = -2 | |
| PpDateTimeHmm = 10 | |
| PpDateTimeHmmss = 11 | |
| PpDateTimeMMMMdyyyy = 4 | |
| PpDateTimeMMMMyy = 6 | |
| PpDateTimeMMddyyHmm = 8 | |
| PpDateTimeMMddyyhmmAMPM = 9 | |
| PpDateTimeMMyy = 7 | |
| PpDateTimeMdyy = 1 | |
| PpDateTimedMMMMyyyy = 3 | |
| PpDateTimedMMMyy = 5 | |
| PpDateTimeddddMMMMddyyyy = 2 | |
| PpDateTimehmmAMPM = 12 | |
| PpDateTimehmmssAMPM = 13 | |
| PpDefaultStyle = 1 | |
| PpDirectionLeftToRight = 1 | |
| PpDirectionMixed = -2 | |
| PpDirectionRightToLeft = 2 | |
| PpEffectAPpear = 3844 | |
| PpEffectBlindsHorizontal = 769 | |
| PpEffectBlindsVertical = 770 | |
| PpEffectBoxIn = 3074 | |
| PpEffectBoxOut = 3073 | |
| PpEffectCheckerboardAcross = 1025 | |
| PpEffectCheckerboardDown = 1026 | |
| PpEffectCircleOut = 3845 | |
| PpEffectCombHorizontal = 3847 | |
| PpEffectCombVertical = 3848 | |
| PpEffectCoverDown = 1284 | |
| PpEffectCoverLeft = 1281 | |
| PpEffectCoverLeftDown = 1287 | |
| PpEffectCoverLeftUp = 1285 | |
| PpEffectCoverRight = 1283 | |
| PpEffectCoverRightDown = 1288 | |
| PpEffectCoverRightUp = 1286 | |
| PpEffectCoverUp = 1282 | |
| PpEffectCrawlFromDown = 3344 | |
| PpEffectCrawlFromLeft = 3341 | |
| PpEffectCrawlFromRight = 3343 | |
| PpEffectCrawlFromUp = 3342 | |
| PpEffectCut = 257 | |
| PpEffectCutThroughBlack = 258 | |
| PpEffectDiamondOut = 3846 | |
| PpEffectDissolve = 1537 | |
| PpEffectFade = 1793 | |
| PpEffectFadeSmoothly = 3849 | |
| PpEffectFlashOnceFast = 3841 | |
| PpEffectFlashOnceMedium = 3842 | |
| PpEffectFlashOnceSlow = 3843 | |
| PpEffectFlyFromBottom = 3332 | |
| PpEffectFlyFromBottomLeft = 3335 | |
| PpEffectFlyFromBottomRight = 3336 | |
| PpEffectFlyFromLeft = 3329 | |
| PpEffectFlyFromRight = 3331 | |
| PpEffectFlyFromTop = 3330 | |
| PpEffectFlyFromTopLeft = 3333 | |
| PpEffectFlyFromTopRight = 3334 | |
| PpEffectMixed = -2 | |
| PpEffectNewsflash = 3850 | |
| PpEffectNone = 0 | |
| PpEffectPeekFromDown = 3338 | |
| PpEffectPeekFromLeft = 3337 | |
| PpEffectPeekFromRight = 3339 | |
| PpEffectPeekFromUp = 3340 | |
| PpEffectPlusOut = 3851 | |
| PpEffectPushDown = 3852 | |
| PpEffectPushLeft = 3853 | |
| PpEffectPushRight = 3854 | |
| PpEffectPushUp = 3855 | |
| PpEffectRandom = 513 | |
| PpEffectRandomBarsHorizontal = 2305 | |
| PpEffectRandomBarsVertical = 2306 | |
| PpEffectSpiral = 3357 | |
| PpEffectSplitHorizontalIn = 3586 | |
| PpEffectSplitHorizontalOut = 3585 | |
| PpEffectSplitVerticalIn = 3588 | |
| PpEffectSplitVerticalOut = 3587 | |
| PpEffectStretchAcross = 3351 | |
| PpEffectStretchDown = 3355 | |
| PpEffectStretchLeft = 3352 | |
| PpEffectStretchRight = 3354 | |
| PpEffectStretchUp = 3353 | |
| PpEffectStripsDownLeft = 2563 | |
| PpEffectStripsDownRight = 2564 | |
| PpEffectStripsLeftDown = 2567 | |
| PpEffectStripsLeftUp = 2565 | |
| PpEffectStripsRightDown = 2568 | |
| PpEffectStripsRightUp = 2566 | |
| PpEffectStripsUpLeft = 2561 | |
| PpEffectStripsUpRight = 2562 | |
| PpEffectSwivel = 3356 | |
| PpEffectUncoverDown = 2052 | |
| PpEffectUncoverLeft = 2049 | |
| PpEffectUncoverLeftDown = 2055 | |
| PpEffectUncoverLeftUp = 2053 | |
| PpEffectUncoverRight = 2051 | |
| PpEffectUncoverRightDown = 2056 | |
| PpEffectUncoverRightUp = 2054 | |
| PpEffectUncoverUp = 2050 | |
| PpEffectWedge = 3856 | |
| PpEffectWheel1Spoke = 3857 | |
| PpEffectWheel2Spokes = 3858 | |
| PpEffectWheel3Spokes = 3859 | |
| PpEffectWheel4Spokes = 3860 | |
| PpEffectWheel8Spokes = 3861 | |
| PpEffectWipeDown = 2820 | |
| PpEffectWipeLeft = 2817 | |
| PpEffectWipeRight = 2819 | |
| PpEffectWipeUp = 2818 | |
| PpEffectZoomBottom = 3350 | |
| PpEffectZoomCenter = 3349 | |
| PpEffectZoomIn = 3345 | |
| PpEffectZoomInSlightly = 3346 | |
| PpEffectZoomOut = 3347 | |
| PpEffectZoomOutSlightly = 3348 | |
| PpFarEastLineBreakLevelCustom = 3 | |
| PpFarEastLineBreakLevelNormal = 1 | |
| PpFarEastLineBreakLevelStrict = 2 | |
| PpFill = 5 | |
| PpFixedFormatIntentPrint = 2 | |
| PpFixedFormatIntentScreen = 1 | |
| PpFixedFormatTypePDF = 2 | |
| PpFixedFormatTypeXPS = 1 | |
| PpFollowColorsMixed = -2 | |
| PpFollowColorsNone = 0 | |
| PpFollowColorsScheme = 1 | |
| PpFollowColorsTextAndBackground = 2 | |
| PpForeground = 2 | |
| PpFrameColorsBlackTextOnWhite = 5 | |
| PpFrameColorsBrowserColors = 1 | |
| PpFrameColorsPresentationSchemeAccentColor = 3 | |
| PpFrameColorsPresentationSchemeTextColor = 2 | |
| PpFrameColorsWhiteTextOnBlack = 4 | |
| PpHTMLAutodetect = 4 | |
| PpHTMLDual = 3 | |
| PpHTMLv3 = 1 | |
| PpHTMLv4 = 2 | |
| PpIndentControlMixed = -2 | |
| PpIndentKeepAttr = 2 | |
| PpIndentReplaceAttr = 1 | |
| PpLayoutBlank = 12 | |
| PpLayoutChart = 8 | |
| PpLayoutChartAndText = 6 | |
| PpLayoutClipArtAndVerticalText = 26 | |
| PpLayoutClipartAndText = 10 | |
| PpLayoutComparison = 34 | |
| PpLayoutContentWithCaption = 35 | |
| PpLayoutCustom = 32 | |
| PpLayoutFourObjects = 24 | |
| PpLayoutLargeObject = 15 | |
| PpLayoutMediaClipAndText = 18 | |
| PpLayoutMixed = -2 | |
| PpLayoutObject = 16 | |
| PpLayoutObjectAndText = 14 | |
| PpLayoutObjectAndTwoObjects = 30 | |
| PpLayoutObjectOverText = 19 | |
| PpLayoutOrgchart = 7 | |
| PpLayoutPictureWithCaption = 36 | |
| PpLayoutSectionHeader = 33 | |
| PpLayoutTable = 4 | |
| PpLayoutText = 2 | |
| PpLayoutTextAndChart = 5 | |
| PpLayoutTextAndClipart = 9 | |
| PpLayoutTextAndMediaClip = 17 | |
| PpLayoutTextAndObject = 13 | |
| PpLayoutTextAndTwoObjects = 21 | |
| PpLayoutTextOverObject = 20 | |
| PpLayoutTitle = 1 | |
| PpLayoutTitleOnly = 11 | |
| PpLayoutTwoColumnText = 3 | |
| PpLayoutTwoObjects = 29 | |
| PpLayoutTwoObjectsAndObject = 31 | |
| PpLayoutTwoObjectsAndText = 22 | |
| PpLayoutTwoObjectsOverText = 23 | |
| PpLayoutVerticalText = 25 | |
| PpLayoutVerticalTitleAndText = 27 | |
| PpLayoutVerticalTitleAndTextOverChart = 28 | |
| PpMediaTypeMixed = -2 | |
| PpMediaTypeMovie = 3 | |
| PpMediaTypeOther = 1 | |
| PpMediaTypeSound = 2 | |
| PpMouseClick = 1 | |
| PpMouseOver = 2 | |
| PpNotSchemeColor = 0 | |
| PpPasteBitmap = 1 | |
| PpPasteDefault = 0 | |
| PpPasteEnhancedMetafile = 2 | |
| PpPasteGIF = 4 | |
| PpPasteHTML = 8 | |
| PpPasteJPG = 5 | |
| PpPasteMetafilePicture = 3 | |
| PpPasteOLEObject = 10 | |
| PpPastePNG = 6 | |
| PpPasteRTF = 9 | |
| PpPasteShape = 11 | |
| PpPasteText = 7 | |
| PpPlaceholderBitmap = 9 | |
| PpPlaceholderBody = 2 | |
| PpPlaceholderCenterTitle = 3 | |
| PpPlaceholderChart = 8 | |
| PpPlaceholderDate = 16 | |
| PpPlaceholderFooter = 15 | |
| PpPlaceholderHeader = 14 | |
| PpPlaceholderMediaClip = 10 | |
| PpPlaceholderMixed = -2 | |
| PpPlaceholderObject = 7 | |
| PpPlaceholderOrgChart = 11 | |
| PpPlaceholderPicture = 18 | |
| PpPlaceholderSlideNumber = 13 | |
| PpPlaceholderSubtitle = 4 | |
| PpPlaceholderTable = 12 | |
| PpPlaceholderTitle = 1 | |
| PpPlaceholderVerticalBody = 6 | |
| PpPlaceholderVerticalObject = 17 | |
| PpPlaceholderVerticalTitle = 5 | |
| PpPrintAll = 1 | |
| PpPrintBlackAndWhite = 2 | |
| PpPrintColor = 1 | |
| PpPrintCurrent = 3 | |
| PpPrintHandoutHorizontalFirst = 2 | |
| PpPrintHandoutVerticalFirst = 1 | |
| PpPrintNamedSlideShow = 5 | |
| PpPrintOutputBuildSlides = 7 | |
| PpPrintOutputFourSlideHandouts = 8 | |
| PpPrintOutputNineSlideHandouts = 9 | |
| PpPrintOutputNotesPages = 5 | |
| PpPrintOutputOneSlideHandouts = 10 | |
| PpPrintOutputOutline = 6 | |
| PpPrintOutputSixSlideHandouts = 4 | |
| PpPrintOutputSlides = 1 | |
| PpPrintOutputThreeSlideHandouts = 3 | |
| PpPrintOutputTwoSlideHandouts = 2 | |
| PpPrintPureBlackAndWhite = 3 | |
| PpPrintSelection = 2 | |
| PpPrintSlideRange = 4 | |
| PpPublishAll = 1 | |
| PpPublishNamedSlideShow = 3 | |
| PpPublishSlideRange = 2 | |
| PpRDIAll = 99 | |
| PpRDIComments = 1 | |
| PpRDIContentType = 16 | |
| PpRDIDocumentManagementPolicy = 15 | |
| PpRDIDocumentProperties = 8 | |
| PpRDIDocumentServerProperties = 14 | |
| PpRDIDocumentWorkspace = 10 | |
| PpRDIInkAnnotations = 11 | |
| PpRDIPublishPath = 13 | |
| PpRDIRemovePersonalInformation = 4 | |
| PpRDISlideUpdateInformation = 17 | |
| PpRevisionInfoBaseline = 1 | |
| PpRevisionInfoMerged = 2 | |
| PpRevisionInfoNone = 0 | |
| PpSaveAsAddIn = 8 | |
| PpSaveAsBMP = 19 | |
| PpSaveAsDefault = 11 | |
| PpSaveAsEMF = 23 | |
| PpSaveAsGIF = 16 | |
| PpSaveAsHTML = 12 | |
| PpSaveAsHTMLDual = 14 | |
| PpSaveAsHTMLv3 = 13 | |
| PpSaveAsJPG = 17 | |
| PpSaveAsMetaFile = 15 | |
| PpSaveAsOpenXMLAddin = 30 | |
| PpSaveAsOpenXMLPresentation = 24 | |
| PpSaveAsOpenXMLPresentationMacroEnabled = 25 | |
| PpSaveAsOpenXMLShow = 28 | |
| PpSaveAsOpenXMLShowMacroEnabled = 29 | |
| PpSaveAsOpenXMLTemplate = 26 | |
| PpSaveAsOpenXMLTemplateMacroEnabled = 27 | |
| PpSaveAsOpenXMLTheme = 31 | |
| PpSaveAsPDF = 32 | |
| PpSaveAsPNG = 18 | |
| PpSaveAsPresentation = 1 | |
| PpSaveAsRTF = 6 | |
| PpSaveAsShow = 7 | |
| PpSaveAsTIF = 21 | |
| PpSaveAsTemplate = 5 | |
| PpSaveAsWebArchive = 20 | |
| PpSaveAsXMLPresentation = 34 | |
| PpSaveAsXPS = 33 | |
| PpSchemeColorMixed = -2 | |
| PpSelectionNone = 0 | |
| PpSelectionShapes = 2 | |
| PpSelectionSlides = 1 | |
| PpSelectionText = 3 | |
| PpShadow = 3 | |
| PpShowAll = 1 | |
| PpShowNamedSlideShow = 3 | |
| PpShowSlideRange = 2 | |
| PpShowTypeKiosk = 3 | |
| PpShowTypeSpeaker = 1 | |
| PpShowTypeWindow = 2 | |
| PpSlideShowBlackScreen = 3 | |
| PpSlideShowDone = 5 | |
| PpSlideShowManualAdvance = 1 | |
| PpSlideShowPaused = 2 | |
| PpSlideShowPointerAlwaysHidden = 3 | |
| PpSlideShowPointerArrow = 1 | |
| PpSlideShowPointerAutoArrow = 4 | |
| PpSlideShowPointerEraser = 5 | |
| PpSlideShowPointerNone = 0 | |
| PpSlideShowPointerPen = 2 | |
| PpSlideShowRehearseNewTimings = 3 | |
| PpSlideShowRunning = 1 | |
| PpSlideShowUseSlideTimings = 2 | |
| PpSlideShowWhiteScreen = 4 | |
| PpSlideSize35MM = 4 | |
| PpSlideSizeA3Paper = 9 | |
| PpSlideSizeA4Paper = 3 | |
| PpSlideSizeB4ISOPaper = 10 | |
| PpSlideSizeB4JISPaper = 12 | |
| PpSlideSizeB5ISOPaper = 11 | |
| PpSlideSizeB5JISPaper = 13 | |
| PpSlideSizeBanner = 6 | |
| PpSlideSizeCustom = 7 | |
| PpSlideSizeHagakiCard = 14 | |
| PpSlideSizeLedgerPaper = 8 | |
| PpSlideSizeLetterPaper = 2 | |
| PpSlideSizeOnScreen = 1 | |
| PpSlideSizeOnScreen16x10 = 16 | |
| PpSlideSizeOnScreen16x9 = 15 | |
| PpSlideSizeOverhead = 5 | |
| PpSoundEffectsMixed = -2 | |
| PpSoundFile = 2 | |
| PpSoundFormatCDAudio = 3 | |
| PpSoundFormatMIDI = 2 | |
| PpSoundFormatMixed = -2 | |
| PpSoundFormatNone = 0 | |
| PpSoundFormatWAV = 1 | |
| PpSoundNone = 0 | |
| PpSoundStoPprevious = 1 | |
| PpTabStopCenter = 2 | |
| PpTabStopDecimal = 4 | |
| PpTabStopLeft = 1 | |
| PpTabStopMixed = -2 | |
| PpTabStopRight = 3 | |
| PpTitle = 4 | |
| PpTitleStyle = 2 | |
| PpTransitionSpeedFast = 3 | |
| PpTransitionSpeedMedium = 2 | |
| PpTransitionSpeedMixed = -2 | |
| PpTransitionSpeedSlow = 1 | |
| PpUpdateOptionAutomatic = 2 | |
| PpUpdateOptionManual = 1 | |
| PpUpdateOptionMixed = -2 | |
| PpViewHandoutMaster = 4 | |
| PpViewMasterThumbnails = 12 | |
| PpViewNormal = 9 | |
| PpViewNotesMaster = 5 | |
| PpViewNotesPage = 3 | |
| PpViewOutline = 6 | |
| PpViewPrintPreview = 10 | |
| PpViewSlide = 1 | |
| PpViewSlideMaster = 2 | |
| PpViewSlideSorter = 7 | |
| PpViewThumbnails = 11 | |
| PpViewTitleMaster = 8 | |
| PpWindowMaximized = 3 | |
| PpWindowMinimized = 2 | |
| PpWindowNormal = 1 | |
| end | |
| include Constants | |
| def initialize | |
| # WIN32OLE | |
| @wsh=WIN32OLE.new("WScript.Shell") | |
| # API | |
| @getAsyncKeyStateAPI=Win32API.new("user32", "GetAsyncKeyState", ['i'], 'L') | |
| @getKeyStateAPI=Win32API.new("user32", "GetKeyState", ['i'], 'L') | |
| @getKeyboardStateAPI=Win32API.new("user32", "GetKeyboardState", ['P'], 'V') | |
| @setCursorPosAPI=Win32API.new("user32", "SetCursorPos", ['i', 'i'], 'V') | |
| @getCursorPosAPI=Win32API.new("user32", "GetCursorPos", ['P'], 'V') | |
| @mouseEventAPI=Win32API.new("user32", "mouse_event",['l', 'l','l', 'l','l'],'V') | |
| @findWindowExAPI= Win32API.new("user32", "FindWindowEx", ['L','L','P', 'P'], 'L') | |
| @findWindowAPI=Win32API.new("user32", "FindWindow",['P', 'P'],'I') | |
| @getTopWindowAPI=Win32API.new("user32", "GetTopWindow",['L'],'L') | |
| @getWindowTextAPI=Win32API.new("user32", "GetWindowText",['l','P','l'],'I') | |
| @setForegroundWindowAPI=Win32API.new("user32", "SetForegroundWindow",['l'],'V') | |
| @getClassNameAPI=Win32API.new("user32", "GetClassName",['l','P','l'],'V') | |
| @setFocusAPI=Win32API.new("user32", "SetFocus",['l'],'V') | |
| @getForegroundWindowAPI=Win32API.new("user32", "GetForegroundWindow",[],'I') | |
| @getWindowRectAPI=Win32API.new("user32", "GetWindowRect",['I','P'],'V') | |
| @moveWindowAPI=Win32API.new("user32", "MoveWindow",['I','I','I','I','I','I'],'V') | |
| @sendMessageAPI=Win32API.new("user32", "SendMessage",['L','L','L','L'],'V') | |
| @postMessageAPI=Win32API.new("user32", "PostMessage",['L','L','L','L'],'V') | |
| @playSoundAPI=Win32API.new('winmm','PlaySound','ppl','i') | |
| @mciSendStringAPI=Win32API.new('winmm','mciSendString',['P'],'V') | |
| # USER32 | |
| @user32=DL.dlopen("user32") | |
| @enumWindows=@user32['EnumWindows', '0PL'] | |
| @enumChildWindows=@user32['EnumChildWindows', '0IPL'] | |
| end | |
| def closeComandWindowLikeName(name,delay=2) | |
| findWindowLikeName(name).first.each{|w| | |
| setForegroundWindow(w) | |
| sleep delay | |
| sendKeys('% ',delay) # ALT+SPACE | |
| sendKeys('c',delay) | |
| } | |
| end | |
| def run(fileOrApl) | |
| @wsh.Run(fileOrApl) | |
| end | |
| def sendKeys(keys, delay=0) | |
| sleep delay | |
| @wsh.SendKeys(keys) | |
| # {BACKSPACE}{BS}{BKSP} | |
| #{BREAK} | |
| #{CAPSLOCK} | |
| #{DELETE}{DEL} | |
| #{DOWN} | |
| #{END} | |
| #{ENTER} | |
| #{ESC} | |
| #{HELP} | |
| #{HOME} | |
| #{INSERT}{INS} | |
| #{LEFT} | |
| #{NUMLOCK} | |
| #{PGDN} | |
| #{PGUP} | |
| #{PRTSC} | |
| #{RIGHT} | |
| #{SCROLLLOCK} | |
| #{TAB} | |
| #{UP} | |
| #{F1} ... {F12} | |
| #Shit = +() ex "+(T)his is a sanple." | |
| #Ctrl= ^() | |
| #Alt= %() | |
| #+ {+} | |
| #^ {^} | |
| #% {%} | |
| #{ {{} | |
| #} {}} | |
| # {a 100} means type a 100 times | |
| end | |
| def sendMouse(command,x=0.2,y=0.2) | |
| case command | |
| when "LEFTDOWN" | |
| sendLButtonDown | |
| when "LEFTUP" | |
| sendLButtonUp | |
| when "MIDDLEDOWN" | |
| sendMButtonDown | |
| when "MIDDLEUP" | |
| sendMButtonUp | |
| when "RIGHTDOWN" | |
| sendRButtonDown | |
| when "RIGHTUP" | |
| sendRButtonUp | |
| when "LEFTCLICK" | |
| sendLButtonDown | |
| sleep x | |
| sendLButtonUp | |
| when "MIDDLECLICK" | |
| sendMButtonDown | |
| sleep x | |
| sendMButtonUp | |
| when "RIGHTCLICK" | |
| sendRButtonDown | |
| sleep x | |
| sendRButtonUp | |
| when "LEFTDOUBLECLICK" | |
| sendLButtonDown | |
| sleep x | |
| sendLButtonUp | |
| sleep y | |
| sendLButtonDown | |
| sleep x | |
| sendLButtonUp | |
| when "MIDDLEDOUBLECLICK" | |
| sendMButtonDown | |
| sleep x | |
| sendMButtonUp | |
| sleep y | |
| sendMButtonDown | |
| sleep x | |
| sendMButtonUp | |
| when "RIGHTDOUBLECLICK" | |
| sendRButtonDown | |
| sleep x | |
| sendRButtonUp | |
| sleep y | |
| sendRButtonDown | |
| sleep x | |
| sendRButtonUp | |
| when "ABS" | |
| mouseMoveAbsPix(x,y) | |
| when "REL" | |
| pos=getCursorPos | |
| mouseMoveAbsPix(pos[0]+x,pos[1]+y) | |
| when "WHEEL" | |
| mouseMoveWheel(w) | |
| else | |
| end | |
| end | |
| def mouseMoveAbsPix(x,y) | |
| @setCursorPosAPI.call(x, y) | |
| end | |
| def mouseMoveWheel(w) | |
| @mouseEventAPI.call(MOUSEEVENTF_WHEEL,0,0,w,0) | |
| end | |
| def findWindowLike(title) | |
| findWindowLikeName(title) | |
| end | |
| def findWindowLikeName(title) | |
| wins=[] | |
| @enumWindowsProc=DL.callback('IL') do |hwnd| | |
| buf=" "*1024 | |
| @getWindowTextAPI.call(hwnd,buf,buf.size) | |
| wins << [hwnd, buf.sub(/\0.+$/,'')] if /#{title}/=~buf | |
| -1 | |
| end | |
| @enumWindows.call(@enumWindowsProc, 0) | |
| DL.remove_callback(@enumWindowsProc) | |
| wins | |
| end | |
| def findChildWindowLikeName(title) | |
| hwnds=[] | |
| @enumWindowsProc=DL.callback('IL') do |hwnd| | |
| hwnds<< hwnd | |
| -1 | |
| end | |
| @enumWindows.call(@enumWindowsProc, 0) | |
| wins=[] | |
| @enumChildWindowsProc=DL.callback('IL') do |hwnd| | |
| buf=" "*1024 | |
| @getWindowTextAPI.call(hwnd,buf,buf.size) | |
| wins << [hwnd, buf.sub(/\0.+$/,'')] if /#{title}/=~buf | |
| -1 | |
| end | |
| hwnds.each do |hwnd| | |
| @enumChildWindows.call(hwnd, @enumChildWindowsProc, 0) | |
| end | |
| DL.remove_callback(@enumWindowsProc) | |
| DL.remove_callback(@enumChildWindowsProc) | |
| wins | |
| end | |
| def findWindowLikeClass(classname) | |
| hwnds=[] | |
| @enumWindowsProc=DL.callback('IL') do |hwnd| | |
| hwnds<< hwnd | |
| -1 | |
| end | |
| @enumWindows.call(@enumWindowsProc, 0) | |
| wins=[] | |
| @enumChildWindowsProc=DL.callback('IL') do |hwnd| | |
| buf=" "*1024 | |
| @getClassNameAPI.call(hwnd,buf,buf.size) | |
| wins << [hwnd, buf.sub(/\0.+$/,'')] if /#{classname}/=~buf | |
| -1 | |
| end | |
| hwnds.each do |hwnd| | |
| @enumChildWindows.call(hwnd, @enumChildWindowsProc, 0) | |
| end | |
| DL.remove_callback(@enumWindowsProc) | |
| DL.remove_callback(@enumChildWindowsProc) | |
| wins | |
| end | |
| def setForegroundWindow(hwnd) | |
| @setForegroundWindowAPI.call(hwnd) | |
| end | |
| def setFocus(hwnd) | |
| @setFocusAPI.call(hwnd) | |
| end | |
| def getCursorPos | |
| lpP=" "*8 | |
| @getCursorPosAPI.Call(lpP) | |
| lpP.unpack("LL") | |
| end | |
| def mouseEvent(event,x=0,y=0,w=0) | |
| @mouseEventAPI.call(event,x,y,w,0) | |
| end | |
| def sendLButtonUp | |
| mouseEvent(MOUSEEVENTF_LEFTUP) | |
| end | |
| def sendLButtonDown | |
| mouseEvent(MOUSEEVENTF_LEFTDOWN) | |
| end | |
| def sendMButtonUp | |
| mouseEvent(MOUSEEVENTF_MIDDLEUP) | |
| end | |
| def sendMButtonDown | |
| mouseEvent(MOUSEEVENTF_MIDDLEDOWN) | |
| end | |
| def sendRButtonUp | |
| mouseEvent(MOUSEEVENTF_RIGHTUP) | |
| end | |
| def sendRButtonDown | |
| mouseEvent(MOUSEEVENTF_RIGHTDOWN) | |
| end | |
| def sendMouseMoveRel(x,y) | |
| sendMouse('REL',x,y) | |
| end | |
| def sendMouseMoveAbs(x,y) | |
| sendMouse('ABS',x,y) | |
| end | |
| def getForegroundWindow | |
| @getForegroundWindowAPI.call | |
| end | |
| def getWindowRect(hwnd) | |
| lpP=" "*16 | |
| @getWindowRectAPI.call(hwnd,lpP) | |
| lpP.unpack("LLLL") | |
| end | |
| def moveWindow(hwnd,x=0,y=0,width=500,height=500,repaint=1) | |
| @moveWindowAPI.call(hwnd,x,y,width,height,repaint) | |
| end | |
| def pushButton(button, delay=1) | |
| pushChildButton(getForegroundWindow, button, delay) | |
| end | |
| def pushChildButton(parent, button, delay=1) | |
| setForegroundWindow(parent) | |
| sleep delay | |
| hwnd=findWindowLikeName(button).first[0] | |
| postMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, 0) | |
| sleep 0.5 | |
| postMessage(hwnd, WM_LBUTTONUP, 0, 0) | |
| end | |
| def sendMessage(hwnd,msg,wparam,lparam) | |
| @sendMessageAPI.call(hwnd,msg,wparam,lparam) | |
| end | |
| def postMessage(hwnd,msg,wparam,lparam) | |
| @postMessageAPI.call(hwnd,msg,wparam,lparam) | |
| end | |
| def getTopWindow(hwnd) | |
| @getTopWindowAPI.call(hwnd) | |
| end | |
| def cdAudioDoorOpen | |
| @mciSendStringAPI.call('set cdaudio door open') | |
| end | |
| def cdAudioDoorClose | |
| @mciSendStringAPI.call('set cdaudio door closed') | |
| end | |
| def playSound(file) | |
| @playSoundAPI.call(file,nil,0) | |
| end | |
| def getKeyState(key) | |
| @getKeyStateAPI.call(key) | |
| end | |
| def getAsyncKeyState(key) | |
| @getAsyncKeyStateAPI.call(key) | |
| end | |
| def getKeyboardState | |
| lpP=" "*257 | |
| @getKeyboardStateAPI.call(lpP) | |
| lpP | |
| end | |
| def Win32GuiTest.convertPerlScript(path) | |
| isAlt=false | |
| isShift=false | |
| isCtrl=false | |
| puts "require 'win32GuiTest'" | |
| puts "gui=Win32GuiTest.new" | |
| puts "" | |
| puts "sleep 5" | |
| puts "" | |
| open(path) do |f| | |
| f.each do |line| | |
| if /^#[^!]+.+$/=~line | |
| puts line | |
| else | |
| puts "sleep #{$1}" if /^select\(undef, undef, undef, (.+?)\);$/=~line | |
| puts "gui.mouseMoveAbsPix(#{$1},#{$2})" if /^MouseMoveAbsPix\((\d.+), (\d.+)\);$/=~line | |
| puts "gui.sendMouse(\"#{$1}\")" if /^SendMouse\('\{(.+?)\}'\);$/=~line | |
| isCtrl = true if /^SendRawKey\(VK_LCONTROL, KEYEVENTF_EXTENDEDKEY\);/=~line | |
| isCtrl = false if /^SendRawKey\(VK_LCONTROL, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP\);/=~line | |
| isAlt = true if /^SendRawKey\(VK_LMENU, KEYEVENTF_EXTENDEDKEY\);/=~line | |
| isAlt = false if /^SendRawKey\(VK_LMENU, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP\);/=~line | |
| isShift = true if /^SendRawKey\(VK_LSHIFT, KEYEVENTF_EXTENDEDKEY\);/=~line | |
| isShift = false if /^SendRawKey\(VK_LSHIFT, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP\);/=~line | |
| if /^SendKeys\('(.+?)'\);$/=~line | |
| texts=$1 | |
| texts.gsub!('{BAC}','{BACKSPACE}') | |
| texts.gsub!('{SPC}',' ') | |
| texts.gsub!('{ENT}','{ENTER}') | |
| texts.gsub!('{LEF}','{LEFT}') | |
| texts.gsub!('{RIG}','{RIGHT}') | |
| texts.gsub!('{DOW}','{DOWN}') | |
| if isCtrl || isAlt || isShift | |
| puts "gui.sendKeys('\^\(#{texts}\)')" if isCtrl | |
| puts "gui.sendKeys('\%\(#{texts}\)')" if isAlt | |
| puts "gui.sendKeys('\+\(#{texts}\)')" if isShift | |
| else | |
| puts "gui.sendKeys('#{texts}')" | |
| end | |
| end | |
| end | |
| end | |
| end | |
| end | |
| def Win32GuiTest.bmp2texts(file) | |
| # using Microsoft Office Document Imaging Library (MODI) | |
| doc=WIN32OLE.new('MODI.Document') | |
| doc.Create(file) | |
| doc.OCR(17, false, false) # Japanese | |
| img=doc.Images(0) | |
| layout=img.Layout | |
| str=layout.Text | |
| doc.Close | |
| return str | |
| end | |
| def Win32GuiTest.img2PPTbyOCR(file,texts,title='') | |
| powerPoint=WIN32OLE.new("PowerPoint.Application") | |
| powerPoint.visible=true | |
| ppt=powerPoint.Presentations.Open( \ | |
| WIN32OLE.new('Scripting.FileSystemObject').GetAbsolutePathName("ocrmaster.ppt")) | |
| ppt.Slides(1).Shapes(1).TextFrame.TextRange.Text=title | |
| ppt.Slides(1).Shapes(2).TextFrame.TextRange.Text=texts | |
| ppt.SaveAs(WIN32OLE.new('Scripting.FileSystemObject').GetAbsolutePathName(file)) | |
| powerPoint.Quit | |
| end | |
| def Win32GuiTest.jpg2wmf(file,del=false) | |
| f=Win32GuiTest.jpg2bmp(file,false) | |
| f=Win32GuiTest.bmp2pbm(f) | |
| f=Win32GuiTest.pbm2eps(f) | |
| return Win32GuiTest.eps2wmf(f) | |
| end | |
| def Win32GuiTest.jpg2bmp(file,del=true) | |
| output=file.sub(/\.jpg$/i,'.bmp') | |
| command="apps\\JPG2BMP.EXE "+file+' '+output | |
| `#{command}` | |
| File.delete(file) if del | |
| return output | |
| end | |
| def Win32GuiTest.bmp2pbm(file,del=true) | |
| command="apps\\mkbitmap.exe "+file | |
| `#{command}` | |
| File.delete(file) if del | |
| return file.sub(/\.bmp$/i,'.pbm') | |
| end | |
| def Win32GuiTest.pbm2eps(file,del=true) | |
| command="apps\\potrace.exe "+file | |
| `#{command}` | |
| File.delete(file) if del | |
| return file.sub(/\.pbm$/i,'.eps') | |
| end | |
| def Win32GuiTest.eps2wmf(file,del=true) | |
| output=file.sub(/.eps$/i,'.wmf') | |
| command="apps\\pstoedit.exe -f emf "+file+" "+output | |
| `#{command}` | |
| File.delete(file) if del | |
| return file.sub(/\.eps$/i,'.wmf') | |
| end | |
| def Win32GuiTest.img2PPT(file,wmf,del=true) | |
| powerPoint=WIN32OLE.new("PowerPoint.Application") | |
| powerPoint.visible=true | |
| ppt=powerPoint.Presentations.Open( \ | |
| WIN32OLE.new('Scripting.FileSystemObject').GetAbsolutePathName("master.ppt")) | |
| ppt.Slides(1).Shapes.AddPicture(WIN32OLE.new('Scripting.FileSystemObject').GetAbsolutePathName(wmf), | |
| false, true,260,200,400,300) | |
| ppt.Slides(1).Shapes.each {|shape| | |
| if shape.TextFrame.HasText != 0 | |
| s=shape.TextFrame.TextRange.Text | |
| shape.TextFrame.TextRange.Text=s.sub('name',wmf.sub(/\.wmf$/i,'')) | |
| end | |
| } | |
| ppt.SaveAs(WIN32OLE.new('Scripting.FileSystemObject').GetAbsolutePathName(file)) | |
| powerPoint.Quit | |
| File.delete(wmf) if del | |
| end | |
| end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment