簡體   English   中英

VBA PowerPoint創建所有類型的形狀

[英]VBA PowerPoint create all type of shapes

我正在vba中為powerpoint開發一些功能。 現在要測試我的解決方案,我需要在幻燈片上具有所有形狀類型的PowerPoint幻燈片。

其中一些listet易於創建:

https://msdn.microsoft.com/de-de/library/office/Ff744590.aspx

但是其他諸如類型= msoOLEControlObject或= msoEmbeddedOLEOLE或= msoplaceholder之類的我不知道如何創建。 但是我需要所有不同的shape.types。

知道如何自動創建它們嗎?

我試圖這樣做:

        Sub CreateShapeType()
        Dim slnr

        slnr = ActiveWindow.Selection.SlideRange.SlideNumber
        Set myDocument = ActivePresentation.Slides(slnr)
        myDocument.Shapes.AddShape Type:=msoOLEControlObject, _
            left:=100, top:=50, Width:=100, Height:=200

        End Sub

即使確實創建了某些內容-當我控制形狀時,它們也不具有“ msoOLEControlObject”類型。

帶有循環的自動創建將是完美的。 請參見以下示例(它適用,但僅適用於所有自動形狀):

        Sub CreateAutoshapes()
          Dim i As Integer
          Dim slnr, t As Integer
          Dim shp As Shape

          slnr = ActiveWindow.Selection.SlideRange.SlideNumber
          t = 10
          For i = 1 To 137
            Set shp = ActivePresentation.Slides(slnr).Shapes.AddShape(i, 100, t, 60, 60)
            shp.TextFrame.TextRange.Characters.Text = i
            t = t + 70
          Next
          ' skip 138 - not supported
          If CInt(Application.Version) >= 12 Then
            For i = 139 To 183
              Set shp = ActiveSheet.Shapes.AddShape(i, 100, t, 60, 60)
              shp.TextFrame.TextRange.Characters.Text = i
              t = t + 70
            Next
          End If
        End Sub

知道如何創建所有不同的類型嗎?

非常感謝您的幫助。

對於每種形狀類型都有特定的方法可用。 AddShape特定於AutoShapes。

查看其他方法,例如AddOLEObject,AddPlaceholder,AddPicture,AddTable,AddSmartArt等,以添加其他形狀類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM