2013-02-26 73 views
0

我在PowerPoint2010中編寫了一個VBA應用程序,它添加了不同的形狀並自動命名它們。VBA:無法將ppAutoSizeMixed分配給TextBox.TextFrame.AutoSize

現在我想改變這有三種可能的值Textbox.TextFrame.AutoSize屬性:-2,0和1

如果我嘗試分配ppAutoSizeMixed用VBA我得到一個「超出範圍」例外。 0和1我可以毫不費力地分配。

Debug.Print ActiveWindow.Selection.SlideRange.Shapes(1).TextFrame.AutoSize //-2 
ActiveWindow.Selection.SlideRange.Shapes(1).TextFrame.AutoSize = ppAutoSizeNone //0 
ActiveWindow.Selection.SlideRange.Shapes(1).TextFrame.AutoSize 
= ppAutoSizeMixed//-2: exception 

我可以用PowerPoint更改值,但不能用VBA。是否有人知道這個問題,並知道如何解決它?

謝謝!

+0

-2 /混合就是PPT手中回來的時候,例如文本範圍有大膽應用到一些範圍但不是所有的。將它作爲屬性應用並不合理。然而,將混合格式應用於對象會將該屬性的值變爲混合。在AutoSize的情況下,你期望將它設置爲Mixed來完成? – 2013-02-26 20:35:24

+0

謝謝你的回答。我想要實現的是,如果文本框中的文本變得更長,字體會自動調整大小。我認爲通過設置AutoSize爲ppAutoSizeMixed這是可能的,但現在我明白爲什麼值是-2。但是沒有辦法通過調整字體大小來激活設置嗎? – hy13 2013-02-28 10:11:10

回答

1

OK,在這裏你去:假設在奧什到你的形狀參考:

With oSh 
    .TextFrame2.AutoSize = 2 
End With 
相關問題