位置とアニメーション効果/順序を保持しながら、PowerPoint2010 プレゼンテーションのすべての方程式を画像に変換するマクロを準備しようとしています。
ここで提供されたヒント(Steve Rindsberg のおかげ) に基づいて、スクリプトを次のように変更しました。
Sub ConvertAllShapesToPic()
Dim oSl As Slide
Dim oSh As Shape
On Error Resume Next
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
' modify the following depending on what you want to
' convert
Select Case oSh.Type
Case msoTextBox, msoEmbeddedOLEObject, msoLinkedOLEObject
ConvertShapeToPic oSh
Case Else
End Select
Next
Next
NormalExit:
Exit Sub
ErrorHandler:
Resume Next
End Sub
Sub ConvertShapeToPic(ByRef oSh As Shape)
Dim oNewSh As Shape
Dim oSl As Slide
Set oSl = oSh.Parent
oSh.Copy
Set oNewSh = oSl.Shapes.PasteSpecial(ppPasteEnhancedMetafile)(1)
oSh.PickupAnimation
oNewSh.ApplyAnimation
With oNewSh
.Left = oSh.Left
.Top = oSh.Top
Do
.ZOrder (msoSendBackward)
Loop Until .ZOrderPosition = .ZOrderPosition
.AnimationSettings.AnimationOrder = oSh.AnimationSettings.AnimationOrder
End With
oSh.Delete
NormalExit:
Exit Sub
ErrorHandler:
Resume Next
End Sub
このスクリプトの問題:
- すべての方程式が画像に変換されていません。
- 方程式のない一部のテキスト ボックスは、内部のアニメーション効果 (クリック時に 2 番目の箇条書きテキストを表示するなど) を失います。
このスクリプトを作成する理由は、PowerPoint 2010 を Articulate プレゼンテーションに変換すると、Articulate 09 が PPT2010 の数式を完全にサポートしていないため、数式が適切にレンダリングされないためです。
私は 100 を超える PPT を持っており、ほぼすべてのスライドに数式が含まれています。プログラムによる方法がなければ、すべての方程式を手動で変換し、アニメーション効果を再適用するしかありません!
あなたが提供できる助けに感謝します:-)
ありがとう!