我是Powerpoint VBA的新手,与excel VBA完全不同。我可以用excel但不是powerpoint来做,需要一些帮助。我需要在文本框中输入分数。之后按下按钮,形状将根据分数值填充颜色。分数越高,越多的形状就会填满。以下是我的代码:
Sub AddShape()
Dim counter As Integer
Dim TopValue As Integer
TopValue = 500
For counter = 1 To 5
Set myDocument = ActivePresentation.Slides(2)
With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, Left:=144, _
Top:=TopValue, Width:=72, Height:=5)
.Name = "Rectangle" & counter
.Fill.Visible = msoFalse
.Line.DashStyle = msoLineSolid
End With
TopValue = TopValue - 50
Next counter
Dim tshape As Shape
Set tshape = ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject(Left:=850, Top:=100,
Width:=90, Height:=40, ClassName:="Forms.TextBox.1", Link:=msoFalse)
End Sub
Private Sub CommandButton1_Click()
If CInt(TextBox1.Text) > 0 And CInt(TextBox1.Text) < 11 Then
ActivePresentation.Slides(2).Shapes("Rectangle1").Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End Sub
Private Sub TextBox1_Change()
Me.TextBox1.SpecialEffect = fmSpecialEffectFlat
End Sub
Private Sub CommandButton1_Click中的代码看不到工作......请指教。我得到了迅速的运行错误&#39; 424&#39;所需对象。由于以上所有代码均为谷歌搜索直接复制,因此特定代码表示赞赏。我没有太多的vba powerpoint知识。 非常感谢你。
答案 0 :(得分:0)
您需要访问OLE对象及其属性,与在幻灯片上处理常规形状的方式略有不同。
使用
代替TextBox1.TextActivePresentation.Slides(2).Shapes( “TextBox1中”)。OLEFormat.Object.Text