我正在尝试在PowerPoint(2010)VBA中的幻灯片上创建一个形状
我创建了一个按钮和以下代码:
私人子AddShape_Click()
Dim shp As Shape
Dim sld As Slide
Set sld = Application.ActiveWindow.View.Slide
Set shp = sld.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=24, Top:=65.6, Width:=672, Height:=26.6)
'No Shape Border
shp.Line.Visible = msoFalse
'Shape Fill Color
shp.Fill.ForeColor.RGB = RGB(137, 143, 75)
shp.Fill.BackColor.RGB = RGB(137, 143, 75)
结束子
当我将演示文稿作为幻灯片放映运行并单击"添加形状"按钮时,出现以下错误:
运行时错误"-2147188160 (80048240)":应用程序(未知成员):请求无效。当前没有活动的文档窗口。
我在网上找到的所有内容都表明此代码应该可以正常运行。
感谢所有协助!!
卡罗琳
如果在演示文稿处于幻灯片(全屏)模式时运行代码,则会收到No Current Active Document Window
错误。试试这个,改为:
set sld = Application.ActivePresentation.SlideShowWindow.View.Slide
在幻灯片放映视图中,事情的工作方式不同,但一些非常简单的修改将解决此问题。 将其添加到项目中,并将AddShape_Click分配为操作设置(运行宏):
Public Sub AddShape_Click(oBtn As Shape)
' It has to be public for the action setting to see it
Dim shp As Shape
Dim sld As Slide
'Set sld = Application.ActiveWindow.View.Slide
Set sld = oBtn.Parent
Set shp = sld.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=24, Top:=65.6, Width:=672, Height:=26.6)
'No Shape Border
shp.Line.Visible = msoFalse
'Shape Fill Color
shp.Fill.ForeColor.RGB = RGB(137, 143, 75)
shp.Fill.BackColor.RGB = RGB(137, 143, 75)
End Sub
如果PowerPoint最近崩溃并且仍在后台运行,您也可能收到此错误。 尝试使用任务管理器终止任何此类Powerpoint进程,然后重试。