Различные шаблоны 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
Тогда все работает так, как вы ожидаете. Или, по крайней мере, он работает одинаково с обоими шаблонами.