PowerPoint VBA断开OLEFormat对象中的链接
我有一张PowerPoint 2007幻灯片,其中有两个嵌入的excel对象。 我想访问sheet1选项卡并断开所有链接。 我试图复制和粘贴的价值,但我卡住了,虽然代码运行,它没有做什么。 非常感谢您的帮助 将oSl变暗为幻灯片 将oSheet设置为对象 将PPApp设置为PowerPoint.Application 将PPPres变暗为PowerPoint演示文稿 对于ActivePresentation.Slides中的每个oSl 对于oSl形状中的每个oShPowerPoint VBA断开OLEFormat对象中的链接,vba,hyperlink,powerpoint,break,Vba,Hyperlink,Powerpoint,Break,我有一张PowerPoint 2007幻灯片,其中有两个嵌入的excel对象。 我想访问sheet1选项卡并断开所有链接。 我试图复制和粘贴的价值,但我卡住了,虽然代码运行,它没有做什么。 非常感谢您的帮助 将oSl变暗为幻灯片 将oSheet设置为对象 将PPApp设置为PowerPoint.Application 将PPPres变暗为PowerPoint演示文稿 对于ActivePresentation.Slides中的每个oSl 对于oSl形状中的每个oSh ActiveWindow.Vi
ActiveWindow.View.GotoSlide oSl.SlideIndex
If oSh.Type = msoEmbeddedOLEObject Then
oSh.OLEFormat.Activate
With oSh.OLEFormat.Object
.Application.Workbooks(1).Worksheets(1).Cells.Copy
.Application.Workbooks(1).Worksheets(1).Cells.PasteSpecial Paste:=xlPasteValues
End With
ActiveWindow.Selection.Unselect
ActiveWindow.View.GotoSlide oSl.SlideIndex
End If
Next
下一个
结束子项已更新/编辑。。。跳过应用程序更新行,改为尝试这样做:
If oSh.Type = msoEmbeddedOLEObject Then
With oSh.OLEFormat.Object ' added .Object here
.Activate
.Application.workbooks(1).worksheets(2).Cells.Copy
.Application.workbooks(1).worksheets(2).Cells.PasteSpecial Paste:=xlPasteValues
End With
End if
首先,在上面的代码中,将常量lxPasteValues定义为Long=-4163或将xlPasteValues替换为-4163 谢谢@Steve,但我试过了,刚发现“对象不支持属性或方法”错误。我用这一行替换了复制和粘贴行,它可以工作。工作表(1)。范围(“A1:a312”)。值=.Workbook.Worksheets(1)。范围(“A1:a312”)。值抱歉@Steve,但该代码不会打开嵌入的对象,也不会复制或粘贴任何内容。它可能在Excel中工作,但在Powerpoint VBA中不工作。不确定为什么它不适用于您。。。在这里测试了它(在PowerPoint 2010中),它成功了。也许我们有两个不同的对象。我的是excel.sheet.8对象。如果你有2010,我打赌你的是一个excel.sheet.12对象,这两个对象不一样。谢谢你的意见。