在幻灯片显示当链接的Excel对象在Powerpoint中不会更新(Linked Excel Obj

2019-09-20 06:05发布

我是新来的这一点,基本上是我想要做的是:

- 我有文件的2个Excel文件和1个PowerPoint演示文稿 - 所有都在-I链接我的Excel文件来 - 我有Office 2003和2007版本的PowerPoint演示共享网络

问题:

我玩的PowerPoint幻灯片,并将其设置为循环1台计算机上显示其在工作中的大液晶显示屏上,然后我访问一个单独的计算机上的Excel文件,并从那里更新,问题是正在不会幻灯片自动显示我的变化。 我必须手动停止演出,然后单击幻灯片(更新链接),将它显示我刚刚输入的更新。

有没有办法让幻灯片将在展会中展示我的更新数据,我不会有手动停止它,然后单击更新链接。

我在这里找到了一个有点类似的问题,但没有得到回答的地步,这将有助于我提出我的问题。

Answer 1:

我已经解决了上述使用此代码的问题

Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
    If SSW.View.CurrentShowPosition = 2 Then
        ActivePresentation.UpdateLinks
    End If
End Sub

假设我在节目2张幻灯片,是通过幻灯片2时,它会触发更新的链接和循环回用更新的OLE链接滑动1。 我花了大量的阅读来获得这部分,但我不能让它跑,当我开始表演。 我必须手动按下Alt + F8,然后单击所以运行代码将循环每张幻灯片2。

编辑:终于得到它,但不运行宏一次工作。 我刚打开PowerPoint和播放节目。 当节目通过幻灯片2或只是一个开始更新进行动态更新。 现在也有一些仍然没有对这个问题的解决方案,希望这可以帮助你。

我利用这里找到在autoevent.zip http://skp.mvps.org/autoevents.htm 。 我安装包含在zip作为附加在AutoEvents.ppa并激活它在PPT2007和PPT2003。 然后创建与该码的正常模块/宏。

Sub Auto_ShowBegin()
ActivePresentation.UpdateLinks
End Sub
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
'
' AUTO UPDATE OF OLE LINKS MACRO
'
    If SSW.View.CurrentShowPosition = 2 Then
        ActivePresentation.UpdateLinks
    End If
End Sub

和你做。 请确保您保存您的PowerPoint中启用宏的格式都为2003年和2007年,这是因为我的MS Office的两个版本。 并勾选ckeck框说对VBA工程对象模型以诚取信访问。 此外循环幻灯片,这样当它通过幻灯片2或演出刚开始的时候,它会更新所有OLE链接。

请评论,如果我错过了一些东西。 希望这可以帮助。



Answer 2:

我认为你需要的代码这一点。

添加一个新类模块,演示文稿,并命名为“clsEvents”。 添加以下代码:

Public WithEvents PPTEvent As Application

Sub PPTEvent_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
   Dim objSld As Slide, shp As Shape

   Set objSld = Wn.Presentation.Slides(Wn.View.CurrentShowPosition)

   For Each shp In objSld.Shapes
      If shp.Type = msoLinkedOLEObject Then
         shp.LinkFormat.Update
      End If
      Next shp

End Sub

在一个正常的模块认沽:

Dim app As clsEvents

Sub SetUpEvents()

    Set app = New clsEvents
    Set app.PPTEvent = Application

End Sub

开始幻灯片之前运行setupevents。



文章来源: Linked Excel Object in Powerpoint wont update when showing in slideshow