我需要能够确定两个演示文稿中的(某些)幻灯片是否相同。基本上每月更新一次主演示文稿,并存档以前的版本。幻灯片顺序保持不变,只是可能的幻灯片内容已更改。麻烦是......
deck1.Slides(i)=deck2.Slides(i)
......没有工作,而且......
deck1.Slides(i).SlideID=deck2.Slides(i).SlideID
...即使幻灯片内容已更改,也会返回相同的值。
我想知道校验和幻灯片是否可行,但我还没有找到任何可以实现此目的的东西 - 我遇到的VBA校验和例程包括仅用于文本字符串。校验和幻灯片或对象是否可能,或者我错过了一些明显的东西?
答案 0 :(得分:0)
虽然这绝不是一个可随时部署的解决方案,但这可能会提供一个起点,前提是您的具体任务是在看似相同的演示文稿中检查已更改的文本内容。
我将其缩小到比较幻灯片1上文本框(形状类型14)的文本内容以进行此演示。
Sub Neu()
Dim ppt As New PowerPoint.Application
Dim i As Integer, j As Integer
i = 1
For j = 1 To ppt.Presentations(1).Slides(i).Shapes.Count
If ppt.Presentations(1).Slides(i).Shapes(j).Type = 14 And _
Presentations(2).Slides(i).Shapes(j).Type = 14 Then _
Debug.Print _
ppt.Presentations(1).Slides(i).Shapes(j).TextFrame.TextRange.Text = _
Presentations(2).Slides(i).Shapes(j).TextFrame.TextRange.Text
Next j
End Sub
一般说明:
Shape(Index) = Shapes.Count+1
,但你永远不会知道人们对你做了什么
呈现... 希望有人想出一个更优雅的方法来解决这个问题!