![](/img/trans.png)
[英]Excel VBA Can't SaveAs Embedded PowerPoint Presentation in Office 2016
[英]Powerpoint 2016 VBA Pictures
我對這一切都有點新意,讓我自己有一個項目,並想知道我是否能得到一點指導。
我會為你設置場景。 我有一個功率點它有3層圖片,它們都是卡片。 背面層是我的占位符只是隨機和價值的隨機卡。 第二層是一層Ace,最后一層是卡背。 我有20套這3張圖片我設置了一個很好的小旋轉過渡,所以你點擊它們旋轉的卡片的觸發器,他們ace將每次出現,因為它在占位符之前。
這個想法是我有1個宏,這是我的重置,它會使用ZOrder msoSendToBack將它們全部推到后面。
然后需要首先顯示第二個宏,然后將3個aces隨機地前移3次以使它們與該層內聯。 現在我面臨的問題是VBA代碼。
Sub Reset()
ActiveWindow.Selection.SlideRange.Shapes("Picture29").Select
ActiveWindow.Selection.ShapeRange.ZOrder msoSendToBack
End Sub
這是我通過一般查找找到的代碼。
我會很感激任何指導或建議,我意識到我可能會以更難的方式這樣做。 我只是一名軟件工程專業的學生,所以我對此很新。 但是我對C#或Java更強。 但老實說,任何東西都會被貶低。
首先,避免選擇ANYTHING,除非它完全不可避免。 這將產生同樣的效果:
Sub Reset()
With ActiveWindow.Selection.SlideRange.Shapes("Picture29")
.ZOrder msoSendToBack
End With
End Sub
由於你必須處理多個形狀,我傾向於使用標簽。 例如,選擇一個形狀,然后運行:
Sub BackLayer()With ActiveWindow.Selection.ShapeRange(1).Tags.Add“Layer”,“Back”End with End Sub
對每個背圖層項執行此操作,然后類似地標識其他圖層形狀。 然后在使用中,[aircode alert!]
Sub Reset()
Dim oSh as Shape
For Each oSh in ActiveWindow.Selection.SlideRange(1)
If oSh.Tags("Layer") = "Back" Then
oSh.Zorder msoSendToBack
End If
' Add further IF tests to identify other layers
' and deal with them appropriately
Next
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.