Различные шаблоны PPT по-разному реагируют на одни и те же макросы

Я новичок здесь, поэтому я не видел возможности загружать свои файлы с проблемами, которые облегчили бы описание проблемы. Изменить: файлы здесь: https://drive.google.com/file/d/0B--IbmtX58h8TnVrdlRyUXZ5a2dEOVJBQkplVjFuVEVMVXhJ/view?usp=docslist_api и: https://drive.google.com/file/d/0B--IbmtX58h8TFR6d3FkWlZpSGFVUGF5bHVhRTR5ZTlnbXAw/view?usp=docslist_api(Спасибо за идею, Стив)

О чем это: у меня есть два документа с разными мастер-шаблонами, которые совершенно по-разному реагируют на один и тот же набор макросов, и я понятия не имею, как и почему это может произойти и как это исправить или избежать.

Два макроса просто создают объекты - один представляет собой одно текстовое поле, другой - группу прямоугольника и текстовое поле. Первое упомянутое появляется в позиции, определенной в коде в одном из шаблонов, но чуть ниже его в другом. Еще более странным является поведение группы. Прямоугольник появляется в правильном положении в обоих шаблонах, текстовое поле только в одном из них.

Далее идет макрос для увеличения абзаца между строками текста на 3 пункта. Он отлично работает в одном шаблоне, но в другом шаблоне увеличивает интервал на 43,2 пункта!

Макрос номер четыре сделан для того, чтобы вернуть пространство абзаца после возврата к 0. Этот отлично работает в обоих шаблонах.

Как ни странно, ошибки оказываются противоположными друг другу. Одиночное текстовое поле и группа выдают свою ошибку в шаблоне, где инструмент разнесения работает нормально, а инструмент разнесения делает странные вещи в шаблоне, где единственное текстовое поле и группа работают хорошо.

Любая идея будет оценена!

Спасибо, РГ

Я работаю с PowerPoint 2010.

1 ответ

Решение

Ваша сноска становится неуместной, потому что настройки текста по умолчанию в одной презентации отличаются от настроек в другой; в этом случае настройка автоподбора.

' in this section of your FOOTNOTE routine:
With .TextFrame
    ' Add this next line and it will work as expected
    .AutoSize = ppAutoSizeNone
    .TextRange.Text = "Note: " & vbCrLf & "Source: "
    .VerticalAnchor = msoAnchorBottom

Аналогично, в вашей подпрограмме SectionMarker:

With .TextFrame
     ' add this
    .AutoSize = ppAutoSizeNone
    ' then the rest of your code

Тогда все работает так, как вы ожидаете. Или, по крайней мере, он работает одинаково с обоими шаблонами.

Другие вопросы по тегам