Проблем с генерирането на презентацията.
Здравейте, как да отстраня грешката? Variable not defined. Не намерих подобна в предишните дискусии.

Здравейте, Яна,
Грешката "Variable not defined" при генериране на презентацията
Тази грешка във VBA кода означава, че се използва променлива или константа, която не е предварително декларирана или дефинирана. В случая на скрийншота, проблемът е с ppSlideSizeOnScreen16x9.
Това име е специална константа, която се използва за задаване на размер на слайда и трябва да бъде разпозната от PowerPoint. Ако тя не е, причината обикновено е:
- Липсваща препратка (reference) към PowerPoint Object Library.
Как да го поправите:
- Във Visual Basic Editor (VBE) изберете от менюто
Tools→References(Инструменти → Препратки). - В списъка отбележете Microsoft PowerPoint xx.0 Object Library (в зависимост от вашата версия на Office).
- Натиснете
OK, затворете прозореца и стартирайте отново кода.
Алтернатива, ако ползвате само стандартен код:
Ако не искате да добавяте препратки, заменете ppSlideSizeOnScreen16x9 с числовата стойност, която тя
Здравейте, това което давате като предложение е отбелязано при мен, тоест
Алтернативата не я виждам, не ми излиза коментарът ви до край...
Здравейте, Яна, проблемът Ви възниква, защото в началото на Вашия код вероятно е активирана настройката Option Explicit, която изисква всяка променлива да бъде предварително декларирана, а променливата ppSlideSizeWidescreen (която е маркирана на екранната снимка) не е разпозната от системата.
Въпреки че сте заредили библиотеките, понякога специфични константи не се зареждат правилно или има печатна грешка в името им.
Ето как да отстраните грешката стъпка по стъпка:
1. Деклариране на променливата ръчно
Най-бързият начин да поправите това, без да променяте настройките на редактора, е да дефинирате константата ръчно в кода си.
- Отидете в началото на Вашата процедура
Sub Generate_AI_Forwarding_Deck_From_DOCX(). - Добавете следния ред код веднага след заглавието на процедурата:
Const ppSlideSizeWidescreen As Integer = 4 - Опитайте да стартирате макроса отново.
2. Проверка на изписването
Уверете се, че редът, който предизвиква грешката, е изписан точно така:
pres.PageSetup.SlideSize = ppSlideSizeWidescreen
Ако има дори една изпусната буква, VBA ще я третира като нова, недефинирана променлива.
3. Алтернативен вариант (използване на директна стойност)
Ако горните стъпки не помогнат, можете да замените името на променливата с нейната числена стойност, която съответства на Widescreen формат в PowerPoint:
- Заменете реда:
pres.PageSetup.SlideSize = ppSlideSizeWidescreen - Със следния ред:
pres.PageSetup.SlideSize = 4
Важно уточнение: Тъй като използвате Microsoft PowerPoint 16.0 Object Library, тези константи би трябвало да са налични, но ръчното им деклариране е стандартна практика при работа в режим Option Explicit, за да се избегнат точно такива компилационни грешки.