使用VBScript创建一条线并更改幻灯片中的线条颜色

问题描述:

我想使用VBScript创建一条线,并将幻灯片中的线条颜色更改为黑色。只是示例代码很好。谢谢。使用VBScript创建一条线并更改幻灯片中的线条颜色

+0

你可以分享你已经试过/做过的事吗? SO不是“为你写代码”的网站。 –

我记录输入一行,然后改变它的颜色。这是VBA代码。

ActiveWindow.Selection.SlideRange.Shapes("Rectangle 3").Select 
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select 
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=0).Select 
    With ActiveWindow.Selection.TextRange 
     .Text = "Hi There" + Chr$(CharCode:=13) 
     With .Font 
      .NameAscii = "Arial" 
      .NameComplexScript = "Arial" 
      .Size = 32 
      .Bold = msoFalse 
      .Italic = msoFalse 
      .Underline = msoFalse 
      .Shadow = msoFalse 
      .Emboss = msoFalse 
      .BaselineOffset = 0 
      .AutoRotateNumbers = msoFalse 
      .Color.SchemeColor = ppForeground 
     End With 
    End With 
    ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = ppForeground 
    ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = ppAccent2 

哪些可以浓缩到

ActiveWindow.Selection.SlideRange.Shapes("Rectangle 3").Select 
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select 
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=0).Select 
With ActiveWindow.Selection.TextRange 
    .Text = "Hi There" + Chr$(CharCode:=13) 
    With .Font 
     .Color.SchemeColor = ppForeground 
    End With 
End With 
ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = ppForeground 
ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = ppAccent2 

然后将其转换为无类型和使用后期绑定。还将命名参数转换为位置。将常量替换为它们的值(在Powerpoint的对象浏览器中查找)。请注意应用程序对象不是全局的,因此请在方法和属性前加上​​。

Set PP = CreateObject("PowerPoint.Application") 
pp.ActiveWindow.Selection.SlideRange.Shapes("Rectangle 3").Select 
pp.ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select 
pp.ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(1, 0).Select 
With pp.ActiveWindow.Selection.TextRange 
    .Text = "Hi There" + Chr$(13) 
    With .Font 
     .Color.SchemeColor = 2 
    End With 
End With 
ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = 2 
ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = 7 

以上是有效的VBScript和VBA。

+0

感谢您的帮助。这对于文字设置很有用,但我需要一个示例代码来在PowerPoint幻灯片中创建黑色线条,或者创建带黑色框架和透明内部的retangle。期待您的进一步协助。 – Larry

我向您展示了如何将VBA的录制语法转换为标准的VBA/VBScript。

记录你的动作,PowerPoint将为你做。

Alt + T,M,R(和相同的键停止记录)。按Alt + F11查看录制的代码。然后如上转换。

这是powerpoint记录画一条线。

Sub Macro1() 
' 
' Macro recorded 15/08/2016 by User 
' 

    ActiveWindow.Selection.SlideRange.Shapes.AddLine(59.5, 219#, 671.88, 219#).Select 
    With ActiveWindow.Selection.ShapeRange 
     .Line.ForeColor.SchemeColor = ppForeground 
     .Line.Visible = msoTrue 
    End With 
End Sub 

所以用它们的值替换常量。使用createobject添加一个应用程序对象,如上面的帖子。