【ComObjActive操作PPT】之改变选中对象的颜色、形状、线宽

1.将对象调整为目标颜色A,并将光标置于A上
2.按F8拾取颜色(颜色号自动复制到剪贴板)
3.修改红色内容为剪贴板中数值。ShapeSelected.Line.ForeColor.RGB:=0x000000

小火箭:
1.代表形状的填充格式。 形状可以有单色、渐变、纹理、图案、图片或半透明填充[FillFormat 对象 (PowerPoint) https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.fillformat
2.指定线条的虚线线型[LineFormat.DashStyle 属性 (PowerPoint) https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.lineformat.dashstyle
其他属性在上述网站亦可查询

  F7::
    ox:= ComObjActive("powerpoint.Application")
    SlideSelected:= ox.ActiveWindow.Selection.SlideRange ;选定内容中的幻灯片范围。
    for ShapeSelected in ox.ActiveWindow.Selection.ShapeRange
    ShapeSelected.Line.weight:=1 ;设置线宽
    msoShapeRoundedRectangle :=5
    ShapeSelected.AutoShapeType :=msoShapeRoundedRectangle 设置选中对象的形状OK ;设置为圆角矩形
    ShapeSelected.Line.ForeColor.RGB:=0x000000
  Return
  F8:: ;拾取PPT中颜色后,即可赋值给表达式使用
    MouseGetPos, MouseX, MouseY
    PixelGetColor, ColorIndex, %MouseX%, %MouseY%
    Sleep,200
    Clipboard = %ColorIndex%
    ;ox.ActiveWindow.Selection.ShapeRange.Fill.ForeColor.RGB :=color+0
  return

给TA捐赠
共{{data.count}}人
人已捐赠
游戏社区推荐

gui练习-诛仙3单机1715技能修改

2022-7-31 21:59:58

办公

【ComObjActive操作PPT】之为选中对象添加动画

2022-7-31 22:01:06

6 条回复 A文章作者 M管理员
  1. 老王头

    鼠标停留在桌面上任意位置,F1,将该位置像素赋于主题1的颜色,F2依次主题2 F1:: color:= GetMouseColor() oRGB := HexToRGB(color) SetThemeColor(5,oRGB) oRGB := 0 return F2:: color:= GetMouseColor() oRGB := HexToRGB(color) SetThemeColor(6,oRGB) oRGB := 0 return F3:: color:= GetMouseColor() oRGB := HexToRGB(color) SetThemeColor(7,oRGB) oRGB := 0 return F4:: color:= GetMouseColor() oRGB := HexToRGB(color) SetThemeColor(8,oRGB) oRGB := 0 return GetMouseColor(){ MouseGetPos, mouseX, mouseY CoordMode, Pixel, Screen PixelGetColor, color, %mouseX%, %mouseY%, RGB ;~ StringRight color,color,8 return color } HexToRGB(HexColor){ RR := SubStr(HexColor, 3, 2) GG := SubStr(HexColor, 5, 2) BB := SubStr(HexColor, 7, 2) oRGB16 := “0x” BB GG RR oRGB := ToBase(oRGB16,10) return oRGB } SetThemeColor(Index,oRGB){ try{ oPPT := ComObjActive(“powerpoint.Application”) oDess := oPPT.ActivePresentation.Designs loop, % oDess.Count oDess.item(A_Index).SlideMaster.Theme.ThemeColorScheme(index).RGB := oRGB } return } ToBase(n,b){ return (n < b ? "" : ToBase(n//b,b)) . ((d:=Mod(n,b)) < 10 ? d : Chr(d+55)) }

  2. HoneyBadger

    标题不够醒目,用一个醒目的标题就知道你发的什么比如ComObjActive操作PPT之……、ComObjActive操作Excel之……

  3. 1河许人

    出一个ppt系列也是挺好的

    • 致良知·明

      后边有相关的需求慢慢写吧,目前的存货撑不起一个系列。

  4. 1河许人
    1河许人给您打赏了¥1
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索