Powerpoint VBA从Excel切换回powerpoint
我希望有人能帮帮忙….
我有一个幻灯片演示文稿,它链接了Excel文件中的表格和graphics。 幻灯片的更新设置为手动。
我在Powerpoint中创build了一个打开excel文件的VBA代码。 我试图通过VBA更新PowerPoint中的链接,而不是手动select每个链接元素和更新值。 而我的VBA代码的第一部分在打开excel文件的工作,链接没有更新,我认为是不是在回到更新链接的Powerpoint,所以我想包括在我的VBA代码行将回到PowerPoint演示文稿,之后,我假设该行更新链接将工作(高兴地被纠正)。 下面是我迄今为止build立的代码….我的评论是粗体的…
有什么build议么? 仅供参考,我正在使用Office 2007。
谢谢
Sub test() Dim xlApp As Object Dim xlWorkBook As Object Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlWorkBook = xlApp.Workbooks.Open("File location\filename.xlsm", True, False) Set xlApp = Nothing Set xlWorkBook = Nothing
上面的部分打开包含链接表和图表的excel文件
On Error Resume Next With GetObject(, "PowerPoint.Application") .ActivePresentation.SlideShowWindow.Activate End With
上面的部分,我希望能够打开Excel文件后回到PowerPoint中,但它不这就是为什么我认为下面的代码来更新链接不工作
ActivePresentation.UpdateLinks End Sub
从更简单的事情开始。 这将允许您从Excel激活第一个现有的PowerPoint应用程序:
Option Explicit Public Sub TestMe() Dim ppt As New PowerPoint.Application ppt.visible = msoTrue ppt.Windows(1).Activate End Sub
然后玩一下,并将其修复到您的代码中。
@Vityata
好吧,我得到它的工作….原来的代码做了打开Excel文件的第一部分,并切换回Powerpoint(我认为这将只工作,如果只有一个演示文稿打开,我加了下面的代码。 ..
AppActivate“Microsoft PowerPoint”
所以我的完整代码如下所示:
Sub test()Dim xlApp As Object Dim xlWorkBook As Object Set xlApp = CreateObject(“Excel.Application”)
xlApp.Visible = True
设置xlWorkBook = xlApp.Workbooks.Open(“文件path\文件名..xlsm”,True,False)
设置xlApp =没有设置xlWorkBook = Nothing AppActivate“Microsoft PowerPoint”
结束小组
现在得到手动链接更新作为VBA代码的一部分…
如果您捕获您的macros所在的文件。这只是您的path和文件名的string
'This is the macro file MacroFile = ActivePresentation.FullName
然后,您可以使用该variables来激活该特定的PowerPoint演示文稿。
使用演示文稿(MacroFile)。激活或演示文稿(MacroFile).Updatelinks
在应用程序之间移动时最好不要使用ActivePresentation。