0
使用vba始終位於頂部可以在PowerPoint中創建形狀?我嘗試查看形狀(x).zOrder的選項。我選擇msoBringToFront,但是當我創建另一個形狀時,新的形狀是最上面的形狀。vba創建一個始終位於頂部的形狀
我檢查具有幻燈片的事件,但創建形狀時沒有事件......僅在創建幻燈片時纔有事件。有沒有其他方法?
使用vba始終位於頂部可以在PowerPoint中創建形狀?我嘗試查看形狀(x).zOrder的選項。我選擇msoBringToFront,但是當我創建另一個形狀時,新的形狀是最上面的形狀。vba創建一個始終位於頂部的形狀
我檢查具有幻燈片的事件,但創建形狀時沒有事件......僅在創建幻燈片時纔有事件。有沒有其他方法?
繼我的意見,那麼你可以嘗試這樣的:
1)創建一個類,並添加下面的示例代碼
Private WithEvents mApplication As Application
Private mMyShape As Shape
Public Property Set Application(App As Application)
Set mApplication = App
End Property
'and Getter if necessary
Public Property Set MyShape(shp As Shape)
Set mMyShape = shp
End Property
'and Getter if necessary
Private Sub mApplication_WindowSelectionChange(ByVal Sel As Selection)
mMyShape.ZOrder msoBringToFront
End Sub
2)創建一個標準模塊並添加下面的示例代碼。
Sub blah()
Dim c1 As Class1
Set c1 = New Class1
Set c1.Application = Application
Set c1.MyShape = 'your shape
End Sub
上述工作適用於Powerpoint 2007以上。 AfterDragDropOnSlide
事件可能更合適,但僅在Powerpoint 2013中添加。此處使用的事件將在每次選擇更改時觸發,因此應確保幾乎始終保持形狀。
事件的引用: WindowSelectionChange:http://msdn.microsoft.com/en-us/library/bb231084%28v=office.12%29.aspx
見http://msdn.microsoft.com/en-us/library/office/jj227644%28v=office.15%29.aspx事件的列表。 'AfterDragDropOnSlide'應該是合適的。如果失敗'WindowSelectionChange'顯然是後備選項。有關Ppt 2007等效事件,請參閱http://msdn.microsoft.com/en-us/library/bb231084%28v=office.12%29.aspx。 2007年沒有相當於AfterDragDropOnSlide。 –
看到我下面發佈的示例。 –
對我的建議有幫助嗎?如果不是,爲什麼不呢?你能解決這個問題嗎? –