Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - PowerPoint автоматическое создание слайдов

Ответить
Настройки темы
VBA - PowerPoint автоматическое создание слайдов

Аватара для morebeauty

Старожил


Сообщения: 210
Благодарности: 29

Профиль | Отправить PM | Цитировать


На телевизоре крутятся презентации и видео. В том числе есть презентация с днями рождения сотрудников на неделю. Если честно это очень надоедает. Хотелось бы, чтобы запускался первый титульный слайд, а он бы уже формировал все последующие в зависимости от даты и вставлял нужную фото из папки. Даже не знаю с какой стороны к этому подойти. Ну, точнее понимаю что нужно через VBA, но все, что я могу сделать на VB - это написать какую-либо функцию или процедуру без взаимодействия с элементами презентации

Отправлено: 08:08, 05-05-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата morebeauty:
зачем мне нужен объект exlDoc, если к ячейкам я обращаюсь через exlApp? »
А Вы не обращайтесь. Работайте с Range нормально, через Excel → Workbook → Worksheet → Range.

Отправлено: 16:00, 06-05-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Я делал N лет назад подобную штуку (вроде до сих пор работает) - показывать погоду из интернета по телевизору (Это частный случай; в общем случае генерил контент для кабельного канала).
Цитата morebeauty:
вопрос про будущие подводные камни. »
Проблемы
№1: "Нажмите ESC чтобы закрыть презентацию". Решается предварительной установкой галочки в PP
№2: "Не запущу скрипты, т.к. опасно". Скрипты запускаются через wscript, генерят презентации без скриптов. В таком варианте работает
№3: "Не могу сгенерить контент (недоступен интернет)". Посылаем сообщение админу, показываем разные цветочки на экране
№4: "Юзверь". Вообще мне попались умные девочки (которые настраивали презентации). Но и правило я придумал несложное: использование "тегов", т.е. ключевых слов на русском языке в угловых скобках.
№5: "Race condition". Нельзя правиль презентацию в той папке, откуда идёт показ. Лучше туда копировать уже поправленное. А перед показом копировать презентацию в недоступное извне место.

Вообще этот подход себя порошо показал (просто, быстро, надёжно). Главная заноза - правообладатели.

Отправлено: 17:44, 06-05-2014 | #12


Аватара для morebeauty

Старожил


Сообщения: 210
Благодарности: 29

Профиль | Отправить PM | Цитировать


Не могу найти еще кое что. Нужна помощь.

Все объекты (заголовок, текст, картинка) уже вшиты в макет для удобства.

Меняю заголовок так:
curSlide.Shapes.Title.TextFrame.TextRange = "Заголовок"

текст так:
curSlide.Shapes(2).TextFrame.TextRange = "Текст"

а вот с картинкой беда. Создать ее программно с нуля можно, но хотелось бы иметь возможность обратиться к уже созданному объекту.
Если делаю так:
curSlide.Shapes(1).Fill.UserPicture "...Pic.jpg"
то просто внутрь шейпа вставляется картинка как фон. То есть даже остается текст, видимый в режиме конструктора (вставить рисунок) и в центре шейпа так и остается пиктограмма, по щелчку на которую можно вставить рисунок.
А мне нужен код, симулирующий нажатие на эту пиктограмму (минуя диалог выбора файла). Когда я вставляю рисунок таким образом (по пиктограмме), он не растягивается и не сжимается, он обрезается и встает центром в мой шейп. То есть в меню обрезки после этого я могу как надо его подвинуть.
К сожалению записи макросов в 2010 офисе нет. В 2007 тоже. Ставить 2003 ради этого не хочется, муторно это. Помогите если сможете.

Отправлено: 09:32, 07-05-2014 | #13

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Гуголь написал много томов...
http://msdn.microsoft.com/en-us/libr...ice.15%29.aspx
http://support.microsoft.com/KB/168649

Отправлено: 16:08, 07-05-2014 | #14


Аватара для morebeauty

Старожил


Сообщения: 210
Благодарности: 29

Профиль | Отправить PM | Цитировать


Цитата pva:
Гуголь написал много томов... »
Много, и ничего по моему вопросу.

Shapes.AddPicture не для моего случая. Я могу и ошибаться, но запустите powerpoint и сделайте то что я сейчас напишу, тогда вы поймете, чего я хочу (с учетом что у вас офис версии не ниже 2007).

1. Создайте новую презентацию
2. В первом слайде, который создастся автоматически, выберите дефолтный макет, в котором уже есть шейп для рисунка.
3. Щелкните по пиктограмме рисунка и в проводнике выберите рисунок, по размеру превышающий рамку. При этом вы увидите, что рисунок вставился в заполнитель и пиктограмма с рисунком пропала. Думаете, в этот момент выполнилось Shapes.AddPicture? Очень сомневаюсь. В заполнитель вставилась картинка. Если теперь выделить картинку и нажать Del (удалить), то заполнитель останется пустым.
4. Теперь зайдите на вкладку "Вставка", выберите рисунок, выберите в проводнике картинку по тем же параметрам что и в п3, и........
О чудо!!! Получилось то же самое что и в 3 действии! Картинка вставилась в заполнитель, который уже есть на слайде. Встал центром в предназначенную для него рамку, а выходящие за рамку края обрезались! Самый прикол в том, что пока я это писал, сам же и проделывал, а до этого не знал, что Shapes.AddPicture точно так же вставит картинку в заполнитель, наплевав на отправленные параметры в методе (например left и top я установил равными 0, а картинка все равно вставилась в заполнитель как захотела). И блин в MSDN про это не сказано ни слова!
Короче получилось как мне и было нужно, всем спасибо.

Тему пока не ставлю как решенную, потому что могут возникнуть вопросы с программированием анимации, а это тоже входит в сабж. )

Последний раз редактировалось morebeauty, 08-05-2014 в 06:43.


Отправлено: 06:17, 08-05-2014 | #15

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата morebeauty:
И блин в MSDN про это не сказано ни слова! »
У микрософт бывает что-то недописано... привыкайте. У разработчиков обычно бывает вообще ничего не написано. Рой себе г@&#@код... свой... годичной давности...

Отправлено: 11:45, 08-05-2014 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - PowerPoint автоматическое создание слайдов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - Автоматическое создание точек восстановления stvol Microsoft Windows 7 17 16-01-2014 21:11
2010 - Создание горячих клавиш в PowerPoint Memfis09 Microsoft Office (Word, Excel, Outlook и т.д.) 1 27-03-2013 08:56
Разное - Автоматическое создание vpn подключения steepz Microsoft Windows 2000/XP 3 13-03-2011 01:25
Автоматическое создание учетной записи gpa_76 Автоматическая установка Windows 2000/XP/2003 0 06-07-2009 13:53
Outlook Express: автоматическое создание учеток storm2005 Microsoft Windows NT/2000/2003 0 13-10-2006 11:33




 
Переход