Проблеми с Shape.Height и Shape.Width в PowerPoint 2013

Използвам малък VBA скрипт, за да приложа някакъв текст във фонов режим. Скриптът работи добре на PowerPoint 2007 и PowerPoint 2010.

В PowerPoint 2013 обаче настройката на Shape.Height и Shape.Width няма ефект. Ето фрагмента от кода. Всяка помощ ще бъде оценена.

Public Sub applyWatermark()

Dim curDesign As Design
Set curDesign = ActivePresentation.Designs.Item(1)
Dim masterSlide As Master
Set masterSlide = curDesign.SlideMaster

Dim shape As shape
Set shape = masterSlide.Shapes.AddTextbox(msoShapeRectangle, 0#, 0#, 100#, 100#)

shape.TextEffect.Text = "Watermark"

' Setting height and width works fine on PPT 2010 but does not work on PPT 2013
shape.Height = 200
shape.Width = 300

shape.TextFrame2.WordWrap = msoTrue
shape.TextFrame2.WarpFormat = msoWarpFormat1
shape.Left = 200
shape.Top = 200

End Sub

person Salil Taneja    schedule 14.05.2013    source източник
comment
Опитахте ли да зададете свойствата за височина и ширина в Set shape = masterSlide.Shapes... ?? Може би така ще е по-надеждно.   -  person David Zemens    schedule 01.06.2013
comment
Публикувах този въпрос в msdn и получих заобиколно решение, за да задам warpFormat на msoWarpForm37 и това проработи.   -  person Salil Taneja    schedule 04.06.2013


Отговори (2)


Вярвам, че това е известно ограничение на екипа за разработка на MS - в някои случаи просто не се задейства правилно. Едно предложение е вместо това да промените размера на шрифта, но това не помага много, ако наистина имате нужда от определен размер на шрифта във формата.

person Community    schedule 31.05.2013
comment
Наистина. .height (и ширина, отгоре и отляво по този въпрос) са единствените места, където постоянно получавам този вид грешка, те просто няма да се задействат, освен ако не преминете през F8. Имал съм това на TextBoxes, ChartObject.PlotArea и т.н... Ако си спомням правилно, в повечето случаи, ако Select фигурата, тя ще зададе тези свойства правилно. Мразя Select, тъй като обикновено може да се избегне, но това е единственото място, което смятам, че трябва да го използвам. - person David Zemens; 01.06.2013
comment
Select е подходящо решение - дори не се бях замислял за това. - person ; 03.06.2013

Това е проблем с PowerPoint 2013.

Заобиколното решение е да зададете

Myshape.TextFrame2.WarpFormat = msoWarpFormat37

Заобиколно решение е предоставено на http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/2c1cf339-aa90-4d82-9475-0ff5f49ac1b1/.

person Salil Taneja    schedule 07.06.2013