ppt中共有N张幻灯片,每张幻灯片上有一个textbox1控件。
现在需要在每张幻灯片的textbox1中都写入一个“A”字,这个代码怎么写呢?
也就是说,先要判断ppt中有多少张幻灯片,再逐一对其进行写入的操作。
恳请高手相助,谢谢!
请教:想要对幻灯片进行循环操作的代码怎么写?
weide_yang 发表于: 2010-1-27 11:24 来源: 扑奔PPT网
大家对 请教:想要对幻灯片进行循环操作的代码怎么写? 的评论
最新PPT模板
最新贴子
PPT热贴
我这样写,试了不行:
for i=1 to slides.count
with slides(i)
.textbox1.value="小"
end with
next
请版主多多指教,谢谢!
Sub onSlideShowpageChange()
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Type = msoOLEControlObject Then
shp.OLEFormat.Object.Text = "A"
End If
Next
Next
End Sub
[ 本帖最后由 laose 于 2010-1-28 10:41 编辑 ]
只是离我的实际需要还未达成最后的效果:我是想在每个textbox1中写入“A”,而在每个textbox2中写入“B”。
(您的代码是在所有的textbox中都写入" A " 的。)
附件如下,请参考赐教,谢谢!
(2010-01-28 12:46:17, Size: 18.2 KB, Downloads: 13)
Sub onSlideShowpageChange()
Dim i As Integer
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Type = msoOLEControlObject Then
For i = 1 To sld.Shapes.Count
sld.Shapes("TextBox" & i).OLEFormat.Object.Text = Chr(64 + i)
Next
End If
Next
Next
End Sub
[ 本帖最后由 laose 于 2010-1-28 19:44 编辑 ]
sld.Shapes(i).OLEFormat.Object.Text = Chr(64 + i)
我原来写了几十个 with...., end with:
With Slide1
.TextBox1.Value = "A"
.TextBox2.Value = "B"
end with
With Slide2
.TextBox1.Value = "A"
.TextBox2.Value = "B"
end with
..........
现在就是想的要用循环操作的方法来简化原表的代码,可是怎么也弄不成功。
[ 本帖最后由 weide_yang 于 2010-1-28 20:07 编辑 ]
过些时间,再向您请教,祝您快乐!!!
Sub onSlideShowPageChange(wn As SlideShowWindow)
Dim i As Integer
For i = 1 To wn.View.Slide.Shapes.Count
wn.View.Slide.Shapes("TextBox" & i).OLEFormat.Object.Text = Chr(64 + i)
Next
End Sub
[ 本帖最后由 laose 于 2010-1-28 20:26 编辑 ]
如果您那里没问题,请从您那里再把附件发还给我看看,行吗?有劳您了!
(2010-01-29 09:08:55, Size: 22.1 KB, Downloads: 9)
版主,您可否提供一个手动的代码,当我把它做成菜单上的按钮后,可以被执行达成想要的效果。谢谢!!!